Subversion Repositories FlightCtrl

Rev

Rev 2102 | Rev 2108 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2102 Rev 2106
1
#include <stdlib.h>
1
#include <stdlib.h>
2
#include "commands.h"
2
#include "commands.h"
3
#include "controlMixer.h"
3
#include "controlMixer.h"
4
#include "flight.h"
4
#include "flight.h"
5
#include "eeprom.h"
5
#include "eeprom.h"
6
#include "attitude.h"
6
#include "attitude.h"
7
#include "output.h"
7
#include "output.h"
8
#include "rc.h"
8
#include "rc.h"
9
 
9
 
10
#ifdef USE_MK3MAG
10
#ifdef USE_MK3MAG
11
// TODO: Kick that all outa here!
11
// TODO: Kick that all outa here!
12
uint8_t compassCalState = 0;
12
uint8_t compassCalState = 0;
13
#endif
13
#endif
14
 
14
 
15
void commands_handleCommands(void) {
15
void commands_handleCommands(void) {
16
        /*
16
        /*
17
         * Get the current command (start/stop motors, calibrate), if any.
17
         * Get the current command (start/stop motors, calibrate), if any.
18
         */
18
         */
19
        uint8_t command = controlMixer_getCommand();
19
        uint8_t command = controlMixer_getCommand();
20
        uint8_t repeated = controlMixer_isCommandRepeated();
20
        uint8_t repeated = controlMixer_isCommandRepeated();
21
        uint8_t argument = controlMixer_getArgument();
21
        uint8_t argument = controlMixer_getArgument();
22
 
22
 
23
        // TODO! Mode change gadget of some kind.
23
        // TODO! Mode change gadget of some kind.
24
        if (!isMotorRunning) {
24
        if (!isMotorRunning) {
25
                if (command == COMMAND_GYROCAL && !repeated) {
25
                if (command == COMMAND_GYROCAL && !repeated) {
26
                        // Gyro calinbration, with or without selecting a new parameter-set.
26
                        // Gyro calinbration, with or without selecting a new parameter-set.
27
                        paramSet_readFromEEProm(1);
27
                        paramSet_readFromEEProm(1);
28
                        analog_calibrateGyros();
28
                        analog_calibrate();
29
                        attitude_setNeutral();
29
                        attitude_setNeutral();
30
                        controlMixer_setNeutral();
30
                        controlMixer_setNeutral();
31
                        beepNumber(1);
31
                        beepNumber(1);
32
                } else if (command == COMMAND_CHMOD && !repeated) {
32
                } else if (command == COMMAND_CHMOD && !repeated) {
33
                        configuration_setFlightParameters(argument);
33
                        configuration_setFlightParameters(argument);
34
                }
34
                }
35
        } // end !MOTOR_RUN condition.
35
        } // end !MOTOR_RUN condition.
36
}
36
}
37
 
37