Richard Parker / EALCD
Committer:
richardparker
Date:
Wed Mar 31 22:22:21 2010 +0000
Revision:
3:24fbf4dbd7e5
Child:
4:f8f7f4f9c58d

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
richardparker 3:24fbf4dbd7e5 1 // Copyright 2010 Richard Parker
richardparker 3:24fbf4dbd7e5 2
richardparker 3:24fbf4dbd7e5 3 #ifndef MBED_EASETTINGS_H
richardparker 3:24fbf4dbd7e5 4 #define MBED_EASETTINGS_H
richardparker 3:24fbf4dbd7e5 5
richardparker 3:24fbf4dbd7e5 6 #include "mbed.h"
richardparker 3:24fbf4dbd7e5 7
richardparker 3:24fbf4dbd7e5 8 #include "../manager/EAHitHandler.h"
richardparker 3:24fbf4dbd7e5 9
richardparker 3:24fbf4dbd7e5 10 class EALCD;
richardparker 3:24fbf4dbd7e5 11 class EATouchManager;
richardparker 3:24fbf4dbd7e5 12 class EAButton;
richardparker 3:24fbf4dbd7e5 13 class EATouch;
richardparker 3:24fbf4dbd7e5 14
richardparker 3:24fbf4dbd7e5 15 /**
richardparker 3:24fbf4dbd7e5 16 * Class to handle setting up the peripherals on the EA star gazer board.
richardparker 3:24fbf4dbd7e5 17 * @author Richard Parker
richardparker 3:24fbf4dbd7e5 18 */
richardparker 3:24fbf4dbd7e5 19 class EASettings: public EAHitHandler
richardparker 3:24fbf4dbd7e5 20 {
richardparker 3:24fbf4dbd7e5 21 public:
richardparker 3:24fbf4dbd7e5 22 enum State {
richardparker 3:24fbf4dbd7e5 23 STATE_IDLE,
richardparker 3:24fbf4dbd7e5 24 STATE_ENDED,
richardparker 3:24fbf4dbd7e5 25 STATE_PORTAL,
richardparker 3:24fbf4dbd7e5 26 STATE_DATE_DAY,
richardparker 3:24fbf4dbd7e5 27 STATE_DATE_MONTH,
richardparker 3:24fbf4dbd7e5 28 STATE_DATE_YEAR,
richardparker 3:24fbf4dbd7e5 29 STATE_DATE_HOUR,
richardparker 3:24fbf4dbd7e5 30 STATE_DATE_MINUTE,
richardparker 3:24fbf4dbd7e5 31 STATE_DATE_SECOND
richardparker 3:24fbf4dbd7e5 32 };
richardparker 3:24fbf4dbd7e5 33
richardparker 3:24fbf4dbd7e5 34 EASettings(EALCD& lcd, EATouch& touch, EATouchManager& manager);
richardparker 3:24fbf4dbd7e5 35 ~EASettings();
richardparker 3:24fbf4dbd7e5 36
richardparker 3:24fbf4dbd7e5 37 void start();
richardparker 3:24fbf4dbd7e5 38
richardparker 3:24fbf4dbd7e5 39 inline unsigned short size() { return 40; }
richardparker 3:24fbf4dbd7e5 40
richardparker 3:24fbf4dbd7e5 41 virtual void actionHandler(EAHitBox* box, short x, short y);
richardparker 3:24fbf4dbd7e5 42
richardparker 3:24fbf4dbd7e5 43 inline EASettings::State state() { return _state; }
richardparker 3:24fbf4dbd7e5 44
richardparker 3:24fbf4dbd7e5 45 private:
richardparker 3:24fbf4dbd7e5 46 EALCD& _lcd;
richardparker 3:24fbf4dbd7e5 47 EATouch& _touch;
richardparker 3:24fbf4dbd7e5 48 EATouchManager& _manager;
richardparker 3:24fbf4dbd7e5 49 struct tm* _time;
richardparker 3:24fbf4dbd7e5 50
richardparker 3:24fbf4dbd7e5 51 EAButton* _launchBox;
richardparker 3:24fbf4dbd7e5 52 EAButton* _returnBox;
richardparker 3:24fbf4dbd7e5 53 EAButton* _touchBox;
richardparker 3:24fbf4dbd7e5 54 EAButton* _dateBox;
richardparker 3:24fbf4dbd7e5 55 EAButton* _compassBox;
richardparker 3:24fbf4dbd7e5 56 EAButton* _nextBox;
richardparker 3:24fbf4dbd7e5 57 EAButton* _prevBox;
richardparker 3:24fbf4dbd7e5 58 EAButton* _incBox;
richardparker 3:24fbf4dbd7e5 59 EAButton* _decBox;
richardparker 3:24fbf4dbd7e5 60
richardparker 3:24fbf4dbd7e5 61 EASettings::State _state;
richardparker 3:24fbf4dbd7e5 62
richardparker 3:24fbf4dbd7e5 63 void _disableHitBoxs();
richardparker 3:24fbf4dbd7e5 64
richardparker 3:24fbf4dbd7e5 65 void _drawLaunchButton();
richardparker 3:24fbf4dbd7e5 66 void _drawPortal();
richardparker 3:24fbf4dbd7e5 67 void _drawDate();
richardparker 3:24fbf4dbd7e5 68
richardparker 3:24fbf4dbd7e5 69 EASettings::State _incDate();
richardparker 3:24fbf4dbd7e5 70 EASettings::State _decDate();
richardparker 3:24fbf4dbd7e5 71 EASettings::State _nextDate();
richardparker 3:24fbf4dbd7e5 72 EASettings::State _prevDate();
richardparker 3:24fbf4dbd7e5 73 void _enableDateButtons();
richardparker 3:24fbf4dbd7e5 74
richardparker 3:24fbf4dbd7e5 75 };
richardparker 3:24fbf4dbd7e5 76
richardparker 3:24fbf4dbd7e5 77 #endif