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)

Dependencies:   microbit

Committer:
iwaita2ya
Date:
Fri Aug 12 04:17:51 2016 +0000
Revision:
0:520a08b6329a
1st commit.

Who changed what in which revision?

UserRevisionLine numberNew 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 }