Hover!( Microchip MGC3130 ) library. Now, it is development version. http://www.hoverlabs.co/#hover https://www.switch-science.com/catalog/2124/
MjHover.h@6:8d68ac1bab97, 2015-04-03 (annotated)
- Committer:
- matsujirushi
- Date:
- Fri Apr 03 13:56:44 2015 +0000
- Revision:
- 6:8d68ac1bab97
- Parent:
- 5:bd26aba87b9b
- Child:
- 7:a3b72910732d
Little modify.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
matsujirushi | 0:051e1e753af5 | 1 | #ifndef MJ_HOVER_H |
matsujirushi | 0:051e1e753af5 | 2 | #define MJ_HOVER_H |
matsujirushi | 0:051e1e753af5 | 3 | |
matsujirushi | 0:051e1e753af5 | 4 | #include "mbed.h" |
matsujirushi | 0:051e1e753af5 | 5 | |
matsujirushi | 2:46cf70365584 | 6 | using namespace std; |
matsujirushi | 2:46cf70365584 | 7 | |
matsujirushi | 0:051e1e753af5 | 8 | namespace matsujirushi { |
matsujirushi | 0:051e1e753af5 | 9 | |
matsujirushi | 3:b03009537d66 | 10 | class MjHoverBase |
matsujirushi | 3:b03009537d66 | 11 | { |
matsujirushi | 3:b03009537d66 | 12 | public: |
matsujirushi | 3:b03009537d66 | 13 | MjHoverBase(I2C* i2c, uint8_t address, DigitalInOut* ts_n, DigitalInOut* reset_n); |
matsujirushi | 3:b03009537d66 | 14 | |
matsujirushi | 3:b03009537d66 | 15 | void Reset(); |
matsujirushi | 3:b03009537d66 | 16 | |
matsujirushi | 3:b03009537d66 | 17 | bool DataAvailable() const |
matsujirushi | 3:b03009537d66 | 18 | { |
matsujirushi | 3:b03009537d66 | 19 | return this->ts_n->read() ? false : true; |
matsujirushi | 3:b03009537d66 | 20 | } |
matsujirushi | 3:b03009537d66 | 21 | |
matsujirushi | 3:b03009537d66 | 22 | bool WriteMessage(uint8_t id, const uint8_t* payload, uint8_t payloadSize); |
matsujirushi | 3:b03009537d66 | 23 | bool ReadMessage(uint8_t* id, uint8_t* payload, uint8_t payloadSize, uint8_t* readPayloadSize); |
matsujirushi | 3:b03009537d66 | 24 | |
matsujirushi | 3:b03009537d66 | 25 | private: |
matsujirushi | 3:b03009537d66 | 26 | I2C *i2c; |
matsujirushi | 3:b03009537d66 | 27 | uint8_t address; |
matsujirushi | 3:b03009537d66 | 28 | DigitalInOut* ts_n; // I/O Transfer Status |
matsujirushi | 3:b03009537d66 | 29 | DigitalInOut* reset_n; // O Master Clear# |
matsujirushi | 3:b03009537d66 | 30 | |
matsujirushi | 3:b03009537d66 | 31 | void BeginRead() |
matsujirushi | 3:b03009537d66 | 32 | { |
matsujirushi | 3:b03009537d66 | 33 | this->ts_n->output(); |
matsujirushi | 3:b03009537d66 | 34 | this->ts_n->write(0); |
matsujirushi | 3:b03009537d66 | 35 | } |
matsujirushi | 3:b03009537d66 | 36 | void EndRead() |
matsujirushi | 3:b03009537d66 | 37 | { |
matsujirushi | 3:b03009537d66 | 38 | this->ts_n->input(); |
matsujirushi | 5:bd26aba87b9b | 39 | wait_us(100); |
matsujirushi | 3:b03009537d66 | 40 | } |
matsujirushi | 3:b03009537d66 | 41 | |
matsujirushi | 3:b03009537d66 | 42 | }; |
matsujirushi | 3:b03009537d66 | 43 | |
matsujirushi | 6:8d68ac1bab97 | 44 | class MjHover : private MjHoverBase |
matsujirushi | 0:051e1e753af5 | 45 | { |
matsujirushi | 0:051e1e753af5 | 46 | public: |
matsujirushi | 5:bd26aba87b9b | 47 | MjHover(I2C* i2c, uint8_t address, DigitalInOut* ts_n, DigitalInOut* reset_n); |
matsujirushi | 1:8e9c00c59101 | 48 | void begin(); |
matsujirushi | 1:8e9c00c59101 | 49 | void setRelease(); |
matsujirushi | 1:8e9c00c59101 | 50 | bool getStatus(); |
matsujirushi | 1:8e9c00c59101 | 51 | uint8_t getEvent(); |
matsujirushi | 1:8e9c00c59101 | 52 | static const char* getEventString(uint8_t eventByte); |
matsujirushi | 0:051e1e753af5 | 53 | |
matsujirushi | 0:051e1e753af5 | 54 | }; |
matsujirushi | 0:051e1e753af5 | 55 | |
matsujirushi | 0:051e1e753af5 | 56 | } // namespace matsujirushi |
matsujirushi | 0:051e1e753af5 | 57 | |
matsujirushi | 0:051e1e753af5 | 58 | #endif |
matsujirushi | 2:46cf70365584 | 59 | |
matsujirushi | 3:b03009537d66 | 60 | |
matsujirushi | 3:b03009537d66 | 61 | |
matsujirushi | 5:bd26aba87b9b | 62 |