Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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();
        }
    }
}
Ejemplo n.º 3
0
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();
}
Ejemplo n.º 4
0
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; 
	}
}
Ejemplo n.º 5
0
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();
        }
	}
}
Ejemplo n.º 6
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 = 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();
        }
	}
}