Library for Modtronix im4OLED board with 128x64 OLED and 4 buttons. For details, see product page http://modtronix.com/im4oled.html. Is a clone of Adafruit_GFX library, with some additional code added.
Fork of Adafruit_GFX by
im4oled.h@20:0d7144a4d1ca, 2015-08-18 (annotated)
- Committer:
- modtronix
- Date:
- Tue Aug 18 09:13:30 2015 +1000
- Revision:
- 20:0d7144a4d1ca
- Parent:
- 19:15282c12e577
- Child:
- 21:e9892783ce17
Changed class name from im4OLED to Im4OLED
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
modtronix | 18:cad3dec05e0d | 1 | #include "mbed.h" |
modtronix | 18:cad3dec05e0d | 2 | |
modtronix | 18:cad3dec05e0d | 3 | typedef struct { |
modtronix | 18:cad3dec05e0d | 4 | union { |
modtronix | 18:cad3dec05e0d | 5 | struct { |
modtronix | 18:cad3dec05e0d | 6 | uint8_t fallingLatch :1; |
modtronix | 18:cad3dec05e0d | 7 | uint8_t risingLatch :1; |
modtronix | 18:cad3dec05e0d | 8 | } bit; |
modtronix | 18:cad3dec05e0d | 9 | uint8_t Val; |
modtronix | 18:cad3dec05e0d | 10 | } flags; |
modtronix | 18:cad3dec05e0d | 11 | } ButtonFlags; |
modtronix | 18:cad3dec05e0d | 12 | |
modtronix | 18:cad3dec05e0d | 13 | |
modtronix | 20:0d7144a4d1ca | 14 | class Im4OLED { |
modtronix | 18:cad3dec05e0d | 15 | public: |
modtronix | 20:0d7144a4d1ca | 16 | Im4OLED(PinName pinOK, PinName pinStar, PinName pinUp, PinName pinDown); |
modtronix | 18:cad3dec05e0d | 17 | |
modtronix | 19:15282c12e577 | 18 | int getOkBtn(void); |
modtronix | 19:15282c12e577 | 19 | int getStarBtn(void); |
modtronix | 19:15282c12e577 | 20 | int getUpBtn(void); |
modtronix | 19:15282c12e577 | 21 | int getDownBtn(void); |
modtronix | 18:cad3dec05e0d | 22 | |
modtronix | 18:cad3dec05e0d | 23 | // int getOkBtnRissing(); |
modtronix | 18:cad3dec05e0d | 24 | // int getStarBtnRissing(); |
modtronix | 18:cad3dec05e0d | 25 | // int getUpBtnRissing(); |
modtronix | 18:cad3dec05e0d | 26 | // int getDownBtnRissing(); |
modtronix | 18:cad3dec05e0d | 27 | |
modtronix | 18:cad3dec05e0d | 28 | int getBtnFalling(uint16_t btnID); |
modtronix | 18:cad3dec05e0d | 29 | |
modtronix | 19:15282c12e577 | 30 | int getOkBtnFalling(void); |
modtronix | 19:15282c12e577 | 31 | int getStarBtnFalling(void); |
modtronix | 19:15282c12e577 | 32 | int getUpBtnFalling(void); |
modtronix | 19:15282c12e577 | 33 | int getDownBtnFalling(void); |
modtronix | 18:cad3dec05e0d | 34 | |
modtronix | 18:cad3dec05e0d | 35 | private : |
modtronix | 18:cad3dec05e0d | 36 | // objects |
modtronix | 18:cad3dec05e0d | 37 | Ticker _ticker; |
modtronix | 18:cad3dec05e0d | 38 | |
modtronix | 18:cad3dec05e0d | 39 | DigitalIn btnOK; |
modtronix | 18:cad3dec05e0d | 40 | DigitalIn btnStar; |
modtronix | 18:cad3dec05e0d | 41 | DigitalIn btnUp; |
modtronix | 18:cad3dec05e0d | 42 | DigitalIn btnDown; |
modtronix | 18:cad3dec05e0d | 43 | |
modtronix | 18:cad3dec05e0d | 44 | uint8_t arrButtons[4]; //OK, Star, Up, Down |
modtronix | 18:cad3dec05e0d | 45 | uint8_t arrBtnFalling[4]; //OK, Star, Up, Down |
modtronix | 18:cad3dec05e0d | 46 | ButtonFlags arrBtnFlags[4]; |
modtronix | 18:cad3dec05e0d | 47 | |
modtronix | 18:cad3dec05e0d | 48 | // function to take a sample, and update flags |
modtronix | 18:cad3dec05e0d | 49 | void _sample(void); |
modtronix | 18:cad3dec05e0d | 50 | }; |