Un programme d'essai pour les Terminales NSI
Revision 1:583b68b31708, committed 2021-02-17
- Comitter:
- davsel
- Date:
- Wed Feb 17 22:46:32 2021 +0000
- Parent:
- 0:0041f35b0c4c
- Commit message:
- Test
Changed in this revision
diff -r 0041f35b0c4c -r 583b68b31708 main.cpp --- a/main.cpp Wed Jul 13 16:03:21 2016 +0100 +++ b/main.cpp Wed Feb 17 22:46:32 2021 +0000 @@ -1,43 +1,80 @@ -/* -The MIT License (MIT) - -Copyright (c) 2016 British Broadcasting Corporation. -This software is provided by Lancaster University by arrangement with the BBC. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. -*/ - #include "MicroBit.h" +#include "MicroBitUARTService.h" MicroBit uBit; +MicroBitUARTService *uart; + +int connected = 0; + +void onConnected(MicroBitEvent) +{ + + uBit.display.scroll("C"); + + connected = 1; + + // mobile app will send ASCII strings terminated with the colon character + ManagedString eom(":"); + + while(connected == 1) { + ManagedString msg = uart->readUntil(eom); + uBit.display.scroll(msg); + } + +} + +void onDisconnected(MicroBitEvent) +{ + uBit.display.scroll("D"); + connected = 0; +} + +void onButtonA(MicroBitEvent) +{ + if (connected == 0) { + return; + } + uart->send(ManagedString("YES")); + uBit.display.scroll("Y"); +} + +void onButtonB(MicroBitEvent) +{ + if (connected == 0) { + return; + } + uart->send(ManagedString("NO")); + uBit.display.scroll("N"); +} + +void onButtonAB(MicroBitEvent) +{ + if (connected == 0) { + return; + } + uart->send(ManagedString("GOT IT!!")); + uBit.display.scroll("!"); +} int main() { // Initialise the micro:bit runtime. uBit.init(); - // Insert your code here! - uBit.display.scroll("HELLO WORLD! :)"); + uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected); + uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected); + uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA); + uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB); + uBit.messageBus.listen(MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB); + + + // Note GATT table size increased from default in MicroBitConfig.h + // #define MICROBIT_SD_GATT_TABLE_SIZE 0x500 + uart = new MicroBitUARTService(*uBit.ble, 32, 32); + uBit.display.scroll("UART ready"); // If main exits, there may still be other fibers running or registered event handlers etc. // Simply release this fiber, which will mean we enter the scheduler. Worse case, we then // sit in the idle task forever, in a power efficient sleep. release_fiber(); -} - +} \ No newline at end of file
diff -r 0041f35b0c4c -r 583b68b31708 mbed_app.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed_app.json Wed Feb 17 22:46:32 2021 +0000 @@ -0,0 +1,9 @@ +{ + "macros": [ + "MICROBIT_BLE_ENABLED=1", + "MICROBIT_BLE_PAIRING_MODE=0", + "MICROBIT_BLE_OPEN=1", + "MICROBIT_SD_GATT_TABLE_SIZE=0x600", + "MICROBIT_BLE_DFU_SERVICE=1" + ] +} \ No newline at end of file
diff -r 0041f35b0c4c -r 583b68b31708 microbit.lib --- a/microbit.lib Wed Jul 13 16:03:21 2016 +0100 +++ b/microbit.lib Wed Feb 17 22:46:32 2021 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/teams/Lancaster-University/code/microbit/#4b89e7e3494f +https://os.mbed.com/users/davsel/code/microbit/#fd99a22e4c7e