10000 Merge pull request #3612 from gamblor21/bus_device · adafruit/circuitpython@1130b80 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1130b80

Browse files
authored
Merge pull request #3612 from gamblor21/bus_device
Moving Adafruit_CircuitPython_BusDevice to core
2 parents 348392f + cb863e4 commit 1130b80

File tree

37 files changed

+885
-14
lines changed

37 files changed

+885
-14
lines changed

locale/circuitpython.pot

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,8 @@ msgstr ""
498498
msgid "Buffer must be a multiple of 512 bytes"
499499
msgstr ""
500500

501-
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
501+
#: shared-bindings/bitbangio/I2C.c shared-bindings/busdevice/I2CDevice.c
502+
#: shared-bindings/busio/I2C.c
502503
msgid "Buffer must be at least length 1"
503504
msgstr ""
504505

@@ -1295,6 +1296,11 @@ msgstr ""
12951296
msgid "No DMA channel found"
12961297
msgstr ""
12971298

1299+
#: shared-module/busdevice/I2CDevice.c
1300+
#, c-format
1301+
msgid "No I2C device at address: %x"
1302+
msgstr ""
1303+
12981304
#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
12991305
#: ports/stm/common-hal/busio/SPI.c
13001306
msgid "No MISO Pin"

ports/atmel-samd/boards/8086_commander/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ SUPEROPT_GC = 0
1919
CFLAGS_INLINE_LIMIT = 60
2020

2121
CIRCUITPY_GAMEPAD = 1
22+
CIRCUITPY_BUSDEVICE = 1
2223

2324
# Include these Python libraries in firmware.
24-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2525
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
2626
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
2727
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ADXL34x

ports/atmel-samd/boards/bdmicro_vina_d21/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ CIRCUITPY_BITBANGIO = 0
1515
CIRCUITPY_COUNTIO = 0
1616
CIRCUITPY_I2CPERIPHERAL = 0
1717
CIRCUITPY_VECTORIO = 0
18+
CIRCUITPY_BUSDEVICE = 0
1819

1920
CFLAGS_INLINE_LIMIT = 60
2021
SUPEROPT_GC = 0

ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ SUPEROPT_GC = 0
2121
CFLAGS_INLINE_LIMIT = 55
2222

2323
# Include these Python libraries in firmware.
24-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2524
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
2625
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
2726
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH

ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ CFLAGS_INLINE_LIMIT = 50
2525

2626

2727
# Include these Py EF5E thon libraries in firmware.
28-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2928
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
3029
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
3130
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH

ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ SUPEROPT_GC = 0
2626
CFLAGS_INLINE_LIMIT = 55
2727

2828
# Include these Python libraries in firmware.
29-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
3029
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
3130
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
3231
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

ports/atmel-samd/boards/dynossat_edu_eps/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ CIRCUITPY_FREQUENCYIO = 0
1818
CIRCUITPY_COUNTIO = 0
1919
CIRCUITPY_I2CPERIPHERAL = 1
2020
CIRCUITPY_VECTORIO = 0
21+
CIRCUITPY_BUSDEVICE = 0
2122
CIRCUITPY_DISPLAYIO = 0
2223
CIRCUITPY_TOUCHIO = 0
2324
CIRCUITPY_ROTARYIO = 0

ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ CIRCUITPY_FREQUENCYIO = 0
1616
CIRCUITPY_COUNTIO = 0
1717
CIRCUITPY_I2CPERIPHERAL = 0
1818
CIRCUITPY_VECTORIO = 0
19+
CIRCUITPY_BUSDEVICE = 0
1920

2021
CFLAGS_INLINE_LIMIT = 60
2122
SUPEROPT_GC = 0

ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ CIRCUITPY_GAMEPAD = 0
2020
CFLAGS_INLINE_LIMIT = 50
2121

2222
# Include these Python libraries in firmware.
23-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2423
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
2524
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Motor
2625
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

ports/atmel-samd/boards/feather_m0_rfm69/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ CIRCUITPY_SAMD = 0
2121
CIRCUITPY_USB_MIDI = 0
2222
CIRCUITPY_USB_HID = 0
2323
CIRCUITPY_TOUCHIO = 0
24+
CIRCUITPY_BUSDEVICE = 1
2425
CFLAGS_INLINE_LIMIT = 35
2526

2627
# Make more room.
2728
SUPEROPT_GC = 0
2829

2930
# Include these Python libraries in firmware.
30-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
3131
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM69

ports/atmel-samd/boards/feather_m0_rfm9x/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ CIRCUITPY_SAMD = 0
2222
CIRCUITPY_USB_MIDI = 0
2323
CIRCUITPY_USB_HID = 0
2424
CIRCUITPY_TOUCHIO = 0
25+
CIRCUITPY_BUSDEVICE = 1
2526

2627
CFLAGS_INLINE_LIMIT = 35
2728
# Make more room.
2829
SUPEROPT_GC = 0
2930

3031
# Include these Python libraries in firmware.
31-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
3232
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM9x

ports/atmel-samd/boards/feather_m0_supersized/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ CIRCUITPY_COUNTIO = 0
1717
CIRCUITPY_I2CPERIPHERAL = 0
1818
# supersized, not ultra-supersized
1919
CIRCUITPY_VECTORIO = 0
20+
CIRCUITPY_BUSDEVICE = 0
2021

2122
CFLAGS_INLINE_LIMIT = 60
2223
SUPEROPT_GC = 0

ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ CFLAGS_INLINE_LIMIT = 55
2727
SUPEROPT_GC = 0
2828

2929
# Include these Python libraries in firmware.
30-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
3130
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
3231
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
3332

ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ CIRCUITPY_BITBANGIO = 0
1515
CIRCUITPY_COUNTIO = 0
1616
CIRCUITPY_I2CPERIPHERAL = 0
1717
CIRCUITPY_VECTORIO = 0
18+
CIRCUITPY_BUSDEVICE = 0
1819

1920
CFLAGS_INLINE_LIMIT = 60
2021
SUPEROPT_GC = 0

ports/atmel-samd/boards/pycubed/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ CIRCUITPY_GAMEPAD = 0
2121
CIRCUITPY_RGBMATRIX = 0
2222
CIRCUITPY_PS2IO = 0
2323

24-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2524
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
2625
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
2726
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD

ports/atmel-samd/boards/pycubed_mram/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ CIRCUITPY_GAMEPAD = 0
2121
CIRCUITPY_RGBMATRIX = 0
2222
CIRCUITPY_PS2IO = 0
2323

24-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
2524
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
2625
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
2726
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD

ports/atmel-samd/boards/sam32/mpconfigboard.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,4 @@ LONGINT_IMPL = MPZ
1313
CIRCUITPY_AUDIOBUSIO = 0
1414
CIRCUITPY_USTACK = 1
1515

16-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
1716
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

ports/atmel-samd/boards/snekboard/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ CIRCUITPY_BITBANGIO = 0
1515
CIRCUITPY_GAMEPAD = 0
1616
CIRCUITPY_I2CPERIPHERAL = 0
1717
CIRCUITPY_VECTORIO = 0
18+
CIRCUITPY_BUSDEVICE = 0
1819

1920
CFLAGS_INLINE_LIMIT = 60
2021

ports/atmel-samd/boards/sparkfun_redboard_turbo/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ CIRCUITPY_COUNTIO = 0
1616
CIRCUITPY_GAMEPAD = 0
1717
CIRCUITPY_I2CPERIPHERAL = 0
1818
CIRCUITPY_VECTORIO = 0
19+
CIRCUITPY_BUSDEVICE = 0
1920

2021
CFLAGS_INLINE_LIMIT = 60
2122
SUPEROPT_GC = 0

ports/atmel-samd/boards/xinabox_cc03/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ CIRCUITPY_PULSEIO=0
2121
CIRCUITPY_ROTARYIO=0
2222
CIRCUITPY_TOUCHIO_USE_NATIVE=0
2323
CIRCUITPY_TOUCHIO=0
24+
CIRCUITPY_BUSDEVICE=1
2425

2526
# Include these Python libraries in firmware.
26-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice

ports/atmel-samd/boards/xinabox_cs11/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ CIRCUITPY_TOUCHIO=0
2424
CIRCUITPY_USB_MIDI=0
2525
CIRCUITPY_RTC=0
2626
CIRCUITPY_COUNTIO=0
27+
CIRCUITPY_BUSDEVICE=1
2728

2829
# Include these Python libraries in firmware.
29-
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
3030
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD

ports/litex/mpconfigport.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ CIRCUITPY_AUDIOIO = 0
1818
CIRCUITPY_BITBANGIO = 0
1919
CIRCUITPY_BLEIO_HCI = 0
2020
CIRCUITPY_BOARD = 0
21+
CIRCUITPY_BUSDEVICE = 0
2122
CIRCUITPY_BUSIO = 0
2223
CIRCUITPY_COUNTIO = 0
2324
CIRCUITPY_DISPLAYIO = 0

ports/nrf/boards/simmel/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ CIRCUITPY_RTC = 1
2525
CIRCUITPY_TOUCHIO = 0
2626
CIRCUITPY_ULAB = 0
2727
CIRCUITPY_WATCHDOG = 1
28+
CIRCUITPY_BUSDEVICE = 0
2829

2930
# Enable micropython.native
3031
#CIRCUITPY_ENABLE_MPY_NATIVE = 1

py/circuitpy_defns.mk

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@ endif
136136
ifeq ($(CIRCUITPY_BOARD),1)
137137
SRC_PATTERNS += board/%
138138
endif
139+
ifeq ($(CIRCUITPY_BUSDEVICE),1)
140+
SRC_PATTERNS += adafruit_bus_device/%
141+
endif
139142
ifeq ($(CIRCUITPY_BUSIO),1)
140143
SRC_PATTERNS += busio/% bitbangio/OneWire.%
141144
endif
@@ -437,6 +440,9 @@ SRC_SHARED_MODULE_ALL = \
437440
bitbangio/SPI.c \
438441
bitbangio/__init__.c \
439442
board/__init__.c \
443+
adafruit_bus_device/__init__.c \
444+
adafruit_bus_device/I2CDevice.c \
445+
adafruit_bus_device/SPIDevice.c \
440446
busio/OneWire.c \
441447
canio/Match.c \
442448
canio/Message.c \

py/circuitpy_mpconfig.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,13 @@ extern const struct _mp_obj_module_t board_module;
336336
#define BOARD_UART_ROOT_POINTER
337337
#endif
338338

339+
#if CIRCUITPY_BUSDEVICE
340+
extern const struct _mp_obj_module_t adafruit_bus_device_module;
341+
#define BUSDEVICE_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_adafruit_bus_device), (mp_obj_t)&adafruit_bus_device_module },
342+
#else
343+
#define BUSDEVICE_MODULE
344+
#endif
345+
339346
#if CIRCUITPY_BUSIO
340347
extern const struct _mp_obj_module_t busio_module;
341348
#define BUSIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_busio), (mp_obj_t)&busio_module },
@@ -792,6 +799,7 @@ extern const struct _mp_obj_module_t wifi_module;
792799
BITBANGIO_MODULE \
793800
BLEIO_MODULE \
794801
BOARD_MODULE \
802+
BUSDEVICE_MODULE \
795803
BUSIO_MODULE \
796804
CAMERA_MODULE \
797805
CANIO_MODULE \

py/circuitpy_mpconfig.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ CFLAGS += -DCIRCUITPY_BLEIO=$(CIRCUITPY_BLEIO)
9696
CIRCUITPY_BOARD ?= 1
9797
CFLAGS += -DCIRCUITPY_BOARD=$(CIRCUITPY_BOARD)
9898

99+
CIRCUITPY_BUSDEVICE ?= $(CIRCUITPY_FULL_BUILD)
100+
CFLAGS += -DCIRCUITPY_BUSDEVICE=$(CIRCUITPY_BUSDEVICE)
101+
99102
CIRCUITPY_BUILTINS_POW3 ?= $(CIRCUITPY_FULL_BUILD)
100103
CFLAGS += -DCIRCUITPY_BUILTINS_POW3=$(CIRCUITPY_BUILTINS_POW3)
101104

0 commit comments

Comments
 (0)
0