phyphox BLE
Plot your Arduino's data in the phyphox app and control the board from the phone
Loading...
Searching...
No Matches
Select.h
Go to the documentation of this file.
1// Which transport this build uses, from the board macros. Included by phyphoxBle.h and by every
2// transport .cpp (the Arduino build compiles all of src/, so each transport guards its whole
3// file with its macro). Boards ArduinoBLE supports but that are not listed can define
4// PHYPHOX_BLE_TRANSPORT_ARDUINOBLE themselves.
5#ifndef PHYPHOX_BLE_TRANSPORT_SELECT_H
6#define PHYPHOX_BLE_TRANSPORT_SELECT_H
7
8#if defined(PHYPHOX_BLE_TRANSPORT_ARDUINOBLE)
9 #define PHYPHOX_BLE_USE_ARDUINOBLE 1
10#elif defined(ARDUINO_SAMD_MKR1000) || defined(ARDUINO_SENSEBOX_MCU_ESP32S2)
11 #define PHYPHOX_BLE_USE_NINAB31 1
12#elif defined(ESP32) || defined(ARDUINO_ARCH_ESP32)
13 // arduino-esp32 4.0 replaced the core's BLE library (BLEDevice -> BLE.h) without a
14 // compatibility layer: one transport per major version, picked by the core being compiled
15 // against. Included here because the transports include this file before Arduino.h.
16 #include <esp_arduino_version.h>
17 #if ESP_ARDUINO_VERSION_MAJOR >= 4
18 #define PHYPHOX_BLE_USE_ESP32_BLE4 1
19 #else
20 #define PHYPHOX_BLE_USE_ESP32 1
21 #endif
22#elif defined(ARDUINO_ARCH_STM32)
23 #define PHYPHOX_BLE_USE_ARDUINOBLE 1
24 #define PHYPHOX_BLE_STM32DUINOBLE 1
25#elif defined(ARDUINO_ARCH_MBED) || defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_RENESAS_UNO) || \
26 defined(ARDUINO_ARCH_RENESAS) || defined(ARDUINO_ARCH_MBED_NANO) || defined(ARDUINO_ARCH_MBED_PORTENTA) || \
27 defined(ARDUINO_ARCH_MBED_GIGA) || defined(ARDUINO_ARCH_MBED_NICLA) || defined(ARDUINO_ARCH_MEGAAVR) || \
28 defined(ARDUINO_ARCH_RP2040)
29 #define PHYPHOX_BLE_USE_ARDUINOBLE 1
30#elif defined(ARDUINO)
31 #error "phyphox BLE: unsupported board. See docs/getting-started.md; boards ArduinoBLE supports can define PHYPHOX_BLE_TRANSPORT_ARDUINOBLE."
32#endif
33
34#endif