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 Neal Horman

im4oled.h

Committer:
modtronix
Date:
2015-08-31
Revision:
21:e9892783ce17
Parent:
20:0d7144a4d1ca
Child:
22:f63aeb3769b5

File content as of revision 21:e9892783ce17:

#include "mbed.h"

typedef struct {
    union {
        struct {
            uint8_t fallingLatch    :1;
            uint8_t risingLatch     :1;
        } bit;
        uint8_t    Val;
    } flags;
} ButtonFlags;


class Im4OLED {
public:
    Im4OLED(PinName pinOK, PinName pinStar, PinName pinUp, PinName pinDown);

    uint8_t getOkBtn(void);
    uint8_t getStarBtn(void);
    uint8_t getUpBtn(void);
    uint8_t getDownBtn(void);

//    uint8_t getOkBtnRissing();
//    uint8_t getStarBtnRissing();
//    uint8_t getUpBtnRissing();
//    uint8_t getDownBtnRissing();

    uint8_t getBtnFalling(uint16_t btnID);

    uint8_t getOkBtnFalling(void);
    uint8_t getStarBtnFalling(void);
    uint8_t getUpBtnFalling(void);
    uint8_t getDownBtnFalling(void);

private :
    // objects
    Ticker      _ticker;

    DigitalIn   btnOK;
    DigitalIn   btnStar;
    DigitalIn   btnUp;
    DigitalIn   btnDown;

    uint8_t     arrButtons[4];      //OK, Star, Up, Down
    uint8_t     arrBtnFalling[4];   //OK, Star, Up, Down
    ButtonFlags arrBtnFlags[4];

    // function to take a sample, and update flags
    void _sample(void);
};