Bluetooth UART support for the Adafruit BluefruitLE SPI, for the University of York Engineering Stage 1 project

Committer:
ajp109
Date:
Fri Mar 12 14:35:25 2021 +0000
Revision:
3:bdfd15be7b82
Parent:
2:8c341bac60b8
Remove readme

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ajp109 2:8c341bac60b8 1 #include "Adafruit_BluefruitLE_SPI.h"
ajp109 2:8c341bac60b8 2
ajp109 2:8c341bac60b8 3 #ifdef NDEBUG
ajp109 2:8c341bac60b8 4 #define ASSERT_WITH_MSG(expr,msg) ((void)0)
ajp109 2:8c341bac60b8 5 #else
ajp109 2:8c341bac60b8 6 #define ASSERT_WITH_MSG(expr,msg) \
ajp109 2:8c341bac60b8 7 do { \
ajp109 2:8c341bac60b8 8 if (!(expr)) { \
ajp109 2:8c341bac60b8 9 mbed_assert_internal(msg, __FILE__, __LINE__); \
ajp109 2:8c341bac60b8 10 } \
ajp109 2:8c341bac60b8 11 } while (0)
ajp109 2:8c341bac60b8 12 #endif
ajp109 2:8c341bac60b8 13
ajp109 2:8c341bac60b8 14 #define MINIMUM_FIRMWARE_VERSION "0.6.6"
ajp109 2:8c341bac60b8 15 #define MODE_LED_BEHAVIOUR "MODE"
ajp109 2:8c341bac60b8 16
ajp109 2:8c341bac60b8 17 class BluetoothUart : public Adafruit_BluefruitLE_SPI
ajp109 2:8c341bac60b8 18 {
ajp109 2:8c341bac60b8 19 public:
ajp109 2:8c341bac60b8 20 BluetoothUart(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName irq, PinName rst = NC):
ajp109 2:8c341bac60b8 21 Adafruit_BluefruitLE_SPI(mosi, miso, sclk, cs, irq, rst)
ajp109 2:8c341bac60b8 22 {
ajp109 2:8c341bac60b8 23 ASSERT_WITH_MSG(begin(), "Couldn't find Bluefruit module - check wiring?");
ajp109 2:8c341bac60b8 24 ASSERT_WITH_MSG(factoryReset(), "Couldn't factory reset Bluefruit module");
ajp109 2:8c341bac60b8 25 if ( isVersionAtLeast(MINIMUM_FIRMWARE_VERSION) ) {
ajp109 2:8c341bac60b8 26 sendCommandCheckOK("AT+HWModeLED=" MODE_LED_BEHAVIOUR);
ajp109 2:8c341bac60b8 27 }
ajp109 2:8c341bac60b8 28 setMode(BLUEFRUIT_MODE_DATA);
ajp109 2:8c341bac60b8 29 }
ajp109 2:8c341bac60b8 30 };