Subversion Repositories FlightCtrl

Rev

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.