00001
00035 #ifndef __BSP_H
00036 #define __BSP_H
00037
00038 #include <stdbool.h>
00039 #include "bspconfig.h"
00040 #if defined( BSP_STK )
00041 #include "em_usart.h"
00042 #endif
00043
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047
00050 #define BSP_STATUS_OK 0
00051 #define BSP_STATUS_ILLEGAL_PARAM (-1)
00052 #define BSP_STATUS_NOT_IMPLEMENTED (-2)
00053 #define BSP_STATUS_UNSUPPORTED_MODE (-3)
00055
00056 #define BSP_INIT_DK_SPI 0x01
00057 #define BSP_INIT_DK_EBI 0x02
00058 #define BSP_INIT_BCC 0x04
00062 #if defined( BSP_DK )
00063
00066 typedef enum
00067 {
00068 BSP_Display_EBI,
00069 BSP_Display_SPI,
00070 BSP_Display_BC,
00071 BSP_Display_PowerEnable,
00072 BSP_Display_PowerDisable,
00073 BSP_Display_ResetAssert,
00074 BSP_Display_ResetRelease,
00075 BSP_Display_Mode8080,
00076 BSP_Display_ModeGeneric,
00077 } BSP_Display_TypeDef;
00078
00080 typedef enum
00081 {
00082 BSP_BusControl_Undefined=0,
00083 BSP_BusControl_OFF,
00084 BSP_BusControl_DIRECT,
00085 BSP_BusControl_SPI,
00086 BSP_BusControl_EBI,
00087 } BSP_BusControl_TypeDef;
00088
00089 #if defined( BSP_DK_3200 )
00090
00092 typedef enum
00093 {
00094 BSP_ACCEL = BC_PERCTRL_ACCEL,
00095 BSP_AMBIENT = BC_PERCTRL_AMBIENT,
00096 BSP_POTMETER = BC_PERCTRL_POTMETER,
00097 BSP_RS232A = BC_PERCTRL_RS232A,
00098 BSP_RS232B = BC_PERCTRL_RS232B,
00099 BSP_SPI = BC_PERCTRL_SPI,
00100 BSP_I2C = BC_PERCTRL_I2C,
00101 BSP_IRDA = BC_PERCTRL_IRDA,
00102 BSP_ANALOG_SE = BC_PERCTRL_ANALOG_SE,
00103 BSP_ANALOG_DIFF = BC_PERCTRL_ANALOG_DIFF,
00104 BSP_AUDIO_OUT = BC_PERCTRL_AUDIO_OUT,
00105 BSP_AUDIO_IN = BC_PERCTRL_AUDIO_IN,
00106 BSP_ACCEL_GSEL = BC_PERCTRL_ACCEL_GSEL,
00107 BSP_ACCEL_SELFTEST = BC_PERCTRL_ACCEL_SELFTEST,
00108 BSP_RS232_SHUTDOWN = BC_PERCTRL_RS232_SHUTDOWN,
00109 BSP_IRDA_SHUTDOWN = BC_PERCTRL_IRDA_SHUTDOWN
00110 #ifdef DOXY_DOC_ONLY
00111 } BSP_Peripheral_Typedef;
00112 #else
00113 } BSP_Peripheral_TypeDef;
00114 #endif
00115 #endif
00116
00117 #if defined( BSP_DK_3201 )
00118
00120 typedef enum
00121 {
00122 BSP_RS232_SHUTDOWN,
00123 BSP_RS232_UART,
00124 BSP_RS232_LEUART,
00125 BSP_I2C,
00126 BSP_ETH,
00127 BSP_I2S,
00128 BSP_TRACE,
00129 BSP_TOUCH,
00130 BSP_AUDIO_IN,
00131 BSP_AUDIO_OUT,
00132 BSP_ANALOG_DIFF,
00133 BSP_ANALOG_SE,
00134 BSP_MICROSD,
00135 BSP_TFT,
00136 } BSP_Peripheral_TypeDef;
00137 #endif
00138
00140 #endif
00141
00142
00143
00144 int BSP_Disable ( void );
00145 int BSP_Init ( uint32_t flags );
00146 int BSP_LedClear ( int ledNo );
00147 int BSP_LedGet ( int ledNo );
00148 int BSP_LedSet ( int ledNo );
00149 uint32_t BSP_LedsGet ( void );
00150 int BSP_LedsInit ( void );
00151 int BSP_LedsSet ( uint32_t leds );
00152 int BSP_LedToggle ( int ledNo );
00153
00154
00155 #if defined( BSP_DK )
00156 BSP_BusControl_TypeDef BSP_BusControlModeGet( void );
00157 int BSP_BusControlModeSet ( BSP_BusControl_TypeDef mode );
00158 uint32_t BSP_DipSwitchGet ( void );
00159 int BSP_DisplayControl ( BSP_Display_TypeDef option );
00160 int BSP_EbiExtendedAddressRange ( bool enable );
00161 int BSP_EnergyModeSet ( uint16_t energyMode );
00162 int BSP_InterruptDisable ( uint16_t flags );
00163 int BSP_InterruptEnable ( uint16_t flags );
00164 int BSP_InterruptFlagsClear ( uint16_t flags );
00165 uint16_t BSP_InterruptFlagsGet ( void );
00166 uint16_t BSP_JoystickGet ( void );
00167 int BSP_McuBoard_DeInit ( void );
00168 int BSP_McuBoard_Init ( void );
00169 int BSP_McuBoard_UsbStatusLedEnable ( bool enable );
00170 bool BSP_McuBoard_UsbVbusOcFlagGet ( void );
00171 int BSP_McuBoard_UsbVbusPowerEnable ( bool enable );
00172 int BSP_PeripheralAccess ( BSP_Peripheral_TypeDef perf, bool enable );
00173 uint16_t BSP_PushButtonsGet ( void );
00174 uint16_t BSP_RegisterRead ( volatile uint16_t *addr );
00175 int BSP_RegisterWrite ( volatile uint16_t *addr, uint16_t data );
00176 #endif
00177
00178 #if defined( BSP_STK )
00179 int BSP_BccDeInit ( void );
00180 int BSP_BccInit ( void );
00181 bool BSP_BccPacketReceive ( BCP_Packet *pkt );
00182 int BSP_BccPacketSend ( BCP_Packet *pkt );
00183 USART_TypeDef *BSP_BccUsartGet ( void );
00184 float BSP_CurrentGet ( void );
00185 int BSP_EbiDeInit ( void );
00186 int BSP_EbiInit ( void );
00187 float BSP_VoltageGet ( void );
00188 #endif
00189
00190 #ifdef __cplusplus
00191 }
00192 #endif
00193
00194 #endif