New version of quadcopter software written to OO principles

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

Revision:
0:c6a85bb2a827
Child:
2:969dfa4f2436
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Status/Status.cpp	Wed Mar 04 18:50:37 2015 +0000
@@ -0,0 +1,145 @@
+#include "Status.h"
+
+Status::Status(){}
+
+Status::~Status(){}
+
+bool Status::initialise()
+{
+    setState(PREFLIGHT);
+}
+
+bool Status::setState(State state)
+{
+    switch(state)
+    {
+        case PREFLIGHT:
+            setFlightMode(NOT_SET);
+            setBaseStationMode(STATUS);
+            setBatteryLevel(0);
+            setArmed(false);
+            setInitialised(false);
+            return true;
+              
+        case STANDBY:
+        
+            return true;
+              
+            
+        case GROUND_READY:
+        
+            return true;
+              
+            
+        case MANUAL:
+        
+            return true;
+              
+        
+        case STABILISED:
+            
+            return true;
+              
+        
+        case AUTO:
+            
+            return true;
+              
+        
+        case ABORT:
+            
+            return true;
+              
+            
+        case EMG_LAND:
+            
+            return true;
+              
+            
+        case EMG_OFF:
+            
+            return true;
+              
+            
+        case GROUND_ERROR:
+            
+            return true;
+              
+        
+        default:
+            
+            return false;
+              
+    }    
+}
+
+Status::State Status::getState()
+{
+    return _state;    
+}
+
+bool Status::setFlightMode(FlightMode flightMode)
+{
+    _flightMode = flightMode;
+    return true;
+}
+
+Status::FlightMode Status::getFlightMode()
+{
+    return _flightMode;
+}
+
+bool Status::setBaseStationMode(BaseStationMode baseStationMode)
+{
+    _baseStationMode = baseStationMode;
+    return true;
+}
+
+Status::BaseStationMode Status::getBaseStationMode()
+{
+    return _baseStationMode;
+}
+
+bool Status::setBatteryLevel(float batteryLevel)
+{
+    _batteryLevel = batteryLevel;
+    return true;
+}
+
+float Status::getBatteryLevel()
+{
+    return _batteryLevel;
+}
+
+bool Status::setArmed(bool armed)
+{
+    _armed = armed;
+    return true;
+}
+
+bool Status::getArmed()
+{
+    return _armed;
+}
+
+bool Status::setInitialised(bool initialised)
+{
+    _initialised = initialised;
+    return true;
+}
+
+bool Status::getInitialised()
+{
+    return _initialised;
+}
+
+bool Status::setRcConnected(bool rcConnected)
+{
+    _rcConnected = rcConnected;
+    return true;
+}
+
+bool Status::getRcConnected()
+{
+    return _rcConnected;
+}
\ No newline at end of file