8000 Having an input-only pin is rare, save a string on other ports · jepler/circuitpython@c46e219 · GitHub
[go: up one dir, main page]

Skip to content

Commit c46e219

Browse files
committed
Having an input-only pin is rare, save a string on other ports
1 parent 4158ddf commit c46e219

File tree

5 files changed

+14
-0
lines changed

5 files changed

+14
-0
lines changed

ports/espressif/mpconfigport.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,6 @@
9999
#define CIRCUITPY_PORT_NUM_SUPERVISOR_ALLOCATIONS (1)
100100
#endif
101101

102+
#define CIRCUITPY_DIGITALIO_HAVE_INPUT_ONLY (1)
103+
102104
#endif // MICROPY_INCLUDED_ESPRESSIF_MPCONFIGPORT_H

py/circuitpy_mpconfig.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,10 @@ void supervisor_run_background_tasks_if_tick(void);
582582
#define MICROPY_WRAP_MP_EXECUTE_BYTECODE PLACE_IN_ITCM
583583
#endif
584584

585+
#ifndef CIRCUITPY_DIGITALIO_HAVE_INPUT_ONLY
586+
#define CIRCUITPY_DIGITALIO_HAVE_INPUT_ONLY (0)
587+
#endif
588+
585589
#ifndef CIRCUITPY_DIGITALIO_HAVE_INVALID_PULL
586590
#define CIRCUITPY_DIGITALIO_HAVE_INVALID_PULL (0)
587591
#endif

shared-bindings/adafruit_bus_device/spi_device/SPIDevice.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,13 @@ STATIC mp_obj_t adafruit_bus_device_spidevice_make_new(const mp_obj_type_t *type
105105
if (args[ARG_chip_select].u_obj != MP_OBJ_NULL) {
106106
digitalinout_result_t result = common_hal_digitalio_digitalinout_switch_to_output(MP_OBJ_TO_PTR(args[ARG_chip_select].u_obj),
107107
true, DRIVE_MODE_PUSH_PULL);
108+
#if CIRCUITPY_DIGITALIO_HAVE_INPUT_ONLY
108109
if (result == DIGITALINOUT_INPUT_ONLY) {
109110
mp_raise_NotImplementedError(translate("Pin is input only"));
110111
}
112+
#else
113+
(void)result;
114+
#endif
111115
}
112116

113117
return (mp_obj_t)self;

shared-bindings/digitalio/DigitalInOut.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ STATIC void check_result(digitalinout_result_t result) {
5353
return;
5454
case DIGITALINOUT_PIN_BUSY:
5555
mp_raise_ValueError_varg(translate("%q in use"), MP_QSTR_Pin);
56+
#if CIRCUITPY_DIGITALIO_HAVE_INPUT_ONLY
5657
case DIGITALINOUT_INPUT_ONLY:
5758
mp_raise_ValueError_varg(translate("Invalid %q"), MP_QSTR_direction);
59+
#endif
5860
#if CIRCUITPY_DIGITALIO_HAVE_INVALID_PULL
5961
case DIGITALINOUT_INVALID_PULL:
6062
mp_raise_ValueError_varg(translate("Invalid %q"), MP_QSTR_pull);

shared-bindings/digitalio/DigitalInOut.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ extern const mp_obj_type_t digitalio_digitalinout_type;
3838
typedef enum {
3939
DIGITALINOUT_OK,
4040
DIGITALINOUT_PIN_BUSY,
41+
#if CIRCUITPY_DIGITALIO_HAVE_INPUT_ONLY
4142
DIGITALINOUT_INPUT_ONLY,
43+
#endif
4244
#if CIRCUITPY_DIGITALIO_HAVE_INVALID_PULL
4345
DIGITALINOUT_INVALID_PULL,
4446
#endif

0 commit comments

Comments
 (0)
0