38
|
1 /* Define to prevent recursive inclusion -------------------------------------*/
|
|
2 #ifndef I2C_H
|
|
3 #define I2C_H
|
|
4
|
165
|
5 /* Pressure Sensor */
|
357
|
6 #define DEVICE_PRESSURE_MS5803 0xEE // gen 1 and gen 2 use 0xEE (MS5803)
|
|
7 #define DEVICE_PRESSURE_MS5837 0xEC // end-2019 hardware (gen 3) uses 0xEC (MS5837)
|
38
|
8
|
165
|
9 /* Compass/Accelerometer */
|
357
|
10 #define COMPASS_NOT_RECOGNIZED 0xAA ///< id used with hardwareCompass
|
571
|
11
|
|
12 typedef enum
|
|
13 {
|
|
14 compass_generation_undef = 0x00,
|
|
15 compass_generation1, // Hardware gen 1 (Two chip solution with MMA8452Q and HMC5883L)
|
|
16 compass_generation2, // Hardware gen 2 (Single chip solution LSM303D)
|
|
17 compass_generation3, // Hardware gen 3 (Single chip solution LSM303AGR)
|
|
18 compass_generation_future
|
|
19 } compass_generation_t;
|
357
|
20
|
165
|
21 #define DEVICE_ACCELARATOR_MMA8452Q 0x38 // Hardware gen 1 (Two chip solution with MMA8452Q and HMC5883L)
|
357
|
22 #define DEVICE_COMPASS_HMC5883L 0x3C // Hardware gen 1 (Two chip solution with MMA8452Q and HMC5883L)
|
38
|
23
|
165
|
24 #define DEVICE_COMPASS_303D 0x3C // Hardware gen 2 (Single chip solution LSM303D)
|
357
|
25
|
165
|
26 #define DEVICE_COMPASS_303AGR 0x3C // Hardware gen 3 (Single chip solution LSM303AGR)
|
357
|
27 #define DEVICE_ACCELARATOR_303AGR 0x32 // Hardware gen 3 (Single chip solution LSM303AGR)
|
|
28
|
|
29 // Compass 3 defines (Can move in separate .h file...)
|
|
30 #define WHOIAM_VALUE_LSM303AGR 0x33
|
38
|
31
|
|
32 /* Battery Gas Gauge */
|
165
|
33 #define DEVICE_BATTERYGAUGE 0xC8 // LTC2941 battery gauge
|
38
|
34
|
545
|
35 /* ADC for external bulkhead */
|
554
|
36 #define DEVICE_EXTERNAL_ADC 0xD0 // MCP3424 with Adr0=GND and Adr1=GND (Hardware gen 3 only)
|
545
|
37
|
38
|
38
|
|
39 /* Includes ------------------------------------------------------------------*/
|
|
40 #include "stm32f4xx_hal.h"
|
|
41
|
|
42 HAL_StatusTypeDef I2C_Master_Transmit( uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
|
43 HAL_StatusTypeDef I2C_Master_TransmitNoStop( uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
|
44 HAL_StatusTypeDef I2C_Master_Receive( uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
|
45 HAL_StatusTypeDef MX_I2C1_Init(void);
|
|
46 void I2C_DeInit(void);
|
|
47 HAL_StatusTypeDef I2C1_Status(void);
|
|
48
|
|
49 GPIO_PinState MX_I2C1_TestAndClear(void);
|
|
50
|
|
51 //void I2C_Error(void);
|
|
52
|
|
53
|
|
54 #endif /* I2C_H */
|