Hover!( Microchip MGC3130 ) library. Now, it is development version. http://www.hoverlabs.co/#hover https://www.switch-science.com/catalog/2124/

Dependents:   MjHover_Hello

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?

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