00001 #include "dead_man.h"
00002
00003
00004 static short dm_pin = 0;
00005
00006 static short dead_man_state = 1;
00007 static short state_history_count = 0;
00008 static const int DEBOUNCE_LIMIT = 40;
00009
00010 void initializeDeadMan(int dead_man_pin) {
00011 dm_pin = dead_man_pin;
00012
00013 }
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 int getDeadMan() {
00029 if(IN(dm_pin)) state_history_count++;
00030 if(state_history_count < 0) state_history_count++;
00031 if(state_history_count > 0) {
00032 dead_man_state = !dead_man_state;
00033 state_history_count = -DEBOUNCE_LIMIT;
00034 }
00035 return dead_man_state;
00036 }