Add thursday mode timeout
This commit is contained in:
parent
f49a062cf2
commit
65aaea23bf
1 changed files with 13 additions and 3 deletions
16
main.c
16
main.c
|
|
@ -10,11 +10,13 @@
|
|||
#define MIN_PULSE_WIDTH_MS 50
|
||||
#define RING_DURATION_SEC 20
|
||||
#define OPEN_DURATION_SEC 3
|
||||
#define THURSDAY_TIMEOUT_MIN 90UL
|
||||
|
||||
#define PRESSED_MIN_MS 250
|
||||
#define RELEASED_MIN_MS 250
|
||||
#define PRESSED_MIN_MS 250UL
|
||||
#define RELEASED_MIN_MS 250UL
|
||||
|
||||
uint8_t global_thursday_mode = 0;
|
||||
static uint8_t global_thursday_mode = 0;
|
||||
static uint16_t global_thursday_timectr_sec = 0;
|
||||
|
||||
void tx_str(const char * PROGMEM s) {
|
||||
uint8_t c;
|
||||
|
|
@ -64,6 +66,7 @@ uint8_t handle_open_button(void) {
|
|||
void ring(void) {
|
||||
if (global_thursday_mode) {
|
||||
tx_str(PSTR("THUA Thursday mode auto open\r\n"));
|
||||
global_thursday_timectr_sec = 0;
|
||||
open();
|
||||
} else {
|
||||
tx_str(PSTR("RING Ringing\r\n"));
|
||||
|
|
@ -83,6 +86,7 @@ void code(void) {
|
|||
|
||||
void set_thursday_mode(uint8_t mode) {
|
||||
global_thursday_mode = mode;
|
||||
global_thursday_timectr_sec = 0;
|
||||
|
||||
tx_str(mode ? PSTR("THU1 Thursday mode set to on\r\n") : PSTR("THU0 Thursday mode set to off\r\n"));
|
||||
|
||||
|
|
@ -164,6 +168,12 @@ int main(void) {
|
|||
codefail = 0;
|
||||
thursday_toggle_timeout = 0;
|
||||
TCNT1 = 0;
|
||||
|
||||
global_thursday_timectr_sec += TIMEOUT_SEC;
|
||||
if (global_thursday_timectr_sec >= THURSDAY_TIMEOUT_MIN*60) {
|
||||
tx_str(PSTR("TOUT Thursday mode timeout\r\n"));
|
||||
set_thursday_mode(0);
|
||||
}
|
||||
} else {
|
||||
uint8_t st = PINC&1;
|
||||
if (st == (pidx&1)) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue