Mercurial > public > ostc4
annotate Small_CPU/Inc/i2c.h @ 882:608d3e918146 Evo_2_23
Added slow exit timer function:
At the end of the dive the final ascent to surface should be done slowly. The new function provides a comparison of the current divers depth compared to a linear ascent simulated by the OSTC. The visualization is shown instead of the ascent speed with a little different appearance. The linear ascent is starting from the last stop depth and the time for the ascent may be configurated in the deco settings. The simulated and real peth is compared and the depth color changes based on the difference of the values. In case the diver is much below the timer depth then the timer will stop and wait for the diver to follow.
author | Ideenmodellierer |
---|---|
date | Sat, 31 Aug 2024 17:35:52 +0200 |
parents | 91a8f9893e68 |
children |
rev | line source |
---|---|
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
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
11 |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
12 typedef enum |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
13 { |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
14 compass_generation_undef = 0x00, |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
15 compass_generation1, // Hardware gen 1 (Two chip solution with MMA8452Q and HMC5883L) |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
16 compass_generation2, // Hardware gen 2 (Single chip solution LSM303D) |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
17 compass_generation3, // Hardware gen 3 (Single chip solution LSM303AGR) |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
18 compass_generation_future |
91a8f9893e68
Reactivate compass parameter stored in NVM:
Ideenmodellierer
parents:
554
diff
changeset
|
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
e595d2d1f77f
Add I2C address for external bulkhead ADC (Hardware gen 3 only) to i2c.h
heinrichsweikamp
parents:
357
diff
changeset
|
35 /* ADC for external bulkhead */ |
554
3328189786e7
Added external ADC interface functionality (MCP3424):
Ideenmodellierer
parents:
545
diff
changeset
|
36 #define DEVICE_EXTERNAL_ADC 0xD0 // MCP3424 with Adr0=GND and Adr1=GND (Hardware gen 3 only) |
545
e595d2d1f77f
Add I2C address for external bulkhead ADC (Hardware gen 3 only) to i2c.h
heinrichsweikamp
parents:
357
diff
changeset
|
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 */ |