Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "MicroBit.h" 00002 #include "MicroBitUARTService.h" 00003 00004 MicroBit uBit; 00005 MicroBitUARTService *uart; 00006 00007 int connected = 0; 00008 00009 void onConnected(MicroBitEvent) 00010 { 00011 00012 uBit.display.scroll("C"); 00013 00014 connected = 1; 00015 00016 // mobile app will send ASCII strings terminated with the colon character 00017 ManagedString eom(":"); 00018 00019 while(connected == 1) { 00020 ManagedString msg = uart->readUntil(eom); 00021 uBit.display.scroll(msg); 00022 } 00023 00024 } 00025 00026 void onDisconnected(MicroBitEvent) 00027 { 00028 uBit.display.scroll("D"); 00029 connected = 0; 00030 } 00031 00032 void onButtonA(MicroBitEvent) 00033 { 00034 if (connected == 0) { 00035 return; 00036 } 00037 uart->send(ManagedString("YES")); 00038 uBit.display.scroll("Y"); 00039 } 00040 00041 void onButtonB(MicroBitEvent) 00042 { 00043 if (connected == 0) { 00044 return; 00045 } 00046 uart->send(ManagedString("NO")); 00047 uBit.display.scroll("N"); 00048 } 00049 00050 void onButtonAB(MicroBitEvent) 00051 { 00052 if (connected == 0) { 00053 return; 00054 } 00055 uart->send(ManagedString("GOT IT!!")); 00056 uBit.display.scroll("!"); 00057 } 00058 00059 int main() 00060 { 00061 // Initialise the micro:bit runtime. 00062 uBit.init(); 00063 00064 uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected); 00065 uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected); 00066 uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA); 00067 uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB); 00068 uBit.messageBus.listen(MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB); 00069 00070 00071 // Note GATT table size increased from default in MicroBitConfig.h 00072 // #define MICROBIT_SD_GATT_TABLE_SIZE 0x500 00073 uart = new MicroBitUARTService(*uBit.ble, 32, 32); 00074 uBit.display.scroll("UART ready"); 00075 00076 // If main exits, there may still be other fibers running or registered event handlers etc. 00077 // Simply release this fiber, which will mean we enter the scheduler. Worse case, we then 00078 // sit in the idle task forever, in a power efficient sleep. 00079 release_fiber(); 00080 }
Generated on Tue Jul 19 2022 01:09:45 by
1.7.2