mirror of
https://github.com/RfidResearchGroup/ChameleonMini.git
synced 2026-05-12 11:20:37 -07:00
75 lines
2.3 KiB
C
75 lines
2.3 KiB
C
/*
|
|
* CODEC.h
|
|
*
|
|
* Created on: 18.02.2013
|
|
* Author: skuser
|
|
*/
|
|
|
|
#ifndef CODEC_H_
|
|
#define CODEC_H_
|
|
|
|
#include <avr/io.h>
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include "../Common.h"
|
|
#include "../Configuration.h"
|
|
|
|
#include "ISO14443-2A.h"
|
|
|
|
#define CODEC_DEMOD_POWER_PORT PORTB
|
|
#define CODEC_DEMOD_POWER_MASK PIN1_bm
|
|
#define CODEC_DEMOD_IN_PORT PORTB
|
|
#define CODEC_DEMOD_IN_MASK (CODEC_DEMOD_IN_MASK0 | CODEC_DEMOD_IN_MASK1)
|
|
#define CODEC_DEMOD_IN_MASK0 PIN2_bm
|
|
#define CODEC_DEMOD_IN_MASK1 PIN0_bm
|
|
#define CODEC_DEMOD_IN_PINCTRL0 PIN2CTRL
|
|
#define CODEC_DEMOD_IN_PINCTRL1 PIN0CTRL
|
|
#define CODEC_DEMOD_IN_EVMUX0 EVSYS_CHMUX_PORTB_PIN2_gc
|
|
#define CODEC_DEMOD_IN_EVMUX1 EVSYS_CHMUX_PORTB_PIN0_gc
|
|
#define CODEC_DEMOD_IN_INT0_VECT PORTB_INT0_vect
|
|
#define CODEC_LOADMOD_PORT PORTC
|
|
#define CODEC_LOADMOD_MASK PIN6_bm
|
|
#define CODEC_CARRIER_IN_PORT PORTC
|
|
#define CODEC_CARRIER_IN_MASK PIN2_bm
|
|
#define CODEC_CARRIER_IN_PINCTRL PIN2CTRL
|
|
#define CODEC_CARRIER_IN_EVMUX EVSYS_CHMUX_PORTC_PIN2_gc
|
|
#define CODEC_SUBCARRIER_PORT PORTC
|
|
#define CODEC_SUBCARRIER_MASK_PSK PIN0_bm
|
|
#define CODEC_SUBCARRIER_MASK_OOK PIN1_bm
|
|
#define CODEC_SUBCARRIER_MASK (CODEC_SUBCARRIER_MASK_PSK | CODEC_SUBCARRIER_MASK_OOK)
|
|
#define CODEC_SUBCARRIER_TIMER TCC0
|
|
#define CODEC_SUBCARRIER_CC_PSK CCA
|
|
#define CODEC_SUBCARRIER_CC_OOK CCB
|
|
#define CODEC_SUBCARRIER_CCEN_PSK TC0_CCAEN_bm
|
|
#define CODEC_SUBCARRIER_CCEN_OOK TC0_CCBEN_bm
|
|
#define CODEC_TIMER_SAMPLING TCC1
|
|
#define CODEC_TIMER_SAMPLING_CCA_VECT TCC1_CCA_vect
|
|
#define CODEC_TIMER_LOADMOD TCD1
|
|
#define CODEC_TIMER_OVF_VECT TCD1_OVF_vect
|
|
|
|
#define CODEC_BUFFER_SIZE 256 /* Byte */
|
|
|
|
#define CODEC_CARRIER_FREQ 13560000
|
|
|
|
extern uint8_t CodecBuffer[CODEC_BUFFER_SIZE];
|
|
|
|
INLINE void CodecInit(void) {
|
|
ActiveConfiguration.CodecInitFunc();
|
|
}
|
|
|
|
INLINE void CodecTask(void) {
|
|
ActiveConfiguration.CodecTaskFunc();
|
|
}
|
|
|
|
INLINE void CodecSetDemodPower(bool bOnOff) {
|
|
CODEC_DEMOD_POWER_PORT.DIRSET = CODEC_DEMOD_POWER_MASK;
|
|
|
|
if (bOnOff) {
|
|
CODEC_DEMOD_POWER_PORT.OUTSET = CODEC_DEMOD_POWER_MASK;
|
|
} else {
|
|
CODEC_DEMOD_POWER_PORT.OUTCLR = CODEC_DEMOD_POWER_MASK;
|
|
}
|
|
}
|
|
|
|
#endif /* CODEC_H_ */
|