Repository for import to local machine
Dependencies: DMBasicGUI DMSupport
DetectorIgnitionHandler.h@8:26e49e6955bd, 2017-07-31 (annotated)
- 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?
User | Revision | Line number | New 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 |