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 */