From 4ef6bd673fc9db197cc673fd0d159afa598787cb Mon Sep 17 00:00:00 2001 From: jasonshort Date: Mon, 29 Nov 2010 01:44:40 +0000 Subject: [PATCH] added trim save git-svn-id: https://arducopter.googlecode.com/svn/trunk@980 f9c3cf11-9bcb-44bc-f272-b75c42450872 --- libraries/RC_Channel/RC_Channel.cpp | 11 ++++++++++- libraries/RC_Channel/RC_Channel.h | 3 ++- 2 files changed, 12 insertions(+), 2 deletions(-) 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);