diff --git a/libraries/RC_Channel/RC_Channel.cpp b/libraries/RC_Channel/RC_Channel.cpp index 49f8c59f017..ea11ff05a4c 100644 --- a/libraries/RC_Channel/RC_Channel.cpp +++ b/libraries/RC_Channel/RC_Channel.cpp @@ -98,6 +98,8 @@ RC_Channel::calc_pwm(void) radio_out = pwm_out + radio_min; } +// ------------------------------------------ + void RC_Channel::load_eeprom(void) { @@ -109,11 +111,18 @@ RC_Channel::load_eeprom(void) void RC_Channel::save_eeprom(void) { - eeprom_write_word((uint16_t *) _address, radio_min); + eeprom_write_word((uint16_t *) _address, radio_min); eeprom_write_word((uint16_t *) (_address + 2), radio_max); eeprom_write_word((uint16_t *) (_address + 4), radio_trim); } +// ------------------------------------------ +void +RC_Channel::save_trim(void) +{ + eeprom_write_word((uint16_t *) (_address + 4), radio_trim); +} + // ------------------------------------------ void diff --git a/libraries/RC_Channel/RC_Channel.h b/libraries/RC_Channel/RC_Channel.h index a2c41b9b8c2..07226207726 100644 --- a/libraries/RC_Channel/RC_Channel.h +++ b/libraries/RC_Channel/RC_Channel.h @@ -38,6 +38,7 @@ class RC_Channel{ // startup void load_eeprom(void); void save_eeprom(void); + void save_trim(void); void set_filter(bool filter); // setup the control preferences @@ -58,7 +59,7 @@ class RC_Channel{ // value generated from PWM int16_t control_in; - int8_t dead_zone; // used to keep noise down and create a dead zone. + int16_t dead_zone; // used to keep noise down and create a dead zone. int control_mix(float value);