2
* analogue_clock_mode.h
4
* Copyright (C) 2011 Tim Marston <tim@ed.am> and Dan Marston.
6
* This file is part of propeller-clock (hereafter referred to as "this
7
* program"). See http://ed.am/dev/software/arduino/propeller-clock for more
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as published
12
* by the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
20
* You should have received a copy of the GNU Lesser General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
23
#ifndef _ANALOGUE_CLOCK_MODE_H_
24
#define _ANALOGUE_CLOCK_MODE_H_
30
class AnalogueClockMode : public Mode
1
#include "minor_mode.h"
4
class AnalogueClockMode
35
* Called once per segment to draw a column of LEDs.
13
* Draw an individual segment (column of pixels)
37
* @param segment the segment number to draw
15
* @param segment the segment number
39
17
void draw( int segment );
42
* Called at the start of a "frame", before any segments are drawn.
47
* Called when the mode is becoming active.
52
* Called when the button has been pressed.
58
/** the segment that the hour hand should be at */
61
/** the segment that the minute hand should be at */
64
/** the segment that the second hand should be at */
67
/** the segment that the subsecond hand should be at */
68
int _subsecond_segment;
73
/** number of elapsed milliseconds this second */
74
unsigned long _second_millis;
78
#endif //_ANALOGUE_CLOCK_MODE_H_