MTCH112 Eval Board Microchip capacitive proximity sensor
mtch112.h
- Committer:
- duchonic
- Date:
- 2018-08-23
- Revision:
- 0:8203e12416bb
File content as of revision 0:8203e12416bb:
#include <mbed.h> #define WRITE_PROTECT_BYTE_H 0x55 #define WRITE_PROTECT_BYTE_L 0xAA //Configuration Registers #define CONFIG_RESET_CALIB 0x00 #define CONFIG_OUTCON 0x01 #define CONFIG_CALCON0 0x02 #define CONFIG_CALCON1 0x03CONFIG_OUTCON_VALUE #define CONFIG_ADACQ0 0x04 #define CONFIG_ADACQ1 0x05 #define CONFIG_LPCON 0x06 #define CONFIG_PRESS_THRESH 0x07 #define CONFIG_PROX_THRESH 0x08 #define CONFIG_TIMEOUT_L 0x09 #define CONFIG_TIMEOUT_H 0x0A #define CONFIG_I2CADDR 0x0B #define CONFIG_RESET_CALIB_VALUE 0xFF #define CONFIG_OUTCON_VALUE 0x04 #define CONFIG_PROX_THRESH_VALUE 0x14 #define CONFIG_PRESS_THRESH_VALUE 0xFF //Read/Output Registers, readonly #define OUTPUT_STATE 0x80 #define OUTPUT_READING0L 0X81 #define OUTPUT_READING0H 0X82 #define OUTPUT_READING1L 0X83 #define OUTPUT_READING1H 0X84 #define OUTPUT_BASELINE0L 0x85 #define OUTPUT_BASELINE0H 0x86 #define OUTPUT_BASELINE1L 0X87 #define OUTPUT_BASELINE1H 0x88 #define SLEEP_1ms 0x00 #define SLEEP_2ms 0x02 #define SLEEP_4ms 0x04 #define SLEEP_8ms 0x06 #define SLEEP_16ms 0x08 #define SLEEP_32ms 0x0A #define SLEEP_64ms 0x0C #define SLEEP_128ms 0x0E #define SLEEP_256ms 0x10 #define SLEEP_512ms 0x12 #define SLEEP_1s 0x14 #define SLEEP_2s 0x16 #define SLEEP_4s 0x18 #define SLEEP_8s 0x1A #define SLEEP_16S 0x1C #define SLEEP_32s 0x1E #define SLEEP_64s 0x20 #define SLEEP_128s 0x22 #define SLEEP_256s 0x24 #define CLK_32MHZ 0x01 #define CLK_16MHZ 0x00 class MTCH112 { public: MTCH112(PinName sda, PinName scl, uint8_t addr); ~MTCH112(); uint8_t MTCH112_Init(void); uint8_t MTCH112_GetState(void); private: I2C m_i2c; uint8_t m_addr; void SetRegister(uint8_t registerAddr, uint8_t data); uint8_t GetRegister(uint8_t registerAddr); };