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 04:11:05 2015 +0000
Revision:
3:b03009537d66
Parent:
2:46cf70365584
Child:
5:bd26aba87b9b
Add MjHoverBase class.

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 3:b03009537d66 39 }
matsujirushi 3:b03009537d66 40
matsujirushi 3:b03009537d66 41 };
matsujirushi 3:b03009537d66 42
matsujirushi 0:051e1e753af5 43 class MjHover
matsujirushi 0:051e1e753af5 44 {
matsujirushi 0:051e1e753af5 45 public:
matsujirushi 2:46cf70365584 46 MjHover(I2C* i2c, uint8_t address, DigitalInOut* ts, DigitalInOut* reset_n);
matsujirushi 1:8e9c00c59101 47 void begin();
matsujirushi 1:8e9c00c59101 48 void setRelease();
matsujirushi 1:8e9c00c59101 49 bool getStatus();
matsujirushi 1:8e9c00c59101 50 uint8_t getEvent();
matsujirushi 1:8e9c00c59101 51 static const char* getEventString(uint8_t eventByte);
matsujirushi 0:051e1e753af5 52
matsujirushi 0:051e1e753af5 53 private:
matsujirushi 0:051e1e753af5 54 I2C *i2c;
matsujirushi 0:051e1e753af5 55 uint8_t address;
matsujirushi 1:8e9c00c59101 56 DigitalInOut* ts; // I/O Transfer Status
matsujirushi 2:46cf70365584 57 DigitalInOut* reset_n; // O Master Clear#
matsujirushi 0:051e1e753af5 58
matsujirushi 0:051e1e753af5 59 };
matsujirushi 0:051e1e753af5 60
matsujirushi 0:051e1e753af5 61 } // namespace matsujirushi
matsujirushi 0:051e1e753af5 62
matsujirushi 0:051e1e753af5 63 #endif
matsujirushi 2:46cf70365584 64
matsujirushi 3:b03009537d66 65
matsujirushi 3:b03009537d66 66