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 */