5 #ifndef _ADAFRUIT_MICROBIT_H_ 6 #define _ADAFRUIT_MICROBIT_H_ 8 #include <Adafruit_GFX.h> 10 #include <Fonts/TomThumb.h> 12 #if defined(S110) || defined(S130) 14 #include <BLEPeripheral.h> 28 void drawPixel(int16_t x, int16_t y, uint16_t color),
30 void show(
const uint8_t bitmap[]);
31 void scrollText(
char *
string, uint8_t stepdelay = 150);
32 void print(
char *
string);
33 void print(int32_t i);
35 void print(
double f,
int precision = 3);
46 uint8_t matrix_buffer[3][9];
47 #elif defined(NRF52833_XXAA) 48 uint8_t matrix_buffer[5][5];
54 class Adafruit_Microbit_BLESerial :
public BLEPeripheral,
public Stream {
56 Adafruit_Microbit_BLESerial(
unsigned char req = BLE_DEFAULT_REQ,
57 unsigned char rdy = BLE_DEFAULT_RDY,
58 unsigned char rst = BLE_DEFAULT_RST);
64 virtual int available(
void);
65 virtual int peek(
void);
66 virtual int read(
void);
67 virtual void flush(
void);
68 virtual size_t write(uint8_t byte);
70 virtual operator bool();
73 unsigned long _flushed;
74 static Adafruit_Microbit_BLESerial *_instance;
78 size_t _rxCount()
const;
79 uint8_t _rxBuffer[BLE_ATTRIBUTE_MAX_VALUE_LENGTH];
81 uint8_t _txBuffer[BLE_ATTRIBUTE_MAX_VALUE_LENGTH];
83 BLEService _uartService = BLEService(
"6E400001-B5A3-F393-E0A9-E50E24DCCA9E");
84 BLEDescriptor _uartNameDescriptor = BLEDescriptor(
"2901",
"UART");
85 BLECharacteristic _rxCharacteristic = BLECharacteristic(
86 "6E400002-B5A3-F393-E0A9-E50E24DCCA9E", BLEWriteWithoutResponse,
87 BLE_ATTRIBUTE_MAX_VALUE_LENGTH);
88 BLEDescriptor _rxNameDescriptor =
89 BLEDescriptor(
"2901",
"RX - Receive Data (Write)");
90 BLECharacteristic _txCharacteristic =
91 BLECharacteristic(
"6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify,
92 BLE_ATTRIBUTE_MAX_VALUE_LENGTH);
93 BLEDescriptor _txNameDescriptor =
94 BLEDescriptor(
"2901",
"TX - Transfer Data (Notify)");
96 void _received(
const uint8_t *data,
size_t size);
97 static void _received(BLECentral & ,
98 BLECharacteristic &rxCharacteristic);
107 Adafruit_Microbit_BLESerial BTLESerial;
108 uint8_t getDieTemp(
void);
void fillScreen(uint16_t color)
Fill the 5x5 matrix with an LED 'color'.
Definition: Adafruit_Microbit.cpp:235
void scrollText(char *string, uint8_t stepdelay=150)
Scroll display a string on the 5x5 LED matrix.
Definition: Adafruit_Microbit.cpp:404
static const uint8_t HEART[5]
full heart icon
Definition: Adafruit_Microbit.h:37
void drawPixel(int16_t x, int16_t y, uint16_t color)
Draw a single pixel/LED on the 5x5 matrix.
Definition: Adafruit_Microbit.cpp:191
void rowHandler(void)
Matrix object function called by IRQ handler for each row This is not optimized at all but its not so...
Definition: Adafruit_Microbit.cpp:134
void clear(void)
Clear the 5x5 matrix.
Definition: Adafruit_Microbit.cpp:229
Definition: Adafruit_Microbit.h:103
void IRQ_MATRIX_HANDLER(void)
Matrix interrupt request handler.
Definition: Adafruit_Microbit.cpp:176
void show(const uint8_t bitmap[])
Display a 5-byte bitmap on the 5x5 LED matrix.
Definition: Adafruit_Microbit.cpp:247
Adafruit_Microbit_Matrix matrix
5x5 graphical matrix
Definition: Adafruit_Microbit.h:105
Definition: Adafruit_Microbit.h:23
static const uint8_t MICROBIT_SMILE[5]
smile icon
Definition: Adafruit_Microbit.h:37
static const uint8_t YES[5]
Check icon.
Definition: Adafruit_Microbit.h:37
static const uint8_t NO[5]
X icon.
Definition: Adafruit_Microbit.h:37
boolean begin(void)
Initialized the 5x5 matrix and scanning IRQ.
Definition: Adafruit_Microbit.cpp:104
void print(char *string)
Display a string on the 5x5 LED matrix.
Definition: Adafruit_Microbit.cpp:256
static const uint8_t EMPTYHEART[5]
an empty heart icon
Definition: Adafruit_Microbit.h:37