version 1.0

Dependencies:   CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed

Fork of SolarOnFoils_MainModule_20150518 by Dannis Brugman

Revision:
0:81b21910454e
Child:
1:b4a0d63db637
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/systemVar.h	Tue Jun 23 13:55:28 2015 +0000
@@ -0,0 +1,93 @@
+#ifndef SYSTEMVAR_H_INCLUDED
+#define SYSTEMVAR_H_INCLUDED
+
+#include "mbed.h"
+#include "string.h"
+#include "Quaternion.h"
+
+//Solar on Foils display values
+enum VALUE_t
+{
+//////////////////////////////////////////////////////////////////////////////////////
+// system measured values                                                           //
+////////////////////////////////////////////////////////////////////////////////////// 
+    _ROLL = 0,          // roll
+    _PITCH,             // pitch
+    _PHEIGHT,           // portside height
+    _SHEIGHT,           // starboard height
+    _PCURRENT,          // portside current
+    _SCURRENT,          // starboard current 
+    _SPEED,             // speed
+//////////////////////////////////////////////////////////////////////////////////////
+// system variables                                                                 //
+//////////////////////////////////////////////////////////////////////////////////////     
+    _MAXROLL,           // variable max roll
+    _MINPITCH,          // variable min pitch
+    _MAXPITCH,          // variable max pitch
+    _TAKEOFFSPEED,      // variable take off speed
+    _HEIGHTFOILBORNE,   // variable flight height foilborne
+    _HEIGHTFOILASSIST,  // variable flight height foil assist
+    _AOAFOILASSIST      // variable AOA foil assist
+};
+
+class SystemVar
+{
+    private:
+        // variable
+                
+        char cValue[4];
+        
+        VALUE_t value;
+        
+        uint32_t uiCounter;
+        uint32_t uiRoll[2];
+        uint32_t uiPitch[2];
+        uint32_t uiPHeight;
+        uint32_t uiSHeight;
+        uint32_t uiPCurrent;
+        uint32_t uiSCurrent;
+        uint32_t uiSpeed;
+        uint32_t uiVarMaxRoll;
+        uint32_t uiVarMinPitch;
+        uint32_t uivVarMaxPitch;
+        uint32_t uivVarTakeOffSpeed;
+        uint32_t uivVarHeightFoilBorne;
+        uint32_t uivVarHeightFoilAssist;
+        uint32_t uivVarAOAFoilAssist;
+                
+        bool bError;
+        
+    public:
+        // Constructor
+        SystemVar();
+        // Destructor
+        ~SystemVar();
+        
+        // Gets
+        char* getValue(void); 
+        int iGetRollPolarity(void);
+        int iGetPitchPolarity(void); 
+
+        // Sets
+        void vSetRoll(Quaternion);
+        void vSetPitch(Quaternion);
+        void vSetPHeight(uint32_t);
+        void vSetSHeight(uint32_t);
+        void vSetPCurrent(uint32_t);
+        void vSetSCurrent(uint32_t);
+        void vSetSpeed(uint32_t);
+        // Set variables
+        void vVarMaxRoll(uint32_t);
+        void vVarMinPitch(uint32_t);
+        void vVarMaxPitch(uint32_t);
+        void vVarTakeOffSpeed(uint32_t);
+        void vVarHeightFoilBorne(uint32_t);
+        void vVarHeightFoilAssist(uint32_t);
+        void vVarAOAFoilAssist(uint32_t);
+
+        // Other functions
+        void itoa( uint32_t , char *);
+        void cShowValue(VALUE_t);
+        
+};
+#endif