3,33 → 3,51 |
|
#include <inttypes.h> |
#include "configuration.h" |
#include "analog.h" |
|
#define EEPROM_ADR_PARAM_BEGIN 0 |
#define PID_PARAM_REVISION 1 // byte |
#define PID_ACTIVE_SET 2 // byte |
#define PID_PRESSURE_OFFSET 3 // byte |
#define PID_ACC_PITCH 4 // word |
#define PID_ACC_ROLL 6 // word |
#define PID_ACC_Z 8 // word |
#define EEPROM_ADR_CHANNELS 80 // 8 bytes |
#define EEPROM_ADR_PARAMSET_LENGTH sizeof(paramset_t) // word |
#define EEPROM_ADR_PARAMSET_BEGIN 100 |
#define EEPROM_ADR_MIXER_TABLE 1000 // 1000 - 1076 |
#define EEPARAM_REVISION 75 // is count up, if paramater stucture has changed (compatibility) |
#define EEMIXER_REVISION 1 // is count up, if Mixer stucture has changed (compatibility) |
#define EEPROM_CHECKSUMMED_BLOCK_OVERHEAD 3 |
|
extern void ParamSet_Init(void); |
extern void ParamSet_ReadFromEEProm(void); |
extern void ParamSet_WriteToEEProm(void); |
#define PID_ACTIVE_SET 0 // byte |
//#define EEPROM_ADR_ACCOFFSET 1 |
//#define EEPROM_ADR_GYROOFFSET (EEPROM_ADR_ACCOFFSET+sizeof(sensorOffset_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
//#define EEPROM_ADR_GYROAMPLIFIER (EEPROM_ADR_GYROOFFSET+sizeof(sensorOffset_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
//#define EEPROM_ADR_CHANNELMAP (EEPROM_ADR_GYROAMPLIFIER+sizeof(sensorOffset_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
//#define EEPROM_ADR_PARAMSET_BEGIN (EEPROM_ADR_MIXER_TABLE+sizeof(mixerMatrix_t)+EEPROM_CHECKSUMMED_BLOCK_OVERHEAD) |
|
extern uint8_t MixerTable_ReadFromEEProm(void); |
extern uint8_t MixerTable_WriteToEEProm(void); |
#define EEPROM_ADR_ACCOFFSET 16 |
#define EEPROM_ADR_GYROOFFSET 32 |
#define EEPROM_ADR_GYROAMPLIFIER 48 |
#define EEPROM_ADR_CHANNELMAP 64 |
#define EEPROM_ADR_IMU_CONFIG 100 |
#define EEPROM_ADR_PARAMSET_BEGIN 256 |
|
extern uint8_t GetParamByte(uint16_t param_id); |
extern void SetParamByte(uint16_t param_id, uint8_t value); |
extern uint16_t GetParamWord(uint16_t param_id); |
extern void SetParamWord(uint16_t param_id, uint16_t value); |
#define CHANNELMAP_REVISION 0 |
#define EEPARAM_REVISION 4 |
#define EEMIXER_REVISION 0 |
#define SENSOROFFSET_REVISION 0 |
#define IMUCONFIG_REVISION 0 |
|
extern uint8_t getActiveParamSet(void); |
void paramSet_readOrDefault(void); |
void channelMap_readOrDefault(void); |
void IMUConfig_readOrDefault(void); |
|
uint8_t paramSet_readFromEEProm(uint8_t setnumber); |
void paramSet_writeToEEProm(uint8_t setnumber); |
|
void channelMap_writeToEEProm(void); |
|
uint8_t gyroOffset_readFromEEProm(void); |
void gyroOffset_writeToEEProm(void); |
|
//uint8_t accOffset_readFromEEProm(void); |
//void accOffset_writeToEEProm(void); |
|
uint8_t getParamByte(uint16_t param_id); |
void setParamByte(uint16_t param_id, uint8_t value); |
|
// We have only a single param set here. |
// uint8_t getActiveParamSet(void); |
// void setActiveParamSet(uint8_t setnumber); |
|
#endif //_EEPROM_H |