3,12 → 3,13 |
#endif |
|
#include "eeprom.h" |
#include "printf_P.h" |
#include "output.h" |
//#include "output.h" |
#include "configuration.h" |
#include "analog.h" |
#include <avr/wdt.h> |
#include <avr/eeprom.h> |
#include <avr/interrupt.h> |
#include <stdio.h> |
|
// byte array in eeprom |
uint8_t EEPromArray[E2END + 1] EEMEM; |
152,26 → 153,17 |
/***************************************************/ |
/* MixerTable */ |
/***************************************************/ |
void motorMixer_writeToEEProm(void) { |
writeChecksummedBlock(EEMIXER_REVISION, (uint8_t*)&motorMixer, EEPROM_ADR_MIXER_TABLE, sizeof(MotorMixer_t)); |
void outputMixer_writeToEEProm(void) { |
writeChecksummedBlock(EEMIXER_REVISION, (uint8_t*)&outputMixer, EEPROM_ADR_MIXER_TABLE, sizeof(OutputMixer_t)); |
} |
|
void motorMixer_readOrDefault(void) { |
void outputMixer_readOrDefault(void) { |
// load mixer table |
if (readChecksummedBlock(EEMIXER_REVISION, (uint8_t*)&motorMixer, EEPROM_ADR_MIXER_TABLE, sizeof(MotorMixer_t))) { |
if (readChecksummedBlock(EEMIXER_REVISION, (uint8_t*)&outputMixer, EEPROM_ADR_MIXER_TABLE, sizeof(OutputMixer_t))) { |
printf("\n\rwriting default motor mixer"); |
motorMixer_default(); // Quadro |
motorMixer_writeToEEProm(); |
outputMixer_default(); // Quadro |
outputMixer_writeToEEProm(); |
} |
// determine motornumber |
requiredMotors = 0; |
for (uint8_t i=0; i<MAX_MOTORS; i++) { |
if (motorMixer.matrix[i][MIX_THROTTLE]) |
requiredMotors++; |
} |
|
printf("\n\rMixer-Config: '%s' (%u Motors)", motorMixer.name, requiredMotors); |
printf("\n\r==================================="); |
} |
|
/***************************************************/ |
209,12 → 201,12 |
writeChecksummedBlock(SENSOROFFSET_REVISION, (uint8_t*)&gyroOffset, EEPROM_ADR_GYROOFFSET, sizeof(sensorOffset_t)); |
} |
|
uint8_t accOffset_readFromEEProm(void) { |
return readChecksummedBlock(SENSOROFFSET_REVISION, (uint8_t*)&accOffset, EEPROM_ADR_ACCOFFSET, sizeof(sensorOffset_t)); |
uint8_t accelOffset_readFromEEProm(void) { |
return readChecksummedBlock(SENSOROFFSET_REVISION, (uint8_t*)&accelOffset, EEPROM_ADR_ACCELOFFSET, sizeof(sensorOffset_t)); |
} |
|
void accOffset_writeToEEProm(void) { |
writeChecksummedBlock(SENSOROFFSET_REVISION, (uint8_t*)&accOffset, EEPROM_ADR_ACCOFFSET, sizeof(sensorOffset_t)); |
void accelOffset_writeToEEProm(void) { |
writeChecksummedBlock(SENSOROFFSET_REVISION, (uint8_t*)&accelOffset, EEPROM_ADR_ACCELOFFSET, sizeof(sensorOffset_t)); |
} |
|
/***************************************************/ |