bsp_dk_leds.c

Go to the documentation of this file.
00001 /***************************************************************************/
00035 #include "bsp.h"
00036 
00037 #if defined( BSP_DK_LEDS )
00038 
00039 /***************************************************************************/
00044 /**************************************************************************/
00050 int BSP_LedsInit(void)
00051 {
00052   BSP_RegisterWrite(BSP_LED_PORT, 0);
00053   return BSP_STATUS_OK;
00054 }
00055 
00056 /**************************************************************************/
00061 uint32_t BSP_LedsGet(void)
00062 {
00063   return BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00064 }
00065 
00066 /**************************************************************************/
00073 int BSP_LedsSet(uint32_t leds)
00074 {
00075   BSP_RegisterWrite(BSP_LED_PORT, leds & BSP_LED_MASK);
00076   return BSP_STATUS_OK;
00077 }
00078 
00079 /**************************************************************************/
00085 int BSP_LedClear(int ledNo)
00086 {
00087   uint32_t tmp;
00088 
00089   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00090   {
00091     tmp = BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00092     tmp &= ~( 1 << ledNo );
00093     BSP_RegisterWrite(BSP_LED_PORT, tmp);
00094     return BSP_STATUS_OK;
00095   }
00096   return BSP_STATUS_ILLEGAL_PARAM;
00097 }
00098 
00099 /**************************************************************************/
00106 int BSP_LedGet(int ledNo)
00107 {
00108   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00109   {
00110     if ( BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK & (1 << ledNo) )
00111       return 1;
00112 
00113     return 0;
00114   }
00115   return BSP_STATUS_ILLEGAL_PARAM;
00116 }
00117 
00118 /**************************************************************************/
00124 int BSP_LedSet(int ledNo)
00125 {
00126   uint32_t tmp;
00127 
00128   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00129   {
00130     tmp = BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00131     tmp |= 1 << ledNo;
00132     BSP_RegisterWrite(BSP_LED_PORT, tmp);
00133     return BSP_STATUS_OK;
00134   }
00135   return BSP_STATUS_ILLEGAL_PARAM;
00136 }
00137 
00138 /**************************************************************************/
00144 int BSP_LedToggle(int ledNo)
00145 {
00146   uint32_t tmp;
00147 
00148   if ((ledNo >= 0) && (ledNo < BSP_NO_OF_LEDS))
00149   {
00150     tmp = BSP_RegisterRead(BSP_LED_PORT) & BSP_LED_MASK;
00151     tmp ^= 1 << ledNo;
00152     BSP_RegisterWrite(BSP_LED_PORT, tmp);
00153     return BSP_STATUS_OK;
00154   }
00155   return BSP_STATUS_ILLEGAL_PARAM;
00156 }
00157 
00159 #endif  /* BSP_DK_LEDS */