37 #define CONFIG_TOUT() CONFIG_RB9_AS_DIG_OUTPUT()
38 #define TOUT _LATB9 //output state
40 #define TIN_RAW _RB8 //raw test in
41 #define CONFIG_TIN() CONFIG_RB8_AS_DIG_INPUT();
44 #define ISR_PERIOD 1 // in ms
45 #define MIN_STABLE 15 // in ms
46 #define MIN_STABLECOUNT MIN_STABLE/ISR_PERIOD
57 volatile uint8_t u8_valueTIN = 0;
60 void _ISRFAST _T3Interrupt (
void) {
62 if (u8_rawTIN != u8_oldrawTIN) {
64 u16_stableCountTIN = 0;
65 u8_oldrawTIN = u8_rawTIN;
68 if (u16_stableCountTIN >= MIN_STABLECOUNT) {
70 u8_valueTIN = u8_rawTIN;
78 void configTimer3(
void) {
82 T3CON = T3_OFF |T3_IDLE_CON | T3_GATE_OFF
96 #define TPW 20 // in ms, pulsewidth of TOUT
108 if (u8_valueTIN != u8_oldvalueTIN) {
109 u8_oldvalueTIN = u8_valueTIN;