summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@adafruit.com>2020-10-16 10:00:50 -0700
committerGitHub <noreply@github.com>2020-10-16 10:00:50 -0700
commit6e355ec598c8fe7801ea0d05b868dabc1578519d (patch)
tree322b072ef5e4669ff63e20536e0a91a4f5aaf6b4
parent2ab1552484aa77d9be83decae3d588b1ca91f61c (diff)
parent12ed3fc72f6eb81fd193258e757efdcf633c4c1d (diff)
Merge pull request #3560 from dhalbert/pervasive-bleio-hci
enable CIRCUITPY_BLEIO_HCI on non-nRF boards where it will fit
-rw-r--r--devices/ble_hci/common-hal/_bleio/Adapter.c1
-rw-r--r--devices/ble_hci/common-hal/_bleio/hci_include/att_internal.h2
-rw-r--r--devices/ble_hci/common-hal/_bleio/hci_include/hci.h7
-rw-r--r--mpy-cross/mpy-cross.mk2
-rw-r--r--ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk8
-rw-r--r--ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk4
-rw-r--r--ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/mpconfigport.mk3
-rw-r--r--ports/cxd56/Makefile2
-rw-r--r--ports/litex/mpconfigport.mk1
-rw-r--r--ports/mimxrt10xx/Makefile2
-rw-r--r--ports/nrf/mpconfigport.mk3
-rw-r--r--ports/stm/boards/thunderpack/mpconfigboard.mk1
-rw-r--r--ports/unix/Makefile2
-rw-r--r--py/circuitpy_mpconfig.mk10
15 files changed, 29 insertions, 21 deletions
diff --git a/devices/ble_hci/common-hal/_bleio/Adapter.c b/devices/ble_hci/common-hal/_bleio/Adapter.c
index 559b586de..753a88648 100644
--- a/devices/ble_hci/common-hal/_bleio/Adapter.c
+++ b/devices/ble_hci/common-hal/_bleio/Adapter.c
@@ -45,7 +45,6 @@
#include "shared-bindings/_bleio/Address.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Service.h"
-#include "shared-bindings/nvm/ByteArray.h"
#include "shared-bindings/_bleio/Connection.h"
#include "shared-bindings/_bleio/ScanEntry.h"
#include "shared-bindings/time/__init__.h"
diff --git a/devices/ble_hci/common-hal/_bleio/hci_include/att_internal.h b/devices/ble_hci/common-hal/_bleio/hci_include/att_internal.h
index 1c75275da..d6a4cb79c 100644
--- a/devices/ble_hci/common-hal/_bleio/hci_include/att_internal.h
+++ b/devices/ble_hci/common-hal/_bleio/hci_include/att_internal.h
@@ -11,7 +11,7 @@
#include <stdbool.h>
// for __packed
-#include <string.h>
+#include <sys/cdefs.h>
#define BT_EATT_PSM 0x27
#define BT_ATT_DEFAULT_LE_MTU 23
diff --git a/devices/ble_hci/common-hal/_bleio/hci_include/hci.h b/devices/ble_hci/common-hal/_bleio/hci_include/hci.h
index 6c3a2b5bd..5213edbf0 100644
--- a/devices/ble_hci/common-hal/_bleio/hci_include/hci.h
+++ b/devices/ble_hci/common-hal/_bleio/hci_include/hci.h
@@ -12,10 +12,15 @@
#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_H_
#include <stdbool.h>
-#include <string.h>
+// for __packed
+#include <sys/cdefs.h>
+
#include "addr.h"
+// ESP32S2 build environment defines this already.
+#ifndef BIT
#define BIT(n) (1UL << (n))
+#endif
/* Special own address types for LL privacy (used in adv & scan parameters) */
#define BT_HCI_OWN_ADDR_RPA_OR_PUBLIC 0x02
diff --git a/mpy-cross/mpy-cross.mk b/mpy-cross/mpy-cross.mk
index b4c8e34a2..629054af9 100644
--- a/mpy-cross/mpy-cross.mk
+++ b/mpy-cross/mpy-cross.mk
@@ -66,7 +66,7 @@ LDFLAGS += -static -static-libgcc -static-libstdc++
endif
# source files
-SRC_C = \
+SRC_C += \
main.c \
gccollect.c \
supervisor/stub/safe_mode.c \
diff --git a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk
index 18cef738e..249265151 100644
--- a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk
@@ -11,12 +11,12 @@ LONGINT_IMPL = MPZ
# Not needed.
CIRCUITPY_AUDIOBUSIO = 0
-CIRCUITPY_FRAMEBUFFERIO = 0
+CIRCUITPY_AUDIOMP3 = 0
+CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_DISPLAYIO = 0
-CIRCUITPY_RGBMATRIX = 0
+CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_PS2IO = 0
-CIRCUITPY_AUDIOMP3 = 0
-
+CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_ULAB = 0
# Override optimization to keep binary small
diff --git a/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk b/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk
index e999629c3..4895cda77 100644
--- a/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk
@@ -6,10 +6,6 @@ USB_MANUFACTURER = "Adafruit Industries LLC"
CHIP_VARIANT = SAMD51J19A
CHIP_FAMILY = samd51
-# Support _bleio via the on-board ESP32 module.
-CIRCUITPY_BLEIO = 1
-CIRCUITPY_BLEIO_HCI = 1
-
QSPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 3
EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C"
diff --git a/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk b/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
index 9217cdf23..fcefaee9b 100644
--- a/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
@@ -18,7 +18,7 @@ LONGINT_IMPL = MPZ
# Disable modules that are unusable on this special-purpose board.
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0
-CIRCUITPY_BLEIO = 0
+CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_GAMEPAD = 0
diff --git a/ports/atmel-samd/mpconfigport.mk b/ports/atmel-samd/mpconfigport.mk
index a16daf4b0..1929e146d 100644
--- a/ports/atmel-samd/mpconfigport.mk
+++ b/ports/atmel-samd/mpconfigport.mk
@@ -37,6 +37,9 @@ ifndef CIRCUITPY_TOUCHIO_USE_NATIVE
CIRCUITPY_TOUCHIO_USE_NATIVE = 1
endif
+# No room for HCI _bleio on SAMD21.
+CIRCUITPY_BLEIO_HCI = 0
+
CIRCUITPY_SDCARDIO ?= 0
# Not enough RAM for framebuffers
diff --git a/ports/cxd56/Makefile b/ports/cxd56/Makefile
index 7e145f5e2..5201f0db5 100644
--- a/ports/cxd56/Makefile
+++ b/ports/cxd56/Makefile
@@ -162,7 +162,7 @@ SRC_SHARED_MODULE_EXPANDED = $(addprefix shared-bindings/, $(SRC_SHARED_MODULE))
SRC_S = supervisor/cpu.s
-SRC_C = \
+SRC_C += \
background.c \
fatfs_port.c \
mphalport.c \
diff --git a/ports/litex/mpconfigport.mk b/ports/litex/mpconfigport.mk
index 427e9ea84..485a75fde 100644
--- a/ports/litex/mpconfigport.mk
+++ b/ports/litex/mpconfigport.mk
@@ -16,6 +16,7 @@ CIRCUITPY_ANALOGIO = 0
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0
CIRCUITPY_BITBANGIO = 0
+CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_BOARD = 0
CIRCUITPY_BUSIO = 0
CIRCUITPY_COUNTIO = 0
diff --git a/ports/mimxrt10xx/Makefile b/ports/mimxrt10xx/Makefile
index 12c9bde4f..a17e5f703 100644
--- a/ports/mimxrt10xx/Makefile
+++ b/ports/mimxrt10xx/Makefile
@@ -147,7 +147,7 @@ SRC_SDK := \
SRC_SDK := $(addprefix sdk/devices/$(CHIP_FAMILY)/, $(SRC_SDK))
-SRC_C = \
+SRC_C += \
background.c \
boards/$(BOARD)/board.c \
boards/$(BOARD)/flash_config.c \
diff --git a/ports/nrf/mpconfigport.mk b/ports/nrf/mpconfigport.mk
index ed689545d..9560064fb 100644
--- a/ports/nrf/mpconfigport.mk
+++ b/ports/nrf/mpconfigport.mk
@@ -23,6 +23,9 @@ CIRCUITPY_AUDIOCORE ?= 1
CIRCUITPY_AUDIOMIXER ?= 1
CIRCUITPY_AUDIOPWMIO ?= 1
+# Native BLEIO is not compatible with HCI _bleio.
+CIRCUITPY_BLEIO_HCI = 0
+
CIRCUITPY_BLEIO ?= 1
# No I2CPeripheral implementation
diff --git a/ports/stm/boards/thunderpack/mpconfigboard.mk b/ports/stm/boards/thunderpack/mpconfigboard.mk
index bb50f8710..d303582e0 100644
--- a/ports/stm/boards/thunderpack/mpconfigboard.mk
+++ b/ports/stm/boards/thunderpack/mpconfigboard.mk
@@ -7,6 +7,7 @@ INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE
CIRCUITPY_NVM = 1
+CIRCUITPY_BLEIO_HCI = 0
MCU_SERIES = F4
MCU_VARIANT = STM32F411xE
diff --git a/ports/unix/Makefile b/ports/unix/Makefile
index 5d4b168fe..4bfb13c6a 100644
--- a/ports/unix/Makefile
+++ b/ports/unix/Makefile
@@ -134,7 +134,7 @@ SRC_MOD += modjni.c
endif
# source files
-SRC_C = \
+SRC_C += \
main.c \
gccollect.c \
unix_mphal.c \
diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk
index 91850448d..a6aabec33 100644
--- a/py/circuitpy_mpconfig.mk
+++ b/py/circuitpy_mpconfig.mk
@@ -79,14 +79,14 @@ CFLAGS += -DCIRCUITPY_AUDIOMP3=$(CIRCUITPY_AUDIOMP3)
CIRCUITPY_BITBANGIO ?= $(CIRCUITPY_FULL_BUILD)
CFLAGS += -DCIRCUITPY_BITBANGIO=$(CIRCUITPY_BITBANGIO)
-# Explicitly enabled for boards that support _bleio.
-CIRCUITPY_BLEIO ?= 0
-CFLAGS += -DCIRCUITPY_BLEIO=$(CIRCUITPY_BLEIO)
-
# _bleio can be supported on most any board via HCI
-CIRCUITPY_BLEIO_HCI ?= 0
+CIRCUITPY_BLEIO_HCI ?= $(CIRCUITPY_FULL_BUILD)
CFLAGS += -DCIRCUITPY_BLEIO_HCI=$(CIRCUITPY_BLEIO_HCI)
+# Explicitly enabled for boards that support _bleio.
+CIRCUITPY_BLEIO ?= $(CIRCUITPY_BLEIO_HCI)
+CFLAGS += -DCIRCUITPY_BLEIO=$(CIRCUITPY_BLEIO)
+
CIRCUITPY_BOARD ?= 1
CFLAGS += -DCIRCUITPY_BOARD=$(CIRCUITPY_BOARD)