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 DETECTORIGNITIONHANDLER_H
jmitc91516 1:a5258871b33d 2 #define DETECTORIGNITIONHANDLER_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 #include "GCIgnitionStateEnum.h"
jmitc91516 1:a5258871b33d 9
jmitc91516 1:a5258871b33d 10 #include "GuiLib.h"
jmitc91516 1:a5258871b33d 11
jmitc91516 1:a5258871b33d 12 /*
jmitc91516 1:a5258871b33d 13 A class to handle the ignition of the detector, in response to the user
jmitc91516 1:a5258871b33d 14 pressing the 'Ignite' button on the easyGUI pages for the FID
jmitc91516 1:a5258871b33d 15 and FPD detector types.
jmitc91516 1:a5258871b33d 16
jmitc91516 1:a5258871b33d 17 Note that (as with many other classes in this application) this class is a singleton -
jmitc91516 1:a5258871b33d 18 we do not need or want there to be more than one instance of it (we do not want
jmitc91516 1:a5258871b33d 19 multiple ignition attempts going on simultaneously, and nor will we show
jmitc91516 1:a5258871b33d 20 more than one easyGUI Detector page to the user at the same time).
jmitc91516 1:a5258871b33d 21 */
jmitc91516 1:a5258871b33d 22
jmitc91516 1:a5258871b33d 23 class DetectorIgnitionHandler {
jmitc91516 1:a5258871b33d 24 public:
jmitc91516 1:a5258871b33d 25 /**
jmitc91516 1:a5258871b33d 26 * Static method to create (if necessary) and retrieve the single DetectorIgnitionHandler instance
jmitc91516 1:a5258871b33d 27 */
jmitc91516 1:a5258871b33d 28 static DetectorIgnitionHandler * GetInstance(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 29
jmitc91516 1:a5258871b33d 30 /**
jmitc91516 1:a5258871b33d 31 * Version of the above that does not create the instance. Provided for callers that do not have
jmitc91516 1:a5258871b33d 32 * the 'usbDevice' and 'usbHostGC' pointers, and that just want access to the instance
jmitc91516 1:a5258871b33d 33 */
jmitc91516 1:a5258871b33d 34 static DetectorIgnitionHandler * GetInstance(void);
jmitc91516 1:a5258871b33d 35
jmitc91516 1:a5258871b33d 36 bool TouchAreaIsDetectorIgniteButton(int touchAreaIndex);
jmitc91516 1:a5258871b33d 37
jmitc91516 1:a5258871b33d 38 bool DealWithTouch(int touchAreaIndex);
jmitc91516 1:a5258871b33d 39
jmitc91516 1:a5258871b33d 40 static bool Igniting(void) { return igniting; }
jmitc91516 1:a5258871b33d 41
jmitc91516 1:a5258871b33d 42 private:
jmitc91516 1:a5258871b33d 43 static DetectorIgnitionHandler * theDetectorIgnitionHandlerInstance;
jmitc91516 1:a5258871b33d 44
jmitc91516 1:a5258871b33d 45 USBDeviceConnected* usbDevice;
jmitc91516 1:a5258871b33d 46 USBHostGC* usbHostGC;
jmitc91516 1:a5258871b33d 47
jmitc91516 1:a5258871b33d 48 // singleton class -> constructor is private
jmitc91516 1:a5258871b33d 49 DetectorIgnitionHandler(USBDeviceConnected* newUsbDevice, USBHostGC* newUsbHostGC);
jmitc91516 1:a5258871b33d 50 ~DetectorIgnitionHandler();
jmitc91516 1:a5258871b33d 51
jmitc91516 1:a5258871b33d 52 void PerformIgnitionSequence(void);
jmitc91516 1:a5258871b33d 53
jmitc91516 1:a5258871b33d 54 void SendCommandToGCAndGetResponse(char* command, char* response);
jmitc91516 1:a5258871b33d 55
jmitc91516 1:a5258871b33d 56 bool TellGCToIgniteDetector(void);
jmitc91516 1:a5258871b33d 57
jmitc91516 1:a5258871b33d 58 IgnitionState GetDetectorIgnitionState(void);
jmitc91516 1:a5258871b33d 59
jmitc91516 1:a5258871b33d 60 void DrawTextOnIgniteButton(char* text, GuiConst_INTCOLOR foreColor, GuiConst_INTCOLOR backColor);
jmitc91516 1:a5258871b33d 61
jmitc91516 1:a5258871b33d 62 void DrawIgnitionLightingText(void);
jmitc91516 1:a5258871b33d 63 void DrawIgnitionLitText(void);
jmitc91516 1:a5258871b33d 64 void DrawIgnitionNotLitText(void);
jmitc91516 1:a5258871b33d 65
jmitc91516 1:a5258871b33d 66 static bool igniting;
jmitc91516 1:a5258871b33d 67 };
jmitc91516 1:a5258871b33d 68
jmitc91516 1:a5258871b33d 69 #endif // DETECTORIGNITIONHANDLER_H