00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef USB_KEY_H
00042 #define USB_KEY_H
00043
00044
00045
00046 #include "config.h"
00047 #if (TARGET_BOARD==USBKEY)
00048
00049
00050
00051
00056
00064 #define LED_PORT PORTD
00065 #define LED_DDR DDRD
00066 #define LED_PIN PIND
00067 #define LED0_BIT PIND4
00068 #define LED1_BIT PIND5
00069 #define LED2_BIT PIND6
00070 #define LED3_BIT PIND7
00071
00072 #define Leds_init() (LED_DDR |= (1<<LED0_BIT) | (1<<LED1_BIT) | (1<<LED2_BIT) | (1<<LED3_BIT))
00073 #define Leds_on() (LED_PORT |= (1<<LED0_BIT) | (1<<LED1_BIT) | (1<<LED2_BIT) | (1<<LED3_BIT))
00074 #define Leds_off() (LED_PORT &= ~((1<<LED0_BIT) | (1<<LED1_BIT) | (1<<LED2_BIT) | (1<<LED3_BIT)))
00075 #define Leds_set_val(c) (Leds_off(),LED_PORT |= (c<<4)&((1<<LED0_BIT) | (1<<LED1_BIT) | (1<<LED2_BIT) | (1<<LED3_BIT)))
00076 #define Leds_get_val() (LED_PORT>>4)
00077
00078 #define Led0_on() (LED_PORT |= (1<<LED0_BIT))
00079 #define Led1_on() (LED_PORT |= (1<<LED1_BIT))
00080 #define Led2_on() (LED_PORT |= (1<<LED2_BIT))
00081 #define Led3_on() (LED_PORT |= (1<<LED3_BIT))
00082 #define Led0_off() (LED_PORT &= ~(1<<LED0_BIT))
00083 #define Led1_off() (LED_PORT &= ~(1<<LED1_BIT))
00084 #define Led2_off() (LED_PORT &= ~(1<<LED2_BIT))
00085 #define Led3_off() (LED_PORT &= ~(1<<LED3_BIT))
00086 #define Led0_toggle() (LED_PIN |= (1<<LED0_BIT))
00087 #define Led1_toggle() (LED_PIN |= (1<<LED1_BIT))
00088 #define Led2_toggle() (LED_PIN |= (1<<LED2_BIT))
00089 #define Led3_toggle() (LED_PIN |= (1<<LED3_BIT))
00090 #define Is_led0_on() (LED_PIN & (1<<LED0_BIT) ? TRUE : FALSE)
00091 #define Is_led1_on() (LED_PIN & (1<<LED1_BIT) ? TRUE : FALSE)
00092 #define Is_led2_on() (LED_PIN & (1<<LED2_BIT) ? TRUE : FALSE)
00093 #define Is_led3_on() (LED_PIN & (1<<LED3_BIT) ? TRUE : FALSE)
00095
00099 #define Joy_init() (DDRB &= ~((1<<PINB7)|(1<<PINB6)|(1<<PINB5)), PORTB |= ((1<<PINB7)|(1<<PINB6)|(1<<PINB5)), DDRE &= ~((1<<PINE5)|(1<<PINE4)), PORTE |= ((1<<PINE5)|(1<<PINE4)))
00100
00101 #define Is_btn_left() Is_hwb()
00102 #define Is_btn_middle() ((PINB & (1<<PINB5)) ? FALSE : TRUE)
00103 #define Is_btn_right() FALSE
00104
00105 #define Is_joy_up() ((PINB & (1<<PINB7)) ? FALSE : TRUE)
00106 #define Is_joy_left() ((PINB & (1<<PINB6)) ? FALSE : TRUE)
00107 #define Is_joy_down() ((PINE & (1<<PINE5)) ? FALSE : TRUE)
00108 #define Is_joy_right() ((PINE & (1<<PINE4)) ? FALSE : TRUE)
00109
00110 #define Is_btn_not_left() Is_not_hwb()
00111 #define Is_btn_not_middle() ((PINB & (1<<PINB5)) ? TRUE : FALSE)
00112 #define Is_btn_not_right() TRUE
00113
00114 #define Is_joy_not_up() ((PINB & (1<<PINB7)) ? TRUE : FALSE)
00115 #define Is_joy_not_left() ((PINB & (1<<PINB6)) ? TRUE : FALSE)
00116 #define Is_joy_not_down() ((PINE & (1<<PINE5)) ? TRUE : FALSE)
00117 #define Is_joy_not_right() ((PINE & (1<<PINE4)) ? TRUE : FALSE)
00118
00123 #define Switches_enable_it() { \
00124 PCMSK0 |= (1<<PCINT5)|(1<<PCINT6)|(1<<PCINT7);\
00125 PCIFR |= (1<<PCIF0); \
00126 PCICR |= (1<<PCIE0);}
00127
00132 #define Switches_disable_it() { \
00133 PCICR &= ~(1<<PCIE0); \
00134 PCIFR |= (1<<PCIF0); \
00135 PCMSK0 &= ~((1<<PCINT5)|(1<<PCINT6)|(1<<PCINT7));}
00137
00138
00143 #define Hwb_button_init() (DDRE &= ~(1<<PINE2), PORTE |= (1<<PINE2))
00144 #define Is_hwb() ((PINE & (1<<PINE2)) ? FALSE : TRUE)
00145 #define Is_not_hwb() ((PINE & (1<<PINE2)) ? TRUE : FALSE)
00147
00148
00152
00153
00154 #define DF_8_MB
00155 #define DF_NB_MEM 2
00156
00157
00158
00159
00160
00161
00162
00163
00164 #define Df_init_spi() (DDRB &= ~((1<<PINB3)), \
00165 DDRB |= ((1<<PINB2)|(1<<PINB1)|(1<<PINB0)), \
00166 PORTB |= ((1<<PINB3)|(1<<PINB2)|(1<<PINB1)|(1<<PINB0)),\
00167 DDRE |= ((1<<PINE1)|(1<<PINE0)), \
00168 PORTE |= ((1<<PINE1)|(1<<PINE0)) )
00169 #define Df_select_0() (PORTE &= ~(1<<PINE0))
00170 #define Df_select_1() (PORTE &= ~(1<<PINE1))
00171 #define Df_desel_all() (PORTE |= ((1<<PINE1)|(1<<PINE0)))
00172
00174
00176
00177
00178
00179 #define ADC_TEMP_CH 0x00
00180
00181 #ifdef USE_ADC
00182
00183
00184
00194 U16 Get_adc_temp_val(void);
00195
00196
00206 S16 Read_temperature(void);
00207
00208 #endif // USE_ADC
00209
00210 #endif // TARGET_BOARD==USBKEY
00211
00212 #endif // USB_KEY_H
00213