int main(void) { extern uchar usbNewDeviceAddr; uint8_t i; PORTC |= (1<<PC2); //Reconnect USB usbDeviceDisconnect(); /* enforce re-enumeration, do this while interrupts are disabled! */ i = 0; while(--i) _delay_ms(2); usbDeviceConnect(); usbInit(); sei(); leds[LED_RED].frequency = LED_ON; LED_init(); for (i=0;i<3;i++) TIMER_delay(250); leds[LED_RED].frequency = LED_OFF; LED_poll(); // wdt_enable(WDTO_60MS); i2c_init(); for(;;) { if(usbNewDeviceAddr) { leds[LED_BLUE].frequency = LED_ON; } wdt_reset(); LED_poll(); usbPoll(); } return 0; }
int main(void) { extern uchar usbNewDeviceAddr; uint8_t i; //Reconnect USB usbDeviceDisconnect(); /* enforce re-enumeration, do this while interrupts are disabled! */ i = 0; while(--i) _delay_ms(2); usbDeviceConnect(); usbInit(); sei(); leds[LED_RED].frequency = LED_ON; LED_init(); for (i=0; i<3; i++) TIMER_delay(250); leds[LED_RED].frequency = LED_OFF; leds[LED_GREEN].frequency = 1; while(1) { if (TIMER_timeout == 0) { if(usbNewDeviceAddr) leds[LED_BLUE].frequency = LED_ON; PORTD ^= (1<<PD7); TIMER_start(1); usbPoll(); LED_poll(); } } }
void LED_init(void) { uint8_t i; for (i=0;i<led_count;i++) LED_DDR |= (1<<leds[i].pin); LED_counter = (F_CPU/100000); LED_poll(); }
int main(void) { extern uchar usbNewDeviceAddr; PORTC |= (1<<PC2); uint8_t i; //Reconnect USB usbDeviceDisconnect(); /* enforce re-enumeration, do this while interrupts are disabled! */ i = 0; while(--i) _delay_ms(2); usbDeviceConnect(); usbInit(); sei(); leds[LED_RED].frequency = LED_ON; LED_init(); for (i=0;i<3;i++) TIMER_delay(250); leds[LED_RED].frequency = LED_OFF; CHANNELDDR1 &= ~((1 << CHANNEL_1) | (1 << CHANNEL_2) | (1 << CHANNEL_3) | (1 << CHANNEL_4)); CHANNELPORT1 |= ((1 << CHANNEL_1) | (1 << CHANNEL_2) | (1 << CHANNEL_3) | (1 << CHANNEL_4)); CHANNELDDR2 &= ~((1 << CHANNEL_5) | (1 << CHANNEL_6)); CHANNELPORT2 |= ((1 << CHANNEL_5) | (1 << CHANNEL_6)); uint8_t tmp1,tmp1_old; uint8_t tmp2,tmp2_old; while(1) { if (TIMER_timeout == 0) { if(usbNewDeviceAddr) leds[LED_BLUE].frequency = LED_ON; TIMER_start(49); usbPoll(); LED_poll(); } tmp1 = CHANNELPIN1; tmp2 = CHANNELPIN2; if ((tmp1 != tmp1_old) || (tmp2 != tmp2_old)) // if (((channel1trigger & tmp1) == channel1trigger) || ((channel2trigger & tmp2) == channel2trigger)) { buffer[buffer_put++] = (tmp1 & ((1 << CHANNEL_1) | (1 << CHANNEL_2) | (1 << CHANNEL_3) | (1 << CHANNEL_4))) +(tmp2 & ((1 << CHANNEL_5) | (1 << CHANNEL_6))); } tmp1_old = tmp1; tmp2_old = tmp2; } }
int main(void) { extern uchar usbNewDeviceAddr; uint8_t i,j; PORTC |= (1<<PC2); /* activate pull-ups except on USB lines */ USB_CFG_IOPORT = (uchar)~((1<<USB_CFG_DMINUS_BIT)|(1<<USB_CFG_DPLUS_BIT)); /* all pins input except USB (-> USB reset) */ #ifdef USB_CFG_PULLUP_IOPORT /* use usbDeviceConnect()/usbDeviceDisconnect() if available */ USBDDR = 0; /* we do RESET by deactivating pullup */ usbDeviceDisconnect(); #else USBDDR = (1<<USB_CFG_DMINUS_BIT)|(1<<USB_CFG_DPLUS_BIT); #endif j = 0; while(--j){ /* USB Reset by device only required on Watchdog Reset */ i = 0; while(--i); /* delay >10ms for USB reset */ } #ifdef USB_CFG_PULLUP_IOPORT usbDeviceConnect(); #else USBDDR = 0; /* remove USB reset condition */ #endif usbInit(); sei(); leds[LED_RED].frequency = LED_ON; LED_init(); for (i=0;i<3;i++) TIMER_delay(250); leds[LED_RED].frequency = LED_OFF; while(1) { if (TIMER_timeout == 0) { if(usbNewDeviceAddr) leds[LED_BLUE].frequency = LED_ON; TIMER_start(10); usbPoll(); LED_poll(); KEY_pol(); } } }
int main(void) { extern uchar usbNewDeviceAddr; uint8_t i; //Reconnect USB usbDeviceDisconnect(); /* enforce re-enumeration, do this while interrupts are disabled! */ i = 0; while(--i) _delay_ms(2); usbDeviceConnect(); usbInit(); sei(); leds[LED_RED].frequency = LED_ON; LED_init(); for (i=0;i<3;i++) TIMER_delay(250); leds[LED_RED].frequency = LED_OFF; leds[LED_GREEN].frequency = LED_ON; //Input with pullups CHANNELDDR1 &= ~((1 << CHANNEL_1) | (1 << CHANNEL_2) | (1 << CHANNEL_3) | (1 << CHANNEL_4)); CHANNELPORT1 |= ((1 << CHANNEL_1) | (1 << CHANNEL_2) | (1 << CHANNEL_3) | (1 << CHANNEL_4)); CHANNELDDR2 &= ~((1 << CHANNEL_5) | (1 << CHANNEL_6)); CHANNELPORT2 |= ((1 << CHANNEL_5) | (1 << CHANNEL_6)); //Preset data with actual pin states DATA = 0; if (CHANNELPIN1 & (1<<CHANNEL_1)) DATA = 1; if (CHANNELPIN1 & (1<<CHANNEL_2)) DATA = 2; if (CHANNELPIN1 & (1<<CHANNEL_3)) DATA = 4; if (CHANNELPIN1 & (1<<CHANNEL_4)) DATA = 8; if (CHANNELPIN2 & (1<<CHANNEL_5)) DATA = 16; if (CHANNELPIN2 & (1<<CHANNEL_6)) DATA = 32; //Set actual Pinstates as Output CHANNELPORT1 = CHANNELPIN1; CHANNELPORT2 = CHANNELPIN2; CHANNELDDR1 |= ((1 << CHANNEL_1) | (1 << CHANNEL_2) | (1 << CHANNEL_3) | (1 << CHANNEL_4)); CHANNELDDR2 |= ((1 << CHANNEL_5) | (1 << CHANNEL_6)); while(1) { if (TIMER_timeout == 0) { if(usbNewDeviceAddr) leds[LED_BLUE].frequency = LED_ON; TIMER_start(10); usbPoll(); LED_poll(); } } }