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 GASCHANNELDACANDADCPAGEHANDLER_H
jmitc91516 1:a5258871b33d 2 #define GASCHANNELDACANDADCPAGEHANDLER_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 This class handles user interaction with the easyGUI "GasChannelDACAndADCPage",
jmitc91516 1:a5258871b33d 13 as well as storing the values in QSPI memory.
jmitc91516 1:a5258871b33d 14
jmitc91516 1:a5258871b33d 15 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 16 (we do not want multiple values for each DAC value, etc, and nor will we show
jmitc91516 1:a5258871b33d 17 more than one easyGUI 'GasChannelDACAndADCPage' to the user at the same time).
jmitc91516 1:a5258871b33d 18 */
jmitc91516 1:a5258871b33d 19 class GasChannelDACAndADCPageHandler {
jmitc91516 1:a5258871b33d 20 public:
jmitc91516 1:a5258871b33d 21 /**
jmitc91516 1:a5258871b33d 22 * Static method to create (if necessary) and retrieve the single GasChannelDACAndADCPageHandler instance
jmitc91516 1:a5258871b33d 23 */
jmitc91516 1:a5258871b33d 24 static GasChannelDACAndADCPageHandler * GetInstance(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 25
jmitc91516 1:a5258871b33d 26 bool TouchAreaIsOnGasChannelDACAndADCPage(int touchAreaIndex);
jmitc91516 1:a5258871b33d 27
jmitc91516 1:a5258871b33d 28 bool DealWithTouch(int touchAreaIndex);
jmitc91516 1:a5258871b33d 29
jmitc91516 1:a5258871b33d 30 void DisplayingEasyGUIPage(void);
jmitc91516 1:a5258871b33d 31
jmitc91516 1:a5258871b33d 32 private:
jmitc91516 1:a5258871b33d 33 static const int minimumDACValue;
jmitc91516 1:a5258871b33d 34 static const int maximumDACValue;
jmitc91516 1:a5258871b33d 35
jmitc91516 1:a5258871b33d 36 static const GuiConst_INTCOLOR inactiveFieldBackgroundColour;
jmitc91516 1:a5258871b33d 37 static const GuiConst_INTCOLOR activeFieldBackgroundColour;
jmitc91516 1:a5258871b33d 38
jmitc91516 1:a5258871b33d 39 // Explicit values here, to ensure that they match the easyGUI variable
jmitc91516 1:a5258871b33d 40 typedef enum enumChannelSelection { TOTAL_FLOW = 1, BACK_PRESSURE = 2, FUEL = 3, AIR = 4 } ChannelSelection;
jmitc91516 1:a5258871b33d 41
jmitc91516 1:a5258871b33d 42 ChannelSelection channelSelection;
jmitc91516 1:a5258871b33d 43
jmitc91516 1:a5258871b33d 44 USBDeviceConnected* usbDevice;
jmitc91516 1:a5258871b33d 45 USBHostGC* usbHostGC;
jmitc91516 1:a5258871b33d 46
jmitc91516 1:a5258871b33d 47 static GasChannelDACAndADCPageHandler * theGasChannelDACAndADCPageHandlerInstance;
jmitc91516 1:a5258871b33d 48
jmitc91516 1:a5258871b33d 49 // singleton class -> constructor is private
jmitc91516 1:a5258871b33d 50 GasChannelDACAndADCPageHandler(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 51 ~GasChannelDACAndADCPageHandler();
jmitc91516 1:a5258871b33d 52
jmitc91516 1:a5258871b33d 53 void SaveGasChannelSelectionToQSPISettings(void);
jmitc91516 1:a5258871b33d 54 void ReadGasChannelSelectionFromQSPISettings(void);
jmitc91516 1:a5258871b33d 55
jmitc91516 1:a5258871b33d 56 void UpdateEasyGUIPage(void);
jmitc91516 1:a5258871b33d 57
jmitc91516 1:a5258871b33d 58 bool GetGasChannelADCValue(int channel, char* buffer);
jmitc91516 1:a5258871b33d 59
jmitc91516 1:a5258871b33d 60 bool SetGasChannelDACValue(int channel, char* buffer);
jmitc91516 1:a5258871b33d 61
jmitc91516 1:a5258871b33d 62 };
jmitc91516 1:a5258871b33d 63
jmitc91516 1:a5258871b33d 64 #endif // GASCHANNELDACANDADCPAGEHANDLER_H
jmitc91516 1:a5258871b33d 65