This simple program displays either "A" or "B" on LED matrix when you press A/B button built-on micro:bit and any compatible devices (such as chibi:bit)
main.cpp@0:520a08b6329a, 2016-08-12 (annotated)
- Committer:
- iwaita2ya
- Date:
- Fri Aug 12 04:17:51 2016 +0000
- Revision:
- 0:520a08b6329a
1st commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
iwaita2ya | 0:520a08b6329a | 1 | /****************************************************************************** |
iwaita2ya | 0:520a08b6329a | 2 | main.cpp |
iwaita2ya | 0:520a08b6329a | 3 | |
iwaita2ya | 0:520a08b6329a | 4 | Tatsuya Iwai @ greysound.com |
iwaita2ya | 0:520a08b6329a | 5 | Original Creation Date: Aug 12, 2016 |
iwaita2ya | 0:520a08b6329a | 6 | https://github.com/sparkfun/LSM9DS1_Breakout |
iwaita2ya | 0:520a08b6329a | 7 | |
iwaita2ya | 0:520a08b6329a | 8 | This simple program tests built-in "A" and "B" button on micro:bit or any |
iwaita2ya | 0:520a08b6329a | 9 | compatible devices (such as "chibi:bit") shows button label on LED matrix |
iwaita2ya | 0:520a08b6329a | 10 | when either button is pressed. |
iwaita2ya | 0:520a08b6329a | 11 | |
iwaita2ya | 0:520a08b6329a | 12 | Distributed as-is; no warranty is given. |
iwaita2ya | 0:520a08b6329a | 13 | ******************************************************************************/ |
iwaita2ya | 0:520a08b6329a | 14 | |
iwaita2ya | 0:520a08b6329a | 15 | #include "MicroBit.h" |
iwaita2ya | 0:520a08b6329a | 16 | |
iwaita2ya | 0:520a08b6329a | 17 | // Objects -------------------------------------------------------------------- |
iwaita2ya | 0:520a08b6329a | 18 | MicroBitMessageBus bus; |
iwaita2ya | 0:520a08b6329a | 19 | MicroBitButton buttonA(MICROBIT_PIN_BUTTON_A, MICROBIT_ID_BUTTON_A); |
iwaita2ya | 0:520a08b6329a | 20 | MicroBitButton buttonB(MICROBIT_PIN_BUTTON_B, MICROBIT_ID_BUTTON_B); |
iwaita2ya | 0:520a08b6329a | 21 | MicroBitDisplay display; |
iwaita2ya | 0:520a08b6329a | 22 | |
iwaita2ya | 0:520a08b6329a | 23 | // Function prototypes -------------------------------------------------------- |
iwaita2ya | 0:520a08b6329a | 24 | void onPressed(MicroBitEvent e); |
iwaita2ya | 0:520a08b6329a | 25 | |
iwaita2ya | 0:520a08b6329a | 26 | // Main ---------------------------------------------------------------------- |
iwaita2ya | 0:520a08b6329a | 27 | int main() |
iwaita2ya | 0:520a08b6329a | 28 | { |
iwaita2ya | 0:520a08b6329a | 29 | scheduler_init(bus); |
iwaita2ya | 0:520a08b6329a | 30 | |
iwaita2ya | 0:520a08b6329a | 31 | bus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onPressed); |
iwaita2ya | 0:520a08b6329a | 32 | bus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onPressed); |
iwaita2ya | 0:520a08b6329a | 33 | |
iwaita2ya | 0:520a08b6329a | 34 | while(1) |
iwaita2ya | 0:520a08b6329a | 35 | fiber_sleep(1000); |
iwaita2ya | 0:520a08b6329a | 36 | } |
iwaita2ya | 0:520a08b6329a | 37 | |
iwaita2ya | 0:520a08b6329a | 38 | // Functions ------------------------------------------------------------------ |
iwaita2ya | 0:520a08b6329a | 39 | void onPressed(MicroBitEvent e) |
iwaita2ya | 0:520a08b6329a | 40 | { |
iwaita2ya | 0:520a08b6329a | 41 | if (e.source == MICROBIT_ID_BUTTON_A) |
iwaita2ya | 0:520a08b6329a | 42 | display.scroll("A"); |
iwaita2ya | 0:520a08b6329a | 43 | |
iwaita2ya | 0:520a08b6329a | 44 | if (e.source == MICROBIT_ID_BUTTON_B) |
iwaita2ya | 0:520a08b6329a | 45 | display.scroll("B"); |
iwaita2ya | 0:520a08b6329a | 46 | } |