New version of quadcopter software written to OO principles

Dependencies:   mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS

Committer:
joe4465
Date:
Wed Mar 04 18:50:37 2015 +0000
Revision:
0:c6a85bb2a827
Child:
2:969dfa4f2436
New version of quadcopter software, written following OO principles

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joe4465 0:c6a85bb2a827 1 #include "Status.h"
joe4465 0:c6a85bb2a827 2
joe4465 0:c6a85bb2a827 3 Status::Status(){}
joe4465 0:c6a85bb2a827 4
joe4465 0:c6a85bb2a827 5 Status::~Status(){}
joe4465 0:c6a85bb2a827 6
joe4465 0:c6a85bb2a827 7 bool Status::initialise()
joe4465 0:c6a85bb2a827 8 {
joe4465 0:c6a85bb2a827 9 setState(PREFLIGHT);
joe4465 0:c6a85bb2a827 10 }
joe4465 0:c6a85bb2a827 11
joe4465 0:c6a85bb2a827 12 bool Status::setState(State state)
joe4465 0:c6a85bb2a827 13 {
joe4465 0:c6a85bb2a827 14 switch(state)
joe4465 0:c6a85bb2a827 15 {
joe4465 0:c6a85bb2a827 16 case PREFLIGHT:
joe4465 0:c6a85bb2a827 17 setFlightMode(NOT_SET);
joe4465 0:c6a85bb2a827 18 setBaseStationMode(STATUS);
joe4465 0:c6a85bb2a827 19 setBatteryLevel(0);
joe4465 0:c6a85bb2a827 20 setArmed(false);
joe4465 0:c6a85bb2a827 21 setInitialised(false);
joe4465 0:c6a85bb2a827 22 return true;
joe4465 0:c6a85bb2a827 23
joe4465 0:c6a85bb2a827 24 case STANDBY:
joe4465 0:c6a85bb2a827 25
joe4465 0:c6a85bb2a827 26 return true;
joe4465 0:c6a85bb2a827 27
joe4465 0:c6a85bb2a827 28
joe4465 0:c6a85bb2a827 29 case GROUND_READY:
joe4465 0:c6a85bb2a827 30
joe4465 0:c6a85bb2a827 31 return true;
joe4465 0:c6a85bb2a827 32
joe4465 0:c6a85bb2a827 33
joe4465 0:c6a85bb2a827 34 case MANUAL:
joe4465 0:c6a85bb2a827 35
joe4465 0:c6a85bb2a827 36 return true;
joe4465 0:c6a85bb2a827 37
joe4465 0:c6a85bb2a827 38
joe4465 0:c6a85bb2a827 39 case STABILISED:
joe4465 0:c6a85bb2a827 40
joe4465 0:c6a85bb2a827 41 return true;
joe4465 0:c6a85bb2a827 42
joe4465 0:c6a85bb2a827 43
joe4465 0:c6a85bb2a827 44 case AUTO:
joe4465 0:c6a85bb2a827 45
joe4465 0:c6a85bb2a827 46 return true;
joe4465 0:c6a85bb2a827 47
joe4465 0:c6a85bb2a827 48
joe4465 0:c6a85bb2a827 49 case ABORT:
joe4465 0:c6a85bb2a827 50
joe4465 0:c6a85bb2a827 51 return true;
joe4465 0:c6a85bb2a827 52
joe4465 0:c6a85bb2a827 53
joe4465 0:c6a85bb2a827 54 case EMG_LAND:
joe4465 0:c6a85bb2a827 55
joe4465 0:c6a85bb2a827 56 return true;
joe4465 0:c6a85bb2a827 57
joe4465 0:c6a85bb2a827 58
joe4465 0:c6a85bb2a827 59 case EMG_OFF:
joe4465 0:c6a85bb2a827 60
joe4465 0:c6a85bb2a827 61 return true;
joe4465 0:c6a85bb2a827 62
joe4465 0:c6a85bb2a827 63
joe4465 0:c6a85bb2a827 64 case GROUND_ERROR:
joe4465 0:c6a85bb2a827 65
joe4465 0:c6a85bb2a827 66 return true;
joe4465 0:c6a85bb2a827 67
joe4465 0:c6a85bb2a827 68
joe4465 0:c6a85bb2a827 69 default:
joe4465 0:c6a85bb2a827 70
joe4465 0:c6a85bb2a827 71 return false;
joe4465 0:c6a85bb2a827 72
joe4465 0:c6a85bb2a827 73 }
joe4465 0:c6a85bb2a827 74 }
joe4465 0:c6a85bb2a827 75
joe4465 0:c6a85bb2a827 76 Status::State Status::getState()
joe4465 0:c6a85bb2a827 77 {
joe4465 0:c6a85bb2a827 78 return _state;
joe4465 0:c6a85bb2a827 79 }
joe4465 0:c6a85bb2a827 80
joe4465 0:c6a85bb2a827 81 bool Status::setFlightMode(FlightMode flightMode)
joe4465 0:c6a85bb2a827 82 {
joe4465 0:c6a85bb2a827 83 _flightMode = flightMode;
joe4465 0:c6a85bb2a827 84 return true;
joe4465 0:c6a85bb2a827 85 }
joe4465 0:c6a85bb2a827 86
joe4465 0:c6a85bb2a827 87 Status::FlightMode Status::getFlightMode()
joe4465 0:c6a85bb2a827 88 {
joe4465 0:c6a85bb2a827 89 return _flightMode;
joe4465 0:c6a85bb2a827 90 }
joe4465 0:c6a85bb2a827 91
joe4465 0:c6a85bb2a827 92 bool Status::setBaseStationMode(BaseStationMode baseStationMode)
joe4465 0:c6a85bb2a827 93 {
joe4465 0:c6a85bb2a827 94 _baseStationMode = baseStationMode;
joe4465 0:c6a85bb2a827 95 return true;
joe4465 0:c6a85bb2a827 96 }
joe4465 0:c6a85bb2a827 97
joe4465 0:c6a85bb2a827 98 Status::BaseStationMode Status::getBaseStationMode()
joe4465 0:c6a85bb2a827 99 {
joe4465 0:c6a85bb2a827 100 return _baseStationMode;
joe4465 0:c6a85bb2a827 101 }
joe4465 0:c6a85bb2a827 102
joe4465 0:c6a85bb2a827 103 bool Status::setBatteryLevel(float batteryLevel)
joe4465 0:c6a85bb2a827 104 {
joe4465 0:c6a85bb2a827 105 _batteryLevel = batteryLevel;
joe4465 0:c6a85bb2a827 106 return true;
joe4465 0:c6a85bb2a827 107 }
joe4465 0:c6a85bb2a827 108
joe4465 0:c6a85bb2a827 109 float Status::getBatteryLevel()
joe4465 0:c6a85bb2a827 110 {
joe4465 0:c6a85bb2a827 111 return _batteryLevel;
joe4465 0:c6a85bb2a827 112 }
joe4465 0:c6a85bb2a827 113
joe4465 0:c6a85bb2a827 114 bool Status::setArmed(bool armed)
joe4465 0:c6a85bb2a827 115 {
joe4465 0:c6a85bb2a827 116 _armed = armed;
joe4465 0:c6a85bb2a827 117 return true;
joe4465 0:c6a85bb2a827 118 }
joe4465 0:c6a85bb2a827 119
joe4465 0:c6a85bb2a827 120 bool Status::getArmed()
joe4465 0:c6a85bb2a827 121 {
joe4465 0:c6a85bb2a827 122 return _armed;
joe4465 0:c6a85bb2a827 123 }
joe4465 0:c6a85bb2a827 124
joe4465 0:c6a85bb2a827 125 bool Status::setInitialised(bool initialised)
joe4465 0:c6a85bb2a827 126 {
joe4465 0:c6a85bb2a827 127 _initialised = initialised;
joe4465 0:c6a85bb2a827 128 return true;
joe4465 0:c6a85bb2a827 129 }
joe4465 0:c6a85bb2a827 130
joe4465 0:c6a85bb2a827 131 bool Status::getInitialised()
joe4465 0:c6a85bb2a827 132 {
joe4465 0:c6a85bb2a827 133 return _initialised;
joe4465 0:c6a85bb2a827 134 }
joe4465 0:c6a85bb2a827 135
joe4465 0:c6a85bb2a827 136 bool Status::setRcConnected(bool rcConnected)
joe4465 0:c6a85bb2a827 137 {
joe4465 0:c6a85bb2a827 138 _rcConnected = rcConnected;
joe4465 0:c6a85bb2a827 139 return true;
joe4465 0:c6a85bb2a827 140 }
joe4465 0:c6a85bb2a827 141
joe4465 0:c6a85bb2a827 142 bool Status::getRcConnected()
joe4465 0:c6a85bb2a827 143 {
joe4465 0:c6a85bb2a827 144 return _rcConnected;
joe4465 0:c6a85bb2a827 145 }