altos: Use ao_data_accel_invert when changing orientation value
[fw/altos] / src / kernel / ao_config.c
index 596a0410623774f68f68e1c3bf3a239c369141d8..4de72c5cd751dbd1994f1277f873b8c7a71c82c2 100644 (file)
@@ -276,13 +276,15 @@ ao_config_get(void)
        ao_mutex_put(&ao_config_mutex);
 }
 
-void
+#if HAS_RADIO
+
+static void
 ao_config_callsign_show(void)
 {
        printf ("Callsign: \"%s\"\n", ao_config.callsign);
 }
 
-void
+static void
 ao_config_callsign_set(void) 
 {
        uint8_t c;
@@ -306,16 +308,14 @@ ao_config_callsign_set(void)
        _ao_config_edit_finish();
 }
 
-#if HAS_RADIO
-
-void
+static void
 ao_config_frequency_show(void) 
 {
        printf("Frequency: %ld\n",
               ao_config.frequency);
 }
 
-void
+static void
 ao_config_frequency_set(void) 
 {
        uint32_t r = ao_cmd_decimal();
@@ -359,14 +359,14 @@ ao_config_send_frequency_set(void)
 
 #if HAS_FLIGHT
 
-void
+static void
 ao_config_main_deploy_show(void) 
 {
        printf("Main deploy: %d meters\n",
               ao_config.main_deploy);
 }
 
-void
+static void
 ao_config_main_deploy_set(void) 
 {
        uint32_t r = ao_cmd_decimal();
@@ -378,7 +378,7 @@ ao_config_main_deploy_set(void)
 }
 
 #if HAS_ACCEL
-void
+static void
 ao_config_accel_calibrate_show(void) 
 {
        printf("Accel cal +1g: %d -1g: %d\n",
@@ -441,7 +441,7 @@ ao_config_accel_calibrate_auto(char *orientation)
        return accel_total >> ACCEL_CALIBRATE_SHIFT;
 }
 
-void
+static void
 ao_config_accel_calibrate_set(void) 
 {
        int16_t up, down;
@@ -494,14 +494,14 @@ ao_config_accel_calibrate_set(void)
 }
 #endif /* HAS_ACCEL */
 
-void
+static void
 ao_config_apogee_delay_show(void) 
 {
        printf("Apogee delay: %d seconds\n",
               ao_config.apogee_delay);
 }
 
-void
+static void
 ao_config_apogee_delay_set(void) 
 {
        uint32_t r = ao_cmd_decimal();
@@ -512,14 +512,14 @@ ao_config_apogee_delay_set(void)
        _ao_config_edit_finish();
 }
 
-void
+static void
 ao_config_apogee_lockout_show(void) 
 {
        printf ("Apogee lockout: %d seconds\n",
                ao_config.apogee_lockout);
 }
 
-void
+static void
 ao_config_apogee_lockout_set(void) 
 {
        uint16_t r = ao_cmd_decimal();
@@ -533,13 +533,13 @@ ao_config_apogee_lockout_set(void)
 #endif /* HAS_FLIGHT */
 
 #if HAS_RADIO
-void
+static void
 ao_config_radio_cal_show(void) 
 {
        printf("Radio cal: %ld\n", ao_config.radio_cal);
 }
 
-void
+static void
 ao_config_radio_cal_set(void) 
 {
        uint32_t r = ao_cmd_decimal();
@@ -558,13 +558,13 @@ ao_config_radio_cal_set(void)
 #error Please define HAS_TELEMETRY
 #endif
 
-void
+static void
 ao_config_radio_rate_show(void) 
 {
        printf("Telemetry rate: %d\n", ao_config.radio_rate);
 }
 
-void
+static void
 ao_config_radio_rate_set(void) 
 {
        uint16_t r = ao_cmd_decimal();
@@ -588,7 +588,7 @@ ao_config_radio_rate_set(void)
 
 #if HAS_LOG
 
-void
+static void
 ao_config_log_show(void) 
 {
        printf("Max flight log: %d kB\n", (int16_t) (ao_config.flight_log_max >> 10));
@@ -611,7 +611,7 @@ ao_config_log_fix_append(void)
 }
 #endif
 
-void
+static void
 ao_config_log_set(void) 
 {
 #if FLIGHT_LOG_APPEND
@@ -640,13 +640,13 @@ ao_config_log_set(void)
 #endif /* HAS_LOG */
 
 #if HAS_IGNITE
-void
+static void
 ao_config_ignite_mode_show(void) 
 {
        printf("Ignite mode: %d\n", ao_config.ignite_mode);
 }
 
-void
+static void
 ao_config_ignite_mode_set(void) 
 {
        uint16_t r = ao_cmd_decimal();
@@ -659,17 +659,13 @@ ao_config_ignite_mode_set(void)
 #endif
 
 #if HAS_ACCEL
-void
+static void
 ao_config_pad_orientation_show(void) 
 {
        printf("Pad orientation: %d\n", ao_config.pad_orientation);
 }
 
-#ifndef AO_ACCEL_INVERT
-#define AO_ACCEL_INVERT        0x7fff
-#endif
-
-void
+static void
 ao_config_pad_orientation_set(void) 
 {
        uint16_t r = ao_cmd_decimal() & 1;
@@ -677,10 +673,10 @@ ao_config_pad_orientation_set(void)
                return;
        _ao_config_edit_start();
        if (ao_config.pad_orientation != r) {
-               int16_t t;
+               accel_t t;
                t = ao_config.accel_plus_g;
-               ao_config.accel_plus_g = AO_ACCEL_INVERT - ao_config.accel_minus_g;
-               ao_config.accel_minus_g = AO_ACCEL_INVERT - t;
+               ao_config.accel_plus_g = ao_data_accel_invert(ao_config.accel_minus_g);
+               ao_config.accel_minus_g = ao_data_accel_invert(t);
        }
        ao_config.pad_orientation = r;
        _ao_config_edit_finish();
@@ -688,13 +684,13 @@ ao_config_pad_orientation_set(void)
 #endif
 
 #if HAS_RADIO
-void
+static void
 ao_config_radio_enable_show(void) 
 {
        printf("Radio enable: %d\n", ao_config.radio_enable);
 }
 
-void
+static void
 ao_config_radio_enable_set(void) 
 {
        uint16_t r = ao_cmd_decimal();
@@ -713,7 +709,7 @@ ao_config_radio_enable_set(void)
 
 uint8_t        ao_config_aes_seq = 1;
 
-void
+static void
 ao_config_key_show(void) 
 {
        uint8_t i;
@@ -723,7 +719,7 @@ ao_config_key_show(void)
        printf("\n");
 }
 
-void
+static void
 ao_config_key_set(void) 
 {
        uint8_t i;
@@ -742,13 +738,13 @@ ao_config_key_set(void)
 
 #if HAS_APRS
 
-void
+static void
 ao_config_aprs_show(void)
 {
        printf ("APRS interval: %d\n", ao_config.aprs_interval);
 }
 
-void
+static void
 ao_config_aprs_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -805,13 +801,13 @@ ao_config_radio_power_set(void)
 #endif
 
 #if HAS_BEEP_CONFIG
-void
+static void
 ao_config_beep_show(void)
 {
        printf ("Beeper setting: %d\n", ao_config.mid_beep);
 }
 
-void
+static void
 ao_config_beep_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -824,7 +820,7 @@ ao_config_beep_set(void)
 #endif
 
 #if HAS_TRACKER
-void
+static void
 ao_config_tracker_show(void)
 {
        printf ("Tracker setting: %d %d\n",
@@ -832,7 +828,7 @@ ao_config_tracker_show(void)
                ao_config.tracker_interval);
 }
 
-void
+static void
 ao_config_tracker_set(void)
 {
        uint16_t        m, i;
@@ -853,13 +849,13 @@ ao_config_tracker_set(void)
 #endif /* HAS_TRACKER */
 
 #if AO_PYRO_NUM
-void
+static void
 ao_config_pyro_time_show(void)
 {
        printf ("Pyro time: %d\n", ao_config.pyro_time);
 }
 
-void
+static void
 ao_config_pyro_time_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -872,14 +868,14 @@ ao_config_pyro_time_set(void)
 #endif
 
 #if HAS_APRS
-void
+static void
 ao_config_aprs_ssid_show(void)
 {
        printf ("APRS SSID: %d\n",
                ao_config.aprs_ssid);
 }
 
-void
+static void
 ao_config_aprs_ssid_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -894,7 +890,7 @@ ao_config_aprs_ssid_set(void)
        _ao_config_edit_finish();
 }
 
-void
+static void
 ao_config_aprs_format_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -905,7 +901,7 @@ ao_config_aprs_format_set(void)
        _ao_config_edit_finish();
 }
 
-void
+static void
 ao_config_aprs_format_show(void)
 {
        printf ("APRS format: %d\n", ao_config.aprs_format);
@@ -913,13 +909,13 @@ ao_config_aprs_format_show(void)
 #endif /* HAS_APRS */
 
 #if HAS_FIXED_PAD_BOX
-void
+static void
 ao_config_pad_box_show(void)
 {
        printf ("Pad box: %d\n", ao_config.pad_box);
 }
 
-void
+static void
 ao_config_pad_box_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -930,13 +926,13 @@ ao_config_pad_box_set(void)
        _ao_config_edit_finish();
 }
 
-void
+static void
 ao_config_pad_idle_show(void)
 {
        printf ("Idle timeout: %d\n", ao_config.pad_idle);
 }
 
-void
+static void
 ao_config_pad_idle_set(void)
 {
        uint16_t r = ao_cmd_decimal();
@@ -1059,7 +1055,7 @@ const struct ao_config_var ao_config_vars[] = {
        { 0, 0, 0 }
 };
 
-void
+static void
 ao_config_set(void)
 {
        char    c;