sx9500 driver
Dependents: Senet NAMote scpi_sx127x NAMote72_Utility scpi_sx127x_firstTest
Diff: sx9500.h
- Revision:
- 0:d46a1b9267a3
- Child:
- 1:aa30dc96dc77
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sx9500.h Wed Mar 18 00:57:23 2015 +0000 @@ -0,0 +1,45 @@ +#include "mbed.h" + + +#define SX9500_REG_IRQSRC 0x00 +#define SX9500_REG_STAT 0x01 +#define SX9500_REG_IRQMSK 0x03 +#define SX9500_REG_PROXCTRL0 0x06 +#define SX9500_REG_PROXCTRL1 0x07 +#define SX9500_REG_PROXCTRL2 0x08 +#define SX9500_REG_PROXCTRL3 0x09 +#define SX9500_REG_PROXCTRL4 0x0A +#define SX9500_REG_PROXCTRL5 0x0B +#define SX9500_REG_PROXCTRL6 0x0C +#define SX9500_REG_PROXCTRL7 0x0D +#define SX9500_REG_PROXCTRL8 0x0E +#define SX9500_REG_SENSORSEL 0x20 +#define SX9500_REG_USEMSB 0x21 +#define SX9500_REG_USELSB 0x22 +#define SX9500_REG_AVGMSB 0x23 +#define SX9500_REG_AVGLSB 0x24 +#define SX9500_REG_DIFFMSB 0x25 +#define SX9500_REG_DIFFLSB 0x26 +#define SX9500_REG_OFFSETMSB 0x27 +#define SX9500_REG_OFFSETLSB 0x28 +#define SX9500_REG_RESET 0x7F + +#define SX9500_RESET_CMD 0xDE + +class SX9500 { + public: + SX9500(I2C& r, PinName en_pin); + ~SX9500(); + //void try_read(void); + uint8_t read_single(uint8_t addr); + void read(uint8_t addr, uint8_t *dst_buf, int length); + void write(uint8_t addr, uint8_t data); + void reset(void); + uint16_t get_sensor(void); + void standby(void); + + private: + I2C& m_i2c; + DigitalOut m_txen; +}; +