Repository for import to local machine

Dependencies:   DMBasicGUI DMSupport

Committer:
jmitc91516
Date:
Mon Jul 31 15:37:57 2017 +0000
Revision:
8:26e49e6955bd
Parent:
1:a5258871b33d
Method ramp scrolling improved, and more bitmaps moved to QSPI memory

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmitc91516 1:a5258871b33d 1 #ifndef COLUMNDHSENSORCALIBRATIONPAGEHANDLER_H
jmitc91516 1:a5258871b33d 2 #define COLUMNDHSENSORCALIBRATIONPAGEHANDLER_H
jmitc91516 1:a5258871b33d 3
jmitc91516 1:a5258871b33d 4 #include "mbed.h"
jmitc91516 1:a5258871b33d 5 #include "DMBoard.h"
jmitc91516 1:a5258871b33d 6
jmitc91516 1:a5258871b33d 7 #include "USBHostGC.h"
jmitc91516 1:a5258871b33d 8
jmitc91516 1:a5258871b33d 9 #include "GuiLib.h"
jmitc91516 1:a5258871b33d 10
jmitc91516 1:a5258871b33d 11 /*
jmitc91516 1:a5258871b33d 12 A struct to relate the index of an easyGUI touch area on the 'ColumnDHSensorCalibrationPage',
jmitc91516 1:a5258871b33d 13 with the easyGUI variable and our own internal variable to which it corresponds
jmitc91516 1:a5258871b33d 14 */
jmitc91516 1:a5258871b33d 15 typedef struct structColumnDHSensorCalibrationEasyGUITouchAreaAndVariables {
jmitc91516 1:a5258871b33d 16 int touchAreaIndex;
jmitc91516 1:a5258871b33d 17 GuiConst_TEXT * easyGUIVariablePtr;
jmitc91516 1:a5258871b33d 18 int maxValue;
jmitc91516 1:a5258871b33d 19 int minValue;
jmitc91516 1:a5258871b33d 20 bool canBeNegative;
jmitc91516 1:a5258871b33d 21 char variableTitle[41];
jmitc91516 1:a5258871b33d 22 } ColumnDHSensorCalibrationEasyGUITouchAreaAndVariables;
jmitc91516 1:a5258871b33d 23
jmitc91516 1:a5258871b33d 24
jmitc91516 1:a5258871b33d 25 /*
jmitc91516 1:a5258871b33d 26 This class handles user interaction with the easyGUI "ColumnDHSensorCalibrationPage".
jmitc91516 1:a5258871b33d 27
jmitc91516 1:a5258871b33d 28 Note that this class is a singleton - we do not need or want there to be more than one instance of it
jmitc91516 1:a5258871b33d 29 (we do not want multiple values for the calibration values, etc, and nor will we show
jmitc91516 1:a5258871b33d 30 more than one easyGUI 'ColumnDHSensorCalibrationPage' to the user at the same time).
jmitc91516 1:a5258871b33d 31 */
jmitc91516 1:a5258871b33d 32
jmitc91516 1:a5258871b33d 33 class ColumnDHSensorCalibrationPageHandler {
jmitc91516 1:a5258871b33d 34 public:
jmitc91516 1:a5258871b33d 35 /**
jmitc91516 1:a5258871b33d 36 * Static method to create (if necessary) and retrieve the single ColumnDHSensorCalibrationPageHandler instance
jmitc91516 1:a5258871b33d 37 */
jmitc91516 1:a5258871b33d 38 static ColumnDHSensorCalibrationPageHandler * GetInstance(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 39
jmitc91516 1:a5258871b33d 40 /**
jmitc91516 1:a5258871b33d 41 * Version of the above that does not create the instance. Provided for callers that do not have
jmitc91516 1:a5258871b33d 42 * the 'usbDevice' and 'usbHostGC' pointers, and that just want access to the instance
jmitc91516 1:a5258871b33d 43 */
jmitc91516 1:a5258871b33d 44 static ColumnDHSensorCalibrationPageHandler * GetInstance(void);
jmitc91516 1:a5258871b33d 45
jmitc91516 1:a5258871b33d 46 bool TouchAreaIsOnCalibrationPage(int touchAreaIndex);
jmitc91516 1:a5258871b33d 47
jmitc91516 1:a5258871b33d 48 bool DealWithTouch(int touchAreaIndex);
jmitc91516 1:a5258871b33d 49
jmitc91516 1:a5258871b33d 50 void DisplayingEasyGUIPage(bool updateEasyGUIVariables);
jmitc91516 1:a5258871b33d 51
jmitc91516 1:a5258871b33d 52 private:
jmitc91516 1:a5258871b33d 53 static ColumnDHSensorCalibrationPageHandler * theColumnDHSensorCalibrationPageHandlerInstance;
jmitc91516 1:a5258871b33d 54
jmitc91516 1:a5258871b33d 55 USBDeviceConnected* usbDevice;
jmitc91516 1:a5258871b33d 56 USBHostGC* usbHostGC;
jmitc91516 1:a5258871b33d 57
jmitc91516 1:a5258871b33d 58 // singleton class -> constructor is private
jmitc91516 1:a5258871b33d 59 ColumnDHSensorCalibrationPageHandler(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 60 ~ColumnDHSensorCalibrationPageHandler();
jmitc91516 1:a5258871b33d 61
jmitc91516 1:a5258871b33d 62 void GetCurrentCalibrationFromGC(void);
jmitc91516 1:a5258871b33d 63 void SetCurrentCalibrationInGC(void);
jmitc91516 1:a5258871b33d 64
jmitc91516 1:a5258871b33d 65 void SendCommandToGCAndGetResponse(char* command, char* response);
jmitc91516 1:a5258871b33d 66 bool SendCommandToGCWithDACKResponse(char *cmd);
jmitc91516 1:a5258871b33d 67
jmitc91516 1:a5258871b33d 68 bool GetGainCalibrationFromGC(char *cmd, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 69 bool GetOffsetCalibrationFromGC(char *cmd, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 70
jmitc91516 1:a5258871b33d 71 bool SetGainCalibrationInGC(char *cmd, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 72 bool SetOffsetCalibrationInGC(char *cmd, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 73
jmitc91516 1:a5258871b33d 74 enum { COUNT_OF_VARIABLES_FOR_TOUCH_AREAS = 4 };
jmitc91516 1:a5258871b33d 75 ColumnDHSensorCalibrationEasyGUITouchAreaAndVariables variablesForTouchArea[COUNT_OF_VARIABLES_FOR_TOUCH_AREAS];
jmitc91516 1:a5258871b33d 76
jmitc91516 1:a5258871b33d 77 int GetIndexOfValueToEditForTouchArea(int touchAreaIndex);
jmitc91516 1:a5258871b33d 78 };
jmitc91516 1:a5258871b33d 79
jmitc91516 1:a5258871b33d 80 #endif // COLUMNDHSENSORCALIBRATIONPAGEHANDLER_H