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-07-29
Revision:
19:15282c12e577
Parent:
18:cad3dec05e0d
Child:
20:0d7144a4d1ca

File content as of revision 19:15282c12e577:

#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);

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

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

    int getBtnFalling(uint16_t btnID);

    int getOkBtnFalling(void);
    int getStarBtnFalling(void);
    int getUpBtnFalling(void);
    int 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);
};