/elec/propeller-clock

To get this branch, use:
bzr branch http://bzr.ed.am/elec/propeller-clock

« back to all changes in this revision

Viewing changes to src/analogue_clock_mode.h

  • Committer: edam
  • Date: 2012-02-29 21:56:32 UTC
  • Revision ID: edam@waxworlds.org-20120229215632-kypb9491vx7bicef
moved some stuf round, created a re-usable pool of message buffers, genericised "modes" for messages

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#define _ANALOGUE_CLOCK_MODE_H_
25
25
 
26
26
 
27
 
#include "mode.h"
28
 
 
29
 
 
30
 
class AnalogueClockMode : public Mode
 
27
#include "minor_mode.h"
 
28
 
 
29
 
 
30
class AnalogueClockMode : public MinorMode
31
31
{
32
32
public:
33
33
 
 
34
        AnalogueClockMode();
 
35
 
34
36
        /**
35
 
         * Called once per segment to draw a column of LEDs.
 
37
         * Draw an individual segment (column of pixels)
36
38
         *
37
 
         * @param segment the segment number to draw
 
39
         * @param segment the segment number
38
40
         */
39
41
        void draw( int segment );
40
42
 
41
43
        /**
42
 
         * Called at the start of a "frame", before any segments are drawn.
 
44
         * Called before the first segment is drawn, once per "frame".
43
45
         */
44
46
        void draw_reset();
45
47
 
46
 
        /**
47
 
         * Called when the mode is becoming active.
48
 
         */
49
 
        void activate();
50
 
 
51
 
        /**
52
 
         * Called when the button has been pressed.
53
 
         */
54
 
        void press();
55
 
 
56
48
private:
57
49
 
58
50
        /** the segment that the hour hand should be at */
64
56
        /** the segment that the second hand should be at */
65
57
        int _second_segment;
66
58
 
67
 
        /** the segment that the subsecond hand should be at */
68
 
        int _subsecond_segment;
69
 
 
70
 
        /** the flavour */
71
 
        int _flavour;
72
 
 
73
 
        /** number of elapsed milliseconds this second */
74
 
        unsigned long _second_millis;
75
59
};
76
60
 
77
61