version 1.0
Dependencies: CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed
Fork of SolarOnFoils_MainModule_20150518 by
systemVar.h@2:f6d058931b17, 2015-08-11 (annotated)
- Committer:
- Dannis_mbed
- Date:
- Tue Aug 11 08:38:55 2015 +0000
- Revision:
- 2:f6d058931b17
- Parent:
- 1:b4a0d63db637
Test version mainmodule
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Dannis_mbed | 0:81b21910454e | 1 | #ifndef SYSTEMVAR_H_INCLUDED |
Dannis_mbed | 0:81b21910454e | 2 | #define SYSTEMVAR_H_INCLUDED |
Dannis_mbed | 0:81b21910454e | 3 | |
Dannis_mbed | 0:81b21910454e | 4 | #include "mbed.h" |
Dannis_mbed | 0:81b21910454e | 5 | #include "string.h" |
Dannis_mbed | 0:81b21910454e | 6 | #include "Quaternion.h" |
Dannis_mbed | 0:81b21910454e | 7 | |
Dannis_mbed | 0:81b21910454e | 8 | //Solar on Foils display values |
Dannis_mbed | 0:81b21910454e | 9 | enum VALUE_t |
Dannis_mbed | 0:81b21910454e | 10 | { |
Dannis_mbed | 0:81b21910454e | 11 | ////////////////////////////////////////////////////////////////////////////////////// |
Dannis_mbed | 0:81b21910454e | 12 | // system measured values // |
Dannis_mbed | 0:81b21910454e | 13 | ////////////////////////////////////////////////////////////////////////////////////// |
Dannis_mbed | 0:81b21910454e | 14 | _ROLL = 0, // roll |
Dannis_mbed | 0:81b21910454e | 15 | _PITCH, // pitch |
Dannis_mbed | 0:81b21910454e | 16 | _PHEIGHT, // portside height |
Dannis_mbed | 0:81b21910454e | 17 | _SHEIGHT, // starboard height |
Dannis_mbed | 0:81b21910454e | 18 | _PCURRENT, // portside current |
Dannis_mbed | 0:81b21910454e | 19 | _SCURRENT, // starboard current |
Dannis_mbed | 0:81b21910454e | 20 | _SPEED, // speed |
Dannis_mbed | 0:81b21910454e | 21 | ////////////////////////////////////////////////////////////////////////////////////// |
Dannis_mbed | 0:81b21910454e | 22 | // system variables // |
Dannis_mbed | 0:81b21910454e | 23 | ////////////////////////////////////////////////////////////////////////////////////// |
Dannis_mbed | 0:81b21910454e | 24 | _MAXROLL, // variable max roll |
Dannis_mbed | 0:81b21910454e | 25 | _MINPITCH, // variable min pitch |
Dannis_mbed | 0:81b21910454e | 26 | _MAXPITCH, // variable max pitch |
Dannis_mbed | 0:81b21910454e | 27 | _TAKEOFFSPEED, // variable take off speed |
Dannis_mbed | 0:81b21910454e | 28 | _HEIGHTFOILBORNE, // variable flight height foilborne |
Dannis_mbed | 0:81b21910454e | 29 | _HEIGHTFOILASSIST, // variable flight height foil assist |
Dannis_mbed | 0:81b21910454e | 30 | _AOAFOILASSIST // variable AOA foil assist |
Dannis_mbed | 0:81b21910454e | 31 | }; |
Dannis_mbed | 0:81b21910454e | 32 | |
Dannis_mbed | 0:81b21910454e | 33 | class SystemVar |
Dannis_mbed | 0:81b21910454e | 34 | { |
Dannis_mbed | 0:81b21910454e | 35 | private: |
Dannis_mbed | 0:81b21910454e | 36 | // variable |
Dannis_mbed | 0:81b21910454e | 37 | |
Dannis_mbed | 0:81b21910454e | 38 | char cValue[4]; |
Dannis_mbed | 1:b4a0d63db637 | 39 | char cMessage; |
Dannis_mbed | 0:81b21910454e | 40 | |
Dannis_mbed | 0:81b21910454e | 41 | VALUE_t value; |
Dannis_mbed | 0:81b21910454e | 42 | |
Dannis_mbed | 0:81b21910454e | 43 | uint32_t uiCounter; |
Dannis_mbed | 0:81b21910454e | 44 | uint32_t uiRoll[2]; |
Dannis_mbed | 0:81b21910454e | 45 | uint32_t uiPitch[2]; |
Dannis_mbed | 0:81b21910454e | 46 | uint32_t uiPHeight; |
Dannis_mbed | 0:81b21910454e | 47 | uint32_t uiSHeight; |
Dannis_mbed | 0:81b21910454e | 48 | uint32_t uiPCurrent; |
Dannis_mbed | 0:81b21910454e | 49 | uint32_t uiSCurrent; |
Dannis_mbed | 0:81b21910454e | 50 | uint32_t uiSpeed; |
Dannis_mbed | 0:81b21910454e | 51 | uint32_t uiVarMaxRoll; |
Dannis_mbed | 0:81b21910454e | 52 | uint32_t uiVarMinPitch; |
Dannis_mbed | 2:f6d058931b17 | 53 | uint32_t uiVarMaxPitch; |
Dannis_mbed | 2:f6d058931b17 | 54 | uint32_t uiVarTakeOffSpeed; |
Dannis_mbed | 2:f6d058931b17 | 55 | uint32_t uiVarHeightFoilBorne; |
Dannis_mbed | 2:f6d058931b17 | 56 | uint32_t uiVarHeightFoilAssist; |
Dannis_mbed | 2:f6d058931b17 | 57 | uint32_t uiVarAOAFoilAssist; |
Dannis_mbed | 0:81b21910454e | 58 | |
Dannis_mbed | 0:81b21910454e | 59 | bool bError; |
Dannis_mbed | 0:81b21910454e | 60 | |
Dannis_mbed | 0:81b21910454e | 61 | public: |
Dannis_mbed | 0:81b21910454e | 62 | // Constructor |
Dannis_mbed | 0:81b21910454e | 63 | SystemVar(); |
Dannis_mbed | 0:81b21910454e | 64 | // Destructor |
Dannis_mbed | 0:81b21910454e | 65 | ~SystemVar(); |
Dannis_mbed | 0:81b21910454e | 66 | |
Dannis_mbed | 0:81b21910454e | 67 | // Gets |
Dannis_mbed | 0:81b21910454e | 68 | char* getValue(void); |
Dannis_mbed | 0:81b21910454e | 69 | int iGetRollPolarity(void); |
Dannis_mbed | 1:b4a0d63db637 | 70 | int iGetPitchPolarity(void); |
Dannis_mbed | 1:b4a0d63db637 | 71 | uint32_t uiGetRoll(void); |
Dannis_mbed | 2:f6d058931b17 | 72 | uint32_t uiGetPitch(void); |
Dannis_mbed | 1:b4a0d63db637 | 73 | int32_t iGetHeightFoilBorne(void); |
Dannis_mbed | 2:f6d058931b17 | 74 | uint32_t uiGetVarMaxRoll(void); |
Dannis_mbed | 2:f6d058931b17 | 75 | uint32_t uiGetVarMinPitch(void); |
Dannis_mbed | 2:f6d058931b17 | 76 | uint32_t uiGetVarMaxPitch(void); |
Dannis_mbed | 2:f6d058931b17 | 77 | uint32_t uiGetVarTakeOffSpeed(void); |
Dannis_mbed | 2:f6d058931b17 | 78 | uint32_t uiGetVarHeightFoilBorne(void); |
Dannis_mbed | 2:f6d058931b17 | 79 | uint32_t uiGetVarHeightFoilAssist(void); |
Dannis_mbed | 2:f6d058931b17 | 80 | uint32_t uiGetVarAOAFoilAssist(void); |
Dannis_mbed | 2:f6d058931b17 | 81 | |
Dannis_mbed | 0:81b21910454e | 82 | |
Dannis_mbed | 0:81b21910454e | 83 | // Sets |
Dannis_mbed | 0:81b21910454e | 84 | void vSetRoll(Quaternion); |
Dannis_mbed | 0:81b21910454e | 85 | void vSetPitch(Quaternion); |
Dannis_mbed | 0:81b21910454e | 86 | void vSetPHeight(uint32_t); |
Dannis_mbed | 0:81b21910454e | 87 | void vSetSHeight(uint32_t); |
Dannis_mbed | 0:81b21910454e | 88 | void vSetPCurrent(uint32_t); |
Dannis_mbed | 0:81b21910454e | 89 | void vSetSCurrent(uint32_t); |
Dannis_mbed | 0:81b21910454e | 90 | void vSetSpeed(uint32_t); |
Dannis_mbed | 0:81b21910454e | 91 | // Set variables |
Dannis_mbed | 0:81b21910454e | 92 | void vVarMaxRoll(uint32_t); |
Dannis_mbed | 0:81b21910454e | 93 | void vVarMinPitch(uint32_t); |
Dannis_mbed | 0:81b21910454e | 94 | void vVarMaxPitch(uint32_t); |
Dannis_mbed | 0:81b21910454e | 95 | void vVarTakeOffSpeed(uint32_t); |
Dannis_mbed | 0:81b21910454e | 96 | void vVarHeightFoilBorne(uint32_t); |
Dannis_mbed | 0:81b21910454e | 97 | void vVarHeightFoilAssist(uint32_t); |
Dannis_mbed | 0:81b21910454e | 98 | void vVarAOAFoilAssist(uint32_t); |
Dannis_mbed | 0:81b21910454e | 99 | |
Dannis_mbed | 0:81b21910454e | 100 | // Other functions |
Dannis_mbed | 1:b4a0d63db637 | 101 | void init(void); |
Dannis_mbed | 0:81b21910454e | 102 | void itoa( uint32_t , char *); |
Dannis_mbed | 0:81b21910454e | 103 | void cShowValue(VALUE_t); |
Dannis_mbed | 2:f6d058931b17 | 104 | void vIncrease(VALUE_t); |
Dannis_mbed | 2:f6d058931b17 | 105 | void vDecrease(VALUE_t); |
Dannis_mbed | 0:81b21910454e | 106 | |
Dannis_mbed | 0:81b21910454e | 107 | }; |
Dannis_mbed | 0:81b21910454e | 108 | #endif |