00001 #ifndef _MODES_H_
00002 #define _MODES_H_
00003
00004 #define FADETIME 128 //<! Transition time for xfading digits, in tmr0 overflow-counts
00005
00006 #define FADETIME_S 256 //<! Slow transition time
00007
00010 enum _fademode {
00011 FADE_OFF = 0,
00012 FADE_ON,
00013 FADE_SLOW
00014 };
00015
00016 extern volatile uint16_t fadetime_full;
00017 extern volatile uint16_t fadetime_quart;
00018
00019 void fade_set(uint8_t mode);
00020 enum _fademode fade_get();
00021
00023 enum _dotmode {
00024 DOT_BLINK = 0,
00025 DOT_ON,
00026 DOT_OFF
00027 };
00028
00029 extern volatile uint8_t dotmode;
00030
00031 void dotmode_set(uint8_t mode);
00032
00034 #define NDISPLAYMODES 3
00035 enum _displaymode {
00036 HHMM = 0,
00037 MMSS,
00038 VOLTAGE
00039 };
00040
00041 void mode_next();
00042 inline uint8_t mode_get();
00043
00045 enum _blinkmode {
00046 BLINK_NONE = 0,
00047 BLINK_HH = 1,
00048 BLINK_MM = 2,
00049 BLINK_ALL = 3,
00050 BLINK_SUPPRESS = 0200,
00051 };
00052
00053
00054 void blinkmode_set(uint8_t mode);
00055
00056 uint8_t blinkmode_get();
00057
00059 enum _savinmode {
00060 WASTE = 0,
00061 SAVE,
00062 SAVENIGHT,
00063 };
00064
00065 void savingmode_set(uint8_t s);
00066 uint8_t savingmode_get();
00067 void savingmode_next();
00068
00069
00070
00071 #endif