Self test boot program for testing icarus sensors
Dependencies: BLE_API mbed nRF51822
Fork of BLE_UARTConsole by
ADXL362Sensor.h
- Committer:
- smigielski
- Date:
- 2015-01-27
- Revision:
- 10:3a24c970db40
- Parent:
- 9:ed3636e1873f
- Child:
- 12:9076e6453115
File content as of revision 10:3a24c970db40:
#ifndef MBED_ADXL362_SENSOR_H #define MBED_ADXL362_SENSOR_H #include "mbed.h" #include "BaseSensor.h" // ACC Registers #define ADXL362_DEVID_AD 0x00 #define ADXL362_DEVID_MST 0x01 #define ADXL362_PART_ID 0x02 #define ADXL362_REV_ID 0x03 //Three following addresses #define ADXL362_DATA 0x08 #define ADXL362_STATUS 0x0b #define ADXL362_FIFO_ENTRIES_L 0x0c #define ADXL362_FIFO_ENTRIES_H 0x0d //Six following address as L & H #define ADXL362_DATA_12 0x0E //Two following bytes #define ADXL362_TEMP_12 0x14 #define ADXL362_SOFT_RESET 0x1f #define ADXL362_THRESH_ACT_11 0x20 #define ADXL362_TIME_ACT 0x22 #define ADXL362_THRESH_INACT_11 0x20 #define ADXL362_TIME_INACT_16 0x22 #define ADXL362_ACT_INACT_CTL 0x27 #define ADXL362_FIFO_CONTROL 0x28 #define ADXL362_FIFO_SAMPLES 0x29 #define ADXL362_INTMAP1 0x2a #define ADXL362_INTMAP2 0x2b #define ADXL362_FILTER_CTL 0x2c #define ADXL362_POWER_CTL 0x2d #define ADXL362_SELF_TEST 0x2e /**The ADXL362 command set is • 0x0A: write register • 0x0B: read register • 0x0D: read FIFO */ #define ADXL362_WRITE_REGISTER 0x0a #define ADXL362_READ_REGISTER 0x0b #define ADXL362_READ_FIFO 0x0d #define ADXL362_SELF_TEST_SCALE_FACTOR 2.4 #define ADXL362_MG2G_MULTIPLIER 0.002f #define ADXL362_ODR 100 class ADXL362Sensor : public BaseSensor { public: //The recommended SPI clock speeds are 1 MHz to 5 MHz, with 12 pF maximum loading. ADXL362Sensor(SPI*,DigitalOut*); virtual char* getSimpleName(); virtual void getSensorDetails(sensor_t*); //verify basic integrity of underlining hardware virtual uint32_t verifyIntegrity(uint32_t*); private: SPI* spi; DigitalOut* cs; uint32_t selfTest(uint32_t* errorResult); void refreshAcceleration12(int16_t* x, int16_t* y, int16_t* z); uint32_t readRegister32(uint8_t reg); uint8_t readRegister( uint8_t reg); void writeRegister( uint8_t reg, uint8_t cmd ); }; #endif