bsp_dk_leds.c

Go to the documentation of this file.
00001 /***************************************************************************/
00018 #include "bsp.h"
00019 
00020 #if defined( BSP_DK_LEDS )
00021 
00022 /***************************************************************************/
00027 /**************************************************************************/
00033 int BSP_LedsInit(void)
00034 {
00035   BSP_RegisterWrite(BSP_LED_PORT, 0);
00036   return BSP_STATUS_OK;
00037 }
00038 
00039 /**************************************************************************/
00044 uint32_t BSP_LedsGet(void)
00045 {
00046   return BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00047 }
00048 
00049 /**************************************************************************/
00056 int BSP_LedsSet(uint32_t leds)
00057 {
00058   BSP_RegisterWrite(BSP_LED_PORT, leds & BSP_LED_MASK);
00059   return BSP_STATUS_OK;
00060 }
00061 
00062 /**************************************************************************/
00068 int BSP_LedClear(int ledNo)
00069 {
00070   uint32_t tmp;
00071 
00072   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00073   {
00074     tmp = BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00075     tmp &= ~( 1 << ledNo );
00076     BSP_RegisterWrite(BSP_LED_PORT, tmp);
00077     return BSP_STATUS_OK;
00078   }
00079   return BSP_STATUS_ILLEGAL_PARAM;
00080 }
00081 
00082 /**************************************************************************/
00089 int BSP_LedGet(int ledNo)
00090 {
00091   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00092   {
00093     if ( BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK & (1 << ledNo) )
00094       return 1;
00095 
00096     return 0;
00097   }
00098   return BSP_STATUS_ILLEGAL_PARAM;
00099 }
00100 
00101 /**************************************************************************/
00107 int BSP_LedSet(int ledNo)
00108 {
00109   uint32_t tmp;
00110 
00111   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00112   {
00113     tmp = BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00114     tmp |= 1 << ledNo;
00115     BSP_RegisterWrite(BSP_LED_PORT, tmp);
00116     return BSP_STATUS_OK;
00117   }
00118   return BSP_STATUS_ILLEGAL_PARAM;
00119 }
00120 
00121 /**************************************************************************/
00127 int BSP_LedToggle(int ledNo)
00128 {
00129   uint32_t tmp;
00130 
00131   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00132   {
00133     tmp = BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00134     tmp ^= 1 << ledNo;
00135     BSP_RegisterWrite(BSP_LED_PORT, tmp);
00136     return BSP_STATUS_OK;
00137   }
00138   return BSP_STATUS_ILLEGAL_PARAM;
00139 }
00140 
00142 #endif  /* BSP_DK_LEDS */