/* This project is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Multiprotocol is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Multiprotocol. If not, see . */ //******************* //*** Pinouts *** //******************* #if 0 // SDIO MOSI #define SDI_pin 2 //D5 = PD5 #define SDI_port PORTB #define SDI_ipr PINB #define SDI_ddr DDRB #define SDI_on SDI_port |= _BV(SDI_pin) #define SDI_off SDI_port &= ~_BV(SDI_pin) #define SDI_1 (SDI_ipr & _BV(SDI_pin)) #define SDI_0 (SDI_ipr & _BV(SDI_pin)) == 0x00 #define SDI_input SDI_ddr &= ~_BV(SDI_pin) #define SDI_output SDI_ddr |= _BV(SDI_pin) //SDO / MISO #define SDO_pin 3 //D6 = PD6 #define SDO_port PORTB #define SDO_ipr PINB #define SDO_1 (SDO_ipr & _BV(SDO_pin)) #define SDO_0 (SDO_ipr & _BV(SDO_pin)) == 0x00 // SCLK #define SCLK_port PORTB #define SCLK_ddr DDRB #define SCLK_pin 1 //D4 = PD4 #define SCLK_output SCLK_ddr |= _BV(SCLK_pin) #define SCLK_on SCLK_port |= _BV(SCLK_pin) #define SCLK_off SCLK_port &= ~_BV(SCLK_pin) // Chip select CC2500 #define CC25_CSN_pin 7 //D7 = PD7 #define CC25_CSN_port PORTE #define CC25_CSN_ddr DDRE #define CC25_CSN_output CC25_CSN_ddr |= _BV(CC25_CSN_pin) #define CC25_CSN_on CC25_CSN_port |= _BV(CC25_CSN_pin) #define CC25_CSN_off CC25_CSN_port &= ~_BV(CC25_CSN_pin) //******************* //*** Timer *** //******************* #define OCF1A_bm _BV(OCF1A) #define OCF1B_bm _BV(OCF1B) #define SET_TIMSK1_OCIE1B TIMSK1 |= _BV(OCIE1B) #define CLR_TIMSK1_OCIE1B TIMSK1 &=~_BV(OCIE1B) #else // SDIO MOSI #define SDI_pin 26 #define SDI_on digitalWrite(SDI_pin, HIGH) #define SDI_off digitalWrite(SDI_pin, LOW) #define SDI_1 (digitalRead(SDI_pin) == HIGH) #define SDI_0 (digitalRead(SDI_pin) == LOW) #define SDI_input pinMode(SDI_pin, INPUT); #define SDI_output pinMode(SDI_pin, OUTPUT); //SDO / MISO #define SDO_pin 25 #define SDO_on digitalWrite(SDO_pin, HIGH) #define SDO_off digitalWrite(SDO_pin, LOW) #define SDO_1 (digitalRead(SDO_pin) == HIGH) #define SDO_0 (digitalRead(SDO_pin) == LOW) #define SDO_input pinMode(SDO_pin, INPUT); #define SDO_output pinMode(SDO_pin, OUTPUT); // SCLK #define SCLK_pin 33 #define SCLK_on digitalWrite(SCLK_pin, HIGH) #define SCLK_off digitalWrite(SCLK_pin, LOW) #define SCLK_1 (digitalRead(SCLK_pin) == HIGH) #define SCLK_0 (digitalRead(SCLK_pin) == LOW) #define SCLK_input pinMode(SCLK_pin, INPUT); #define SCLK_output pinMode(SCLK_pin, OUTPUT); // Chip select CC2500 #define CC25_CSN_pin 32 #define CC25_CSN_on digitalWrite(CC25_CSN_pin, HIGH) #define CC25_CSN_off digitalWrite(CC25_CSN_pin, LOW) #define CC25_CSN_1 (digitalRead(CC25_CSN_pin) == HIGH) #define CC25_CSN_0 (digitalRead(CC25_CSN_pin) == LOW) #define CC25_CSN_input pinMode(CC25_CSN_pin, INPUT); #define CC25_CSN_output pinMode(CC25_CSN_pin, OUTPUT); #endif //******************* //*** EEPROM *** //******************* #define EE_ADDR uint8_t*