static void LedFlash()
{ if (uiDelayMode > 0)
  { Tuint08 uiDM = uiDelayMode;
    uiLedMode=3;
    setChannel(pinLEDbeacon,false);
    while (uiDM-- > 0)
    { setChannel(pinLEDsignal,true);
      taskDelayFromNow(200);
      setChannel(pinLEDsignal,false);
      taskDelayFromNow(200); } } }
Exemple #2
0
/* The write task writes number into the queue in series of 8, as long as
 * space allows for. The numbers written are displayed. When the queue
 * cannot be obtained, a wait led starts flashing until a new attempt is
 * done. */
void appLoop_WriteTask(void)
{ Tuint08 count = 0;
  while (true)
  { if (taskQueuWriteRequestOnName(ThePipe,8,800))
    { for (count=0; count<8; count++)
      { genQueuWriteOnName(ThePipe,count);
        setNumber(0xF0,count);
        taskDelayFromNow(600); }
      taskQueuReleaseOnName(ThePipe); }
    else
    { for (count=0; count<10; count++)
      { invLed(3);
        taskDelayFromNow(80); } } } }
Exemple #3
0
/* The read task reads numbers from the queue in series of 6, as long as
 * numbers are available. The numbers read are displayed. When the queue
 * cannot be obtained, a wait led starts flashing until a new attempt is
 * done. */
void appLoop_ReadTask(void)
{ Tuint08 count = 0;
  Tuint08 Result;
  while (true)
  { if (taskQueuReadRequestOnName(ThePipe,6,800))
    { for (count=0; count<6; count++)
      { Result = genQueuReadOnName(ThePipe);
        setNumber(0x0F,Result<<4);
        taskDelayFromNow(600); }
      taskQueuReleaseOnName(ThePipe); }
    else
    { for (count=0; count<10; count++)
      { invLed(7);
        taskDelayFromNow(80); } } } }
Exemple #4
0
/* If you want you can reset the queue by pushing the button.
 * This task starts waiting until a lock on the queue is
 * obtained. When this is the case, the queue is reset. */
void appLoop_ResetTask(void)
{ Tuint08 button  = devSwitchPIN & 01;
  Tuint08 lastbutton  = button;
  while (true)
  { button = devSwitchPIN & 01;
    if (button != lastbutton)
    { setNumber(0x88,0x88);
      taskQueuReadRequestOnName(ThePipe,0,defDelayTimeMax);
      Tuint08 uiLedState = devLedPORT;
      devLedPORT = 0x00;
      genQueuClearOnName(ThePipe);
      taskDelayFromNow(80);
      devLedPORT = uiLedState;
      taskQueuReleaseOnName(ThePipe); }
    taskDelayFromNow(100); } }
Exemple #5
0
void appLoop_Select(void)
{ Tuint08 button  = devSwitchPIN & 01;
  Tuint08 lastbutton  = button;
  genTraceInfo(button);
  while (true)
  { button = devSwitchPIN & 01;
    if (button != lastbutton)
    { if ((++uiSelector) == 3) { uiSelector = 0; } }
    taskDelayFromNow(100); } }
void appLoop_EvaluateRc(void)
{
	//#warning "what the f**k!"
	
	while (true)
	{ 



			
		taskDelayFromNow(1000); 
	}
	
}
void appLoop_ReadSwitch(void)
{ Tuint08 uiSwitchOldState = PINB & (1<<pinSWITCH);;
  Tuint08 uiSwitchNewState;
  while (true)
  { uiSwitchNewState = PINB & (1<<pinSWITCH);
    if (uiSwitchOldState !=  uiSwitchNewState)
    { uiSwitchOldState =  uiSwitchNewState;
      Tuint08 uiLM = uiLedMode;
      if (uiLM==0)
      { uiDelayMode = 0;
        uiDelayTimer = 0; }
      else if (uiLM < 3)
      { if (uiDelayMode++ > 4) uiDelayMode=4;
        switch (uiDelayMode)
        { case 1 : { uiDelayTimer = 2;   } break;
          case 2 : { uiDelayTimer = 15;  } break;
          case 3 : { uiDelayTimer = 60;  } break;
          default: { uiDelayTimer = 255; } break; } } }
    taskDelayFromNow(200); } }
void appLoop_Communication(void)
{ 
	volatile uint8_t c;

	while (true)
	{ 	
		PORTA ^= (1<<PINA7);
        
        sei();
        uart_putc('x');
        
		//uart_puts("hello, damn it \r\n");        
		
      
        
        taskDelayFromNow(1000); 
        

        
	} 
}
void appLoop_DriveLamp(void)
{ while (true)
  { setChannel(pinLAMP,uiDelayMode>0)
    taskDelayFromNow(150); } }
static void LedBeacon()
{ if (uiDelayMode == 0)
  { uiLedMode=1;
    setChannel(pinLEDbeacon,true);
    setChannel(pinLEDsignal,false);
    taskDelayFromNow(200); } }
static void LedOn()
{ if (uiDelayMode > 0)
  { uiLedMode=2;
    setChannel(pinLEDbeacon,false);
    setChannel(pinLEDsignal,true);
    taskDelayFromNow(5000); } }