API for STKs and WSTKsBSP
Data Structures | |
struct | BCP_Packet |
BCP Packet Structure - Board controller communication protocol version 2. | |
struct | BCP_Packet_ |
BCP Packet Structure - Board controller communication protocol version 1. | |
struct | BCP_PacketHeader |
BCP Packet Header definition. | |
Macros | |
#define | BSP_BCP_ACK 5 |
#define | BSP_BCP_CURRENT_REPLY 16 |
#define | BSP_BCP_CURRENT_REQ 14 |
#define | BSP_BCP_ECHO_REPLY 11 |
#define | BSP_BCP_ECHO_REQ 10 |
#define | BSP_BCP_ENERGYMODE 22 |
#define | BSP_BCP_FIRST 1 |
#define | BSP_BCP_INVALID 0 |
#define | BSP_BCP_LAST 100 |
#define | BSP_BCP_MAGIC 0xF1 |
#define | BSP_BCP_NET_REPLY 65 |
#define | BSP_BCP_NET_REQUEST 64 |
#define | BSP_BCP_PACKET_SIZe 30 |
#define | BSP_BCP_PACKET_SIZE 132 |
#define | BSP_BCP_STDERR 26 |
#define | BSP_BCP_STDOUT 24 |
#define | BSP_BCP_TEST 32 |
#define | BSP_BCP_TEST_REPLY 33 |
#define | BSP_BCP_VOLTAGE_REPLY 20 |
#define | BSP_BCP_VOLTAGE_REQ 18 |
Functions | |
int | BSP_BccDeInit (void) |
Deinitialize board controller communication support (BCC) functionality. Reverse actions performed by BSP_BccInit(). | |
int | BSP_BccInit (void) |
Initialize board controller communication support (BCC) functionality. | |
bool | BSP_BccPacketReceive (BCP_Packet *pkt) |
Get a packet from the board controller. | |
int | BSP_BccPacketSend (BCP_Packet *pkt) |
Send a packet to the board controller. | |
void | BSP_BccPinsEnable (bool enable) |
Enable GPIO pins for the USART/LEUART used for board communication. | |
float | BSP_CurrentGet (void) |
Request AEM (Advanced Energy Monitoring) current from board controller. | |
int | BSP_EbiDeInit (void) |
Deinitialize the EBI interface for accessing the onboard nandflash. | |
int | BSP_EbiInit (void) |
Initialize the EBI interface for accessing the onboard nandflash. | |
uint32_t | BSP_IOExpGetDeviceId (void) |
Get IO Expander Device id. | |
float | BSP_VoltageGet (void) |
Request AEM (Advanced Energy Monitoring) voltage from board controller. | |
Macro Definition Documentation
#define BSP_BCP_ACK 5 |
Generic ACK for one way packages
Definition at line 46
of file bsp_bcp.h
.
#define BSP_BCP_CURRENT_REPLY 16 |
#define BSP_BCP_CURRENT_REQ 14 |
#define BSP_BCP_ECHO_REPLY 11 |
BC alive response
Definition at line 48
of file bsp_bcp.h
.
#define BSP_BCP_ECHO_REQ 10 |
EFM32 BC alive request
Definition at line 47
of file bsp_bcp.h
.
#define BSP_BCP_ENERGYMODE 22 |
EFM32 Report Energy Mode (for AEM)
Definition at line 53
of file bsp_bcp.h
.
#define BSP_BCP_FIRST 1 |
Smallest numerical value of message type
Definition at line 44
of file bsp_bcp.h
.
Referenced by BSP_BccPacketReceive().
#define BSP_BCP_INVALID 0 |
Invalid packet received
Definition at line 42
of file bsp_bcp.h
.
#define BSP_BCP_LAST 100 |
Last defined message type
Definition at line 61
of file bsp_bcp.h
.
Referenced by BSP_BccPacketReceive().
#define BSP_BCP_MAGIC 0xF1 |
Magic byte to indicate start of packet
Definition at line 63
of file bsp_bcp.h
.
Referenced by BSP_BccPacketReceive(), and BSP_BccPacketSend().
#define BSP_BCP_NET_REPLY 65 |
Net gateway reply packet
Definition at line 59
of file bsp_bcp.h
.
#define BSP_BCP_NET_REQUEST 64 |
Net gateway request packet
Definition at line 58
of file bsp_bcp.h
.
#define BSP_BCP_PACKET_SIZe 30 |
Max packet size for version 1 of the protocol.
Definition at line 69
of file bsp_bcp.h
.
#define BSP_BCP_PACKET_SIZE 132 |
Max packet size for version 2 of the protocol.
Definition at line 89
of file bsp_bcp.h
.
Referenced by BSP_BccPacketReceive().
#define BSP_BCP_STDERR 26 |
Debug packet (not used)
Definition at line 55
of file bsp_bcp.h
.
#define BSP_BCP_STDOUT 24 |
Debug packet (not used)
Definition at line 54
of file bsp_bcp.h
.
#define BSP_BCP_TEST 32 |
Reserved type for test
Definition at line 56
of file bsp_bcp.h
.
#define BSP_BCP_TEST_REPLY 33 |
Reserved type for test (reply)
Definition at line 57
of file bsp_bcp.h
.
#define BSP_BCP_VOLTAGE_REPLY 20 |
#define BSP_BCP_VOLTAGE_REQ 18 |
Enumeration Type Documentation
Peripherals control structure for STK's, WSTK's and similar.
Definition at line 147
of file bsp.h
.
Function Documentation
int BSP_BccDeInit | ( | void |
| ) |
Deinitialize board controller communication support (BCC) functionality. Reverse actions performed by BSP_BccInit().
- Returns
- BSP_STATUS_OK.
Definition at line 61
of file bsp_bcc.c
.
References BSP_BccPinsEnable(), BSP_STATUS_OK, CMU_ClockEnable(), LEUART_Reset(), and USART_Reset().
int BSP_BccInit | ( | void |
| ) |
Initialize board controller communication support (BCC) functionality.
- Returns
- BSP_STATUS_OK.
Definition at line 89
of file bsp_bcc.c
.
References LEUART_Init_TypeDef::baudrate, BSP_BccPinsEnable(), BSP_STATUS_OK, CMU_ClockEnable(), CMU_ClockSelectSet(), cmuClock_GPIO, cmuClock_HFPER, cmuClock_LFB, LEUART_Init(), LEUART_INIT_DEFAULT, USART_InitAsync(), and USART_INITASYNC_DEFAULT.
bool BSP_BccPacketReceive | ( | BCP_Packet * | pkt | ) |
Get a packet from the board controller.
- Parameters
-
[in] pkt
Pointer to a BCP_Packet instance.
- Returns
- True if packet received without errors, false otherwise.
Definition at line 139
of file bsp_bcc.c
.
References BSP_BCP_FIRST, BSP_BCP_LAST, BSP_BCP_MAGIC, BSP_BCP_PACKET_SIZE, BCP_Packet::magic, BCP_Packet::payloadLength, and BCP_Packet::type.
Referenced by BSP_CurrentGet(), and BSP_VoltageGet().
int BSP_BccPacketSend | ( | BCP_Packet * | pkt | ) |
Send a packet to the board controller.
- Parameters
-
[in] pkt
Pointer to a BCP_Packet instance.
- Returns
- BSP_STATUS_OK.
Definition at line 192
of file bsp_bcc.c
.
References BSP_BCP_MAGIC, BSP_STATUS_OK, BCP_Packet::data, BCP_Packet::magic, BCP_Packet::payloadLength, BCP_Packet::reserved, and BCP_Packet::type.
Referenced by BSP_CurrentGet(), and BSP_VoltageGet().
void BSP_BccPinsEnable | ( | bool | enable | ) |
Enable GPIO pins for the USART/LEUART used for board communication.
- Parameters
-
[in] enable
Set to true to enable pins, set to false to disable.
Definition at line 226
of file bsp_bcc.c
.
References _USART_ROUTELOC0_RXLOC_MASK, _USART_ROUTELOC0_TXLOC_MASK, GPIO_PinModeSet(), gpioModeDisabled, gpioModeInput, gpioModePushPull, USART_ROUTEPEN_RXPEN, and USART_ROUTEPEN_TXPEN.
Referenced by BSP_BccDeInit(), and BSP_BccInit().
float BSP_CurrentGet | ( | void |
| ) |
Request AEM (Advanced Energy Monitoring) current from board controller.
- Note
- Assumes that BSP_Init() has been called with BSP_INIT_BCC bitmask.
- Returns
- The current expressed in milliamperes. Returns 0.0 on board controller communication error.
Definition at line 344
of file bsp_stk.c
.
References BSP_BccPacketReceive(), BSP_BccPacketSend(), BSP_BCP_CURRENT_REPLY, BSP_BCP_CURRENT_REQ, BCP_Packet::data, BCP_Packet::payloadLength, and BCP_Packet::type.
int BSP_EbiDeInit | ( | void |
| ) |
Deinitialize the EBI interface for accessing the onboard nandflash.
- Note
- This function is not relevant for Gxxx_STK's. This function is provided for API completeness, it does not perform an actual EBI deinitialization.
- Returns
- BSP_STATUS_OK or BSP_STATUS_NOT_IMPLEMENTED
Definition at line 165
of file bsp_stk.c
.
References BSP_STATUS_NOT_IMPLEMENTED, and BSP_STATUS_OK.
int BSP_EbiInit | ( | void |
| ) |
Initialize the EBI interface for accessing the onboard nandflash.
- Note
- This function is not relevant for Gxxx_STK's.
- Returns
- BSP_STATUS_OK or BSP_STATUS_NOT_IMPLEMENTED
Definition at line 72
of file bsp_stk.c
.
References BSP_STATUS_NOT_IMPLEMENTED, BSP_STATUS_OK, CMU_ClockEnable(), cmuClock_GPIO, cmuClock_HFPER, GPIO_PinModeSet(), gpioModeInput, and gpioModePushPull.
uint32_t BSP_IOExpGetDeviceId | ( | void |
| ) |
Get IO Expander Device id.
- Returns
- The device id of a connected IO Expander Device id or 0 if no IO expander is connected.
Definition at line 181
of file bsp_stk.c
.
float BSP_VoltageGet | ( | void |
| ) |
Request AEM (Advanced Energy Monitoring) voltage from board controller.
- Note
- Assumes that BSP_Init() has been called with BSP_INIT_BCC bitmask.
- Returns
- The voltage. Returns 0.0 on board controller communication error.
Definition at line 379
of file bsp_stk.c
.
References BSP_BccPacketReceive(), BSP_BccPacketSend(), BSP_BCP_VOLTAGE_REPLY, BSP_BCP_VOLTAGE_REQ, BCP_Packet::data, BCP_Packet::payloadLength, and BCP_Packet::type.