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