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 COLUMNDHMANUALCALIBRATIONPAGEHANDLER_H
jmitc91516 1:a5258871b33d 2 #define COLUMNDHMANUALCALIBRATIONPAGEHANDLER_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 'ColumnDHManualCalibrationPage',
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 structColumnDHManualCalibrationEasyGUITouchAreaAndVariables {
jmitc91516 1:a5258871b33d 16 int touchAreaIndex;
jmitc91516 1:a5258871b33d 17 GuiConst_TEXT * easyGUIVariablePtr;
jmitc91516 1:a5258871b33d 18 unsigned int maxValue;
jmitc91516 1:a5258871b33d 19 unsigned int placesOfDecimals;
jmitc91516 1:a5258871b33d 20 char variableTitle[41];
jmitc91516 1:a5258871b33d 21 char sprintfFormat[10];
jmitc91516 1:a5258871b33d 22 } ColumnDHManualCalibrationEasyGUITouchAreaAndVariables;
jmitc91516 1:a5258871b33d 23
jmitc91516 1:a5258871b33d 24
jmitc91516 1:a5258871b33d 25 /*
jmitc91516 1:a5258871b33d 26 This class handles user interaction with the easyGUI "ColumnDHManualCalibrationPage".
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 'ColumnDHManualCalibrationPage' to the user at the same time).
jmitc91516 1:a5258871b33d 31 */
jmitc91516 1:a5258871b33d 32
jmitc91516 1:a5258871b33d 33 class ColumnDHManualCalibrationPageHandler {
jmitc91516 1:a5258871b33d 34 public:
jmitc91516 1:a5258871b33d 35 /**
jmitc91516 1:a5258871b33d 36 * Static method to create (if necessary) and retrieve the single ColumnDHManualCalibrationPageHandler instance
jmitc91516 1:a5258871b33d 37 */
jmitc91516 1:a5258871b33d 38 static ColumnDHManualCalibrationPageHandler * 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 ColumnDHManualCalibrationPageHandler * 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 ColumnDHManualCalibrationPageHandler * theColumnDHManualCalibrationPageHandlerInstance;
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 ColumnDHManualCalibrationPageHandler(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 60 ~ColumnDHManualCalibrationPageHandler();
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 GetColumnTemperaturePointFromGC(int pointNumber, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 69 bool GetColumnResistancePointFromGC(int pointNumber, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 70
jmitc91516 1:a5258871b33d 71 bool SetColumnTemperaturePointInGC(int pointNumber, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 72 bool SetColumnResistancePointInGC(int pointNumber, GuiConst_TEXT* easyGUIVariable);
jmitc91516 1:a5258871b33d 73
jmitc91516 1:a5258871b33d 74 void UpdateEasyGUIPage(void);
jmitc91516 1:a5258871b33d 75
jmitc91516 1:a5258871b33d 76 enum { COUNT_OF_VARIABLES_FOR_TOUCH_AREAS = 6 };
jmitc91516 1:a5258871b33d 77 ColumnDHManualCalibrationEasyGUITouchAreaAndVariables variablesForTouchArea[COUNT_OF_VARIABLES_FOR_TOUCH_AREAS];
jmitc91516 1:a5258871b33d 78
jmitc91516 1:a5258871b33d 79 int GetIndexOfValueToEditForTouchArea(int touchAreaIndex);
jmitc91516 1:a5258871b33d 80
jmitc91516 1:a5258871b33d 81 };
jmitc91516 1:a5258871b33d 82
jmitc91516 1:a5258871b33d 83 #endif // COLUMNDHMANUALCALIBRATIONPAGEHANDLER_H