Moved remotely
git-svn-id: file:///srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories/svn/Diplomarbeit@110 9fe90eed-be63-e94b-8204-d34ff4c2ff93
This commit is contained in:
@@ -0,0 +1,274 @@
|
||||
/* ---------------------------------------------------------------------------
|
||||
* ledfunctions.c (c) 2008 Micro-key bv
|
||||
* ---------------------------------------------------------------------------
|
||||
* Micro-key bv
|
||||
* Industrieweg 28, 9804 TG Noordhorn
|
||||
* Postbus 92, 9800 AB Zuidhorn
|
||||
* The Netherlands
|
||||
* Tel: +31 594 503020
|
||||
* Fax: +31 594 505825
|
||||
* Email: support@microkey.nl
|
||||
* Web: www.microkey.nl
|
||||
* ---------------------------------------------------------------------------
|
||||
* Description:
|
||||
* Some handy Functions for the status and the Digital Output LEDs
|
||||
* ---------------------------------------------------------------------------
|
||||
* Version(s): 0.1, Mar 11, 2008, MMi
|
||||
* Creation.
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* System include files
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
#include "lpc23xx.h"
|
||||
#include "types.h"
|
||||
|
||||
|
||||
/* FreeRTOS includes */
|
||||
#include "FreeRTOS.h"
|
||||
#include "Task.h"
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Application include files
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
#include "leds.h"
|
||||
#include "dio.h"
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Local constant and macro definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Global variable definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Local variable definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* Local function definitions
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
void LEDPauseFlash (t_led_ids LEDnum, UINT8 counts, INT16 delay_length)
|
||||
{
|
||||
/* Local Variable Declaration */
|
||||
UINT16 loopcnt; /* loop index */
|
||||
|
||||
for ( loopcnt=0; loopcnt <= (counts*2); loopcnt++)
|
||||
{
|
||||
if (LEDnum == LED0) /* RED LED */
|
||||
{
|
||||
ledToggle (LED0); /* Toggle LED Status */
|
||||
vTaskDelay (delay_length); /* Wait for defined time */
|
||||
}
|
||||
if (LEDnum == LED1) /* GREEN LED */
|
||||
{
|
||||
ledToggle (LED1);
|
||||
vTaskDelay (delay_length);
|
||||
}
|
||||
}
|
||||
if (ledGet (LED1) == FALSE) /* GREEN LED should be switched on */
|
||||
{
|
||||
ledToggle (LED1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LEDResult (BOOLEAN TestResult)
|
||||
{
|
||||
if (TestResult == TRUE) /* If Test was passed */
|
||||
{
|
||||
ledSet (LED0, 1); /* switch on RED LED */
|
||||
}
|
||||
if (TestResult == FALSE) /* If test failed */
|
||||
{
|
||||
ledSet (LED0, 0); /* Switch off RED LED */
|
||||
}
|
||||
}
|
||||
|
||||
void LEDResultDIO (BOOLEAN TestResult, UINT16 dioNo)
|
||||
{
|
||||
if (TestResult == TRUE) /* If Test was passed */
|
||||
{
|
||||
dioWrite (0, dioNo, TRUE); /* switch on DIO LED */
|
||||
}
|
||||
if (TestResult == FALSE) /* If test failed */
|
||||
{
|
||||
dioWrite (0, dioNo, FALSE); /* Switch off DIO LED */
|
||||
}
|
||||
}
|
||||
|
||||
void LEDToggleForever (void)
|
||||
{
|
||||
ledSet (LED0, FALSE); /* Set both LEDs to StartUp */
|
||||
ledSet (LED1, TRUE);
|
||||
vTaskDelay (500); /* Wait for 500 ms */
|
||||
|
||||
for (;;) /* endless loop */
|
||||
{
|
||||
ledToggle (LED0); /* Toggle RED LED */
|
||||
ledToggle (LED1); /* Toggle GREEN LED */
|
||||
|
||||
vTaskDelay (500);
|
||||
}
|
||||
}
|
||||
|
||||
void LEDToggle (UINT16 cnts)
|
||||
{
|
||||
/* Local Variable Declaration */
|
||||
UINT16 loopcnt; /* loop index */
|
||||
|
||||
ledSet (LED0, FALSE); /* Set both LEDs to StartUp */
|
||||
ledSet (LED1, TRUE);
|
||||
vTaskDelay (500); /* Wait for 500 ms */
|
||||
|
||||
for ( loopcnt = 0; loopcnt <= cnts; loopcnt++)
|
||||
{
|
||||
ledToggle(LED0); /* Toggle RED LED */
|
||||
ledToggle(LED1); /* Toggle GREEN LED */
|
||||
|
||||
vTaskDelay (500);
|
||||
}
|
||||
}
|
||||
|
||||
void LEDShowStatus (UINT16 status)
|
||||
{
|
||||
/* Local Variable Declaration */
|
||||
UINT16 loopcnt; /* loop index */
|
||||
|
||||
if (ledGet (LED0) == TRUE) /* If current LED Status is TRUE */
|
||||
{
|
||||
ledSet( LED0, FALSE); /* Switch of RED LED */
|
||||
vTaskDelay (500); /* Wait for 500 ms */
|
||||
}
|
||||
|
||||
for (loopcnt = 0; loopcnt <= (status*2); loopcnt++)
|
||||
{
|
||||
ledToggle (LED0); /* Toggle RED LED */
|
||||
vTaskDelay (500);
|
||||
}
|
||||
vTaskDelay (1000);
|
||||
}
|
||||
|
||||
void gLEDToggle (UINT16 time)
|
||||
{
|
||||
for (;;) /* Endless loop */
|
||||
{
|
||||
ledToggle (LED1); /* Toggle GREEN LED */
|
||||
vTaskDelay (time); /* Wait for defined time */
|
||||
}
|
||||
}
|
||||
|
||||
void rLEDToggle (UINT16 time)
|
||||
{
|
||||
for (;;) /* Endless loop */
|
||||
{
|
||||
ledToggle (LED0); /* Toggle RED LED */
|
||||
vTaskDelay (time); /* Wait for defined Time */
|
||||
}
|
||||
}
|
||||
|
||||
void dioToggle (UINT16 LEDnr)
|
||||
{
|
||||
UINT16 time = 100; /* LED Toggle-time definition */
|
||||
|
||||
for (;;) /* Endless loop */
|
||||
{
|
||||
dioWrite (0, LEDnr, TRUE); /* Write defined digitalOut to HIGH */
|
||||
vTaskDelay (time); /* Wait for defined Toggle-time */
|
||||
dioWrite (0, LEDnr, FALSE); /* Write defined digitalOut to LOW */
|
||||
vTaskDelay (time);
|
||||
}
|
||||
}
|
||||
|
||||
void dioToggleNC (UINT16 LEDnr)
|
||||
{
|
||||
UINT16 time = 1000; /* LED Toggle-time definition */
|
||||
|
||||
for (;;) /* Endless loop */
|
||||
{
|
||||
dioWrite (0, LEDnr, TRUE); /* Write defined digitalOut to HIGH */
|
||||
vTaskDelay (time); /* Wait for defined Toggle-time */
|
||||
dioWrite (0, LEDnr, FALSE); /* Write defined digitalOut to LOW */
|
||||
vTaskDelay (time);
|
||||
}
|
||||
}
|
||||
|
||||
void dio2x4 (UINT32 ToggleTime)
|
||||
{
|
||||
|
||||
for (;;) /* endless loop */
|
||||
{
|
||||
dioWrite (0,0,TRUE); /* ON-OFF-ON-OFF-ON-OFF-ON-OFF */
|
||||
dioWrite (0,1,FALSE);
|
||||
dioWrite (0,2,TRUE);
|
||||
dioWrite (0,3,FALSE);
|
||||
dioWrite (0,4,TRUE);
|
||||
dioWrite (0,5,FALSE);
|
||||
dioWrite (0,6,TRUE);
|
||||
dioWrite (0,7,FALSE);
|
||||
|
||||
vTaskDelay(ToggleTime); /* Wait Toggle Time */
|
||||
|
||||
dioWrite (0,0,FALSE); /* OFF-ON-OFF-ON-OFF-ON-OFF-ON */
|
||||
dioWrite (0,1,TRUE);
|
||||
dioWrite (0,2,FALSE);
|
||||
dioWrite (0,3,TRUE);
|
||||
dioWrite (0,4,FALSE);
|
||||
dioWrite (0,5,TRUE);
|
||||
dioWrite (0,6,FALSE);
|
||||
dioWrite (0,7,TRUE);
|
||||
|
||||
vTaskDelay (ToggleTime);
|
||||
}
|
||||
}
|
||||
|
||||
void dioClean (void)
|
||||
{
|
||||
dioWrite (0,0,FALSE); /* Write digital Output to LOW */
|
||||
dioWrite (0,1,FALSE);
|
||||
dioWrite (0,2,FALSE);
|
||||
dioWrite (0,3,FALSE);
|
||||
dioWrite (0,4,FALSE);
|
||||
dioWrite (0,5,FALSE);
|
||||
dioWrite (0,6,FALSE);
|
||||
dioWrite (0,7,FALSE);
|
||||
}
|
||||
UINT8 dioCapture (void)
|
||||
{
|
||||
/* Local Variable Declaration */
|
||||
UINT8 dioCaptureResult = 0;
|
||||
|
||||
dioCaptureResult |= (dioReadBack (0,0) << 0); /*Save current DIO Status */
|
||||
dioCaptureResult |= (dioReadBack (0,1) << 1);
|
||||
dioCaptureResult |= (dioReadBack (0,2) << 2);
|
||||
dioCaptureResult |= (dioReadBack (0,3) << 3);
|
||||
dioCaptureResult |= (dioReadBack (0,4) << 4);
|
||||
dioCaptureResult |= (dioReadBack (0,5) << 5);
|
||||
dioCaptureResult |= (dioReadBack (0,6) << 6);
|
||||
dioCaptureResult |= (dioReadBack (0,7) << 7);
|
||||
|
||||
return dioCaptureResult; /* Return saved DIO Status */
|
||||
}
|
||||
|
||||
void dioResume (UINT8 dioResumeValue)
|
||||
{
|
||||
dioWrite (0,0,((dioResumeValue >> 0) & 1)); /* Set DIO to defined Value */
|
||||
dioWrite (0,1,((dioResumeValue >> 1) & 1));
|
||||
dioWrite (0,2,((dioResumeValue >> 2) & 1));
|
||||
dioWrite (0,3,((dioResumeValue >> 3) & 1));
|
||||
dioWrite (0,4,((dioResumeValue >> 4) & 1));
|
||||
dioWrite (0,5,((dioResumeValue >> 5) & 1));
|
||||
dioWrite (0,6,((dioResumeValue >> 6) & 1));
|
||||
dioWrite (0,7,((dioResumeValue >> 7) & 1));
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user