diff --git a/Firmware/Chameleon-Mini/Codec/Codec.h b/Firmware/Chameleon-Mini/Codec/Codec.h index 6d8b364..a63ef9d 100644 --- a/Firmware/Chameleon-Mini/Codec/Codec.h +++ b/Firmware/Chameleon-Mini/Codec/Codec.h @@ -121,6 +121,9 @@ void isr_ISO15693_CODEC_TIMER_SAMPLING_CCC_VECT(void); volatile void (*isr_func_CODEC_DEMOD_IN_INT0_VECT)(void); void isr_ISO14443_2A_TCD0_CCC_vect(void); void isr_ISO15693_CODEC_DEMOD_IN_INT0_VECT(void); +volatile void (*isr_func_CODEC_TIMER_LOADMOD_CCB_VECT)(void); +void isr_ISO15693_CODEC_TIMER_LOADMOD_CCB_VECT(void); +void isr_SniffISO14443_2A_CODEC_TIMER_LOADMOD_CCB_VECT(void); INLINE void CodecInit(void) { ActiveConfiguration.CodecInitFunc(); diff --git a/Firmware/Chameleon-Mini/Codec/ISO15693.c b/Firmware/Chameleon-Mini/Codec/ISO15693.c index 4a81672..8c84219 100644 --- a/Firmware/Chameleon-Mini/Codec/ISO15693.c +++ b/Firmware/Chameleon-Mini/Codec/ISO15693.c @@ -230,7 +230,8 @@ void isr_ISO15693_CODEC_TIMER_SAMPLING_CCC_VECT(void) } -ISR(CODEC_TIMER_LOADMOD_CCB_VECT) +//ISR(CODEC_TIMER_LOADMOD_CCB_VECT) +void isr_ISO15693_CODEC_TIMER_LOADMOD_CCB_VECT(void) { static void* JumpTable[] = { [LOADMOD_START_SINGLE] = &&LOADMOD_START_SINGLE_LABEL, @@ -472,6 +473,7 @@ void ISO15693CodecInit(void) CodecInitCommon(); isr_func_TCD0_CCC_vect = &isr_ISO15693_CODEC_TIMER_SAMPLING_CCC_VECT; isr_func_CODEC_DEMOD_IN_INT0_VECT = &isr_ISO15693_CODEC_DEMOD_IN_INT0_VECT; + isr_func_CODEC_TIMER_LOADMOD_CCB_VECT = &isr_ISO15693_CODEC_TIMER_LOADMOD_CCB_VECT; StartISO15693Demod(); } diff --git a/Firmware/Chameleon-Mini/Codec/SniffISO14443-2A.c b/Firmware/Chameleon-Mini/Codec/SniffISO14443-2A.c index 628eead..499bd54 100644 --- a/Firmware/Chameleon-Mini/Codec/SniffISO14443-2A.c +++ b/Firmware/Chameleon-Mini/Codec/SniffISO14443-2A.c @@ -367,7 +367,8 @@ ISR(ACA_AC0_vect) // this interrupt either finds the SOC or gets triggered befor // according to the pause and modulated period // if the half bit duration is modulated, then add 1 to buffer // if the half bit duration is not modulated, then add 0 to buffer -ISR(CODEC_TIMER_LOADMOD_CCB_VECT) // pause found +//ISR(CODEC_TIMER_LOADMOD_CCB_VECT) // pause found +void isr_SniffISO14443_2A_CODEC_TIMER_LOADMOD_CCB_VECT(void) { uint8_t tmp = CODEC_TIMER_TIMESTAMPS.CNTL; CODEC_TIMER_TIMESTAMPS.CNT = 0; @@ -487,6 +488,7 @@ void Sniff14443ACodecInit(void) PORTE.DIRSET= PIN3_bm | PIN2_bm; // Common Codec Register settings CodecInitCommon(); + isr_func_CODEC_TIMER_LOADMOD_CCB_VECT = &isr_SniffISO14443_2A_CODEC_TIMER_LOADMOD_CCB_VECT; // Enable demodulator power CodecSetDemodPower(true);