From c7efd2cae963b4db7e8b589cf20207ef7639b303 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Fri, 16 Jun 2017 13:47:01 -0700 Subject: shared-bindings: Move enum-like classes out of DigitalInOut into digitalio. Also, rename Direction.IN to Direction.INPUT and Direction.OUT to Direction.OUTPUT. This simplifies using them. Prior to the nativeio split this would have led to clutter in the top-level namespace but having digitalio prevents this. Fixes #152 --- esp8266/Makefile | 9 ++++++++- esp8266/common-hal/digitalio/DigitalInOut.c | 16 ++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) (limited to 'esp8266') diff --git a/esp8266/Makefile b/esp8266/Makefile index 00370a519..90392cd49 100644 --- a/esp8266/Makefile +++ b/esp8266/Makefile @@ -125,9 +125,16 @@ SRC_COMMON_HAL = \ time/__init__.c \ board/__init__.c +# These don't have corresponding files in each port but are still located in +# shared-bindings to make it clear what the contents of the modules are. +SRC_BINDINGS_ENUMS = \ + digitalio/Direction.c \ + digitalio/DriveMode.c \ + digitalio/Pull.c + SRC_COMMON_HAL_EXPANDED = $(addprefix shared-bindings/, $(SRC_COMMON_HAL)) \ + $(addprefix shared-bindings/, $(SRC_BINDINGS_ENUMS)) \ $(addprefix common-hal/, $(SRC_COMMON_HAL)) - SRC_SHARED_MODULE = \ bitbangio/__init__.c \ bitbangio/I2C.c \ diff --git a/esp8266/common-hal/digitalio/DigitalInOut.c b/esp8266/common-hal/digitalio/DigitalInOut.c index 356d0f3b8..ba6589d88 100644 --- a/esp8266/common-hal/digitalio/DigitalInOut.c +++ b/esp8266/common-hal/digitalio/DigitalInOut.c @@ -51,7 +51,7 @@ void common_hal_digitalio_digitalinout_deinit(digitalio_digitalinout_obj_t* self } void common_hal_digitalio_digitalinout_switch_to_input( - digitalio_digitalinout_obj_t* self, enum digitalinout_pull_t pull) { + digitalio_digitalinout_obj_t* self, enum digitalio_pull_t pull) { self->output = false; if (self->pin->gpio_number == 16) { @@ -67,7 +67,7 @@ void common_hal_digitalio_digitalinout_switch_to_input( void common_hal_digitalio_digitalinout_switch_to_output( digitalio_digitalinout_obj_t* self, bool value, - enum digitalinout_drive_mode_t drive_mode) { + enum digitalio_drive_mode_t drive_mode) { self->output = true; self->open_drain = drive_mode == DRIVE_MODE_OPEN_DRAIN; if (self->pin->gpio_number == 16) { @@ -81,9 +81,9 @@ void common_hal_digitalio_digitalinout_switch_to_output( common_hal_digitalio_digitalinout_set_value(self, value); } -enum digitalinout_direction_t common_hal_digitalio_digitalinout_get_direction( +enum digitalio_direction_t common_hal_digitalio_digitalinout_get_direction( digitalio_digitalinout_obj_t* self) { - return self->output? DIRECTION_OUT : DIRECTION_IN; + return self->output? DIRECTION_OUTPUT : DIRECTION_INPUT; } void common_hal_digitalio_digitalinout_set_value( @@ -128,7 +128,7 @@ bool common_hal_digitalio_digitalinout_get_value( void common_hal_digitalio_digitalinout_set_drive_mode( digitalio_digitalinout_obj_t* self, - enum digitalinout_drive_mode_t drive_mode) { + enum digitalio_drive_mode_t drive_mode) { bool value = common_hal_digitalio_digitalinout_get_value(self); self->open_drain = drive_mode == DRIVE_MODE_OPEN_DRAIN; // True is implemented differently between modes so reset the value to make @@ -138,7 +138,7 @@ void common_hal_digitalio_digitalinout_set_drive_mode( } } -enum digitalinout_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode( +enum digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode( digitalio_digitalinout_obj_t* self) { if (self->open_drain) { return DRIVE_MODE_OPEN_DRAIN; @@ -148,7 +148,7 @@ enum digitalinout_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode( } void common_hal_digitalio_digitalinout_set_pull( - digitalio_digitalinout_obj_t* self, enum digitalinout_pull_t pull) { + digitalio_digitalinout_obj_t* self, enum digitalio_pull_t pull) { if (pull == PULL_DOWN) { nlr_raise(mp_obj_new_exception_msg(&mp_type_OSError, "ESP8266 does not support pull down.")); @@ -166,7 +166,7 @@ void common_hal_digitalio_digitalinout_set_pull( } } -enum digitalinout_pull_t common_hal_digitalio_digitalinout_get_pull( +enum digitalio_pull_t common_hal_digitalio_digitalinout_get_pull( digitalio_digitalinout_obj_t* self) { if (self->pin->gpio_number < 16 && (READ_PERI_REG(self->pin->peripheral) & PERIPHS_IO_MUX_PULLUP) != 0) { -- cgit v1.2.3