Rev 1927 | Rev 2103 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1927 | Rev 2099 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | #ifndef _EEPROM_H |
1 | #ifndef _EEPROM_H |
2 | #define _EEPROM_H |
2 | #define _EEPROM_H |
Line 3... | Line 3... | ||
3 | 3 | ||
4 | #include <inttypes.h> |
4 | #include <inttypes.h> |
- | 5 | #include "configuration.h" |
|
Line 5... | Line 6... | ||
5 | #include "configuration.h" |
6 | #include "analog.h" |
6 | - | ||
7 | #define EEPROM_ADR_PARAM_BEGIN 0 |
- | |
8 | #define PID_PARAM_REVISION 1 // byte |
- | |
9 | #define PID_ACTIVE_SET 2 // byte |
- | |
10 | #define PID_PRESSURE_OFFSET 3 // byte |
- | |
11 | #define PID_ACC_PITCH 4 // word |
- | |
12 | #define PID_ACC_ROLL 6 // word |
- | |
13 | #define PID_ACC_Z 8 // word |
- | |
14 | #define EEPROM_ADR_CHANNELS 80 // 8 bytes |
7 | |
15 | #define EEPROM_ADR_PARAMSET_LENGTH sizeof(paramset_t) // word |
- | |
16 | #define EEPROM_ADR_PARAMSET_BEGIN 100 |
- | |
17 | #define EEPROM_ADR_MIXER_TABLE 1000 // 1000 - 1076 |
- | |
18 | #define EEPARAM_REVISION 75 // is count up, if paramater stucture has changed (compatibility) |
- | |
19 | #define EEMIXER_REVISION 1 // is count up, if Mixer stucture has changed (compatibility) |
- | |
20 | - | ||
21 | extern void ParamSet_Init(void); |
- | |
22 | extern void ParamSet_ReadFromEEProm(void); |
- | |
23 | extern void ParamSet_WriteToEEProm(void); |
- | |
24 | - | ||
25 | extern uint8_t MixerTable_ReadFromEEProm(void); |
- | |
26 | extern uint8_t MixerTable_WriteToEEProm(void); |
- | |
27 | - | ||
28 | extern uint8_t GetParamByte(uint16_t param_id); |
- | |
29 | extern void SetParamByte(uint16_t param_id, uint8_t value); |
- | |
Line -... | Line 8... | ||
- | 8 | #define EEPROM_ADR_PARAM_BEGIN 0 |
|
- | 9 | #define EEPROM_CHECKSUMMED_BLOCK_OVERHEAD 3 |
|
- | 10 | ||
- | 11 | #define PID_ACTIVE_SET 0 // byte |
|
- | 12 | //#define EEPROM_ADR_ACCOFFSET 1 |
|
- | 13 | //#define EEPROM_ADR_GYROOFFSET (EEPROM_ADR_ACCOFFSET+sizeof(sensorOffset_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
|
- | 14 | //#define EEPROM_ADR_GYROAMPLIFIER (EEPROM_ADR_GYROOFFSET+sizeof(sensorOffset_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
|
- | 15 | //#define EEPROM_ADR_CHANNELMAP (EEPROM_ADR_GYROAMPLIFIER+sizeof(sensorOffset_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
|
- | 16 | //#define EEPROM_ADR_PARAMSET_BEGIN (EEPROM_ADR_MIXER_TABLE+sizeof(mixerMatrix_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
|
- | 17 | ||
- | 18 | #define EEPROM_ADR_ACCOFFSET 16 |
|
- | 19 | #define EEPROM_ADR_GYROOFFSET 32 |
|
- | 20 | #define EEPROM_ADR_GYROAMPLIFIER 48 |
|
- | 21 | #define EEPROM_ADR_CHANNELMAP 64 |
|
- | 22 | #define EEPROM_ADR_IMU_CONFIG 100 |
|
- | 23 | #define EEPROM_ADR_PARAMSET_BEGIN 256 |
|
- | 24 | ||
- | 25 | #define CHANNELMAP_REVISION 0 |
|
- | 26 | #define EEPARAM_REVISION 4 |
|
- | 27 | #define EEMIXER_REVISION 0 |
|
- | 28 | #define SENSOROFFSET_REVISION 0 |
|
- | 29 | #define IMUCONFIG_REVISION 0 |
|
- | 30 | ||
- | 31 | void paramSet_readOrDefault(void); |
|
- | 32 | void channelMap_readOrDefault(void); |
|
- | 33 | void IMUConfig_readOrDefault(void); |
|
- | 34 | ||
- | 35 | uint8_t paramSet_readFromEEProm(uint8_t setnumber); |
|
- | 36 | void paramSet_writeToEEProm(uint8_t setnumber); |
|
- | 37 | ||
- | 38 | void channelMap_writeToEEProm(void); |
|
- | 39 | ||
- | 40 | uint8_t gyroOffset_readFromEEProm(void); |
|
- | 41 | void gyroOffset_writeToEEProm(void); |
|
- | 42 | ||
- | 43 | //uint8_t accOffset_readFromEEProm(void); |
|
- | 44 | //void accOffset_writeToEEProm(void); |
|
- | 45 | ||
- | 46 | uint8_t getParamByte(uint16_t param_id); |
|
30 | extern uint16_t GetParamWord(uint16_t param_id); |
47 | void setParamByte(uint16_t param_id, uint8_t value); |
- | 48 | ||
Line 31... | Line 49... | ||
31 | extern void SetParamWord(uint16_t param_id, uint16_t value); |
49 | // We have only a single param set here. |