EFM32 Happy Gecko Software Documentation  efm32hg-doc-5.1.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
bsp.h File Reference

Detailed Description

Board support package API definitions.

Version
5.1.1

License

Copyright 2016 Silicon Labs, Inc. http://www.silabs.com

This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file bsp.h.

#include <stdbool.h>
#include "bspconfig.h"
#include "em_usart.h"

Go to the source code of this file.

Macros

#define BSP_INIT_BCC   0x04
 
#define BSP_INIT_DK_EBI   0x02
 
#define BSP_INIT_DK_SPI   0x01
 
#define BSP_INIT_IOEXP   0x08
 
#define BSP_STATUS_ILLEGAL_PARAM   (-1)
 
#define BSP_STATUS_IOEXP_FAILURE   (-4)
 
#define BSP_STATUS_NOT_IMPLEMENTED   (-2)
 
#define BSP_STATUS_OK   0
 
#define BSP_STATUS_UNSUPPORTED_MODE   (-3)
 

Enumerations

enum  BSP_BusControl_TypeDef {
  BSP_BusControl_Undefined =0,
  BSP_BusControl_OFF,
  BSP_BusControl_DIRECT,
  BSP_BusControl_SPI,
  BSP_BusControl_EBI
}
 
enum  BSP_Display_TypeDef {
  BSP_Display_EBI,
  BSP_Display_SPI,
  BSP_Display_BC,
  BSP_Display_PowerEnable,
  BSP_Display_PowerDisable,
  BSP_Display_ResetAssert,
  BSP_Display_ResetRelease,
  BSP_Display_Mode8080,
  BSP_Display_ModeGeneric
}
 
enum  BSP_Peripheral_TypeDef {
  BSP_RS232_SHUTDOWN,
  BSP_RS232_UART,
  BSP_RS232_LEUART,
  BSP_I2C,
  BSP_ETH,
  BSP_I2S,
  BSP_TRACE,
  BSP_TOUCH,
  BSP_AUDIO_IN,
  BSP_AUDIO_OUT,
  BSP_ANALOG_DIFF,
  BSP_ANALOG_SE,
  BSP_MICROSD,
  BSP_TFT,
  BSP_IOEXP_LEDS,
  BSP_IOEXP_SENSORS,
  BSP_IOEXP_DISPLAY,
  BSP_IOEXP_VCOM
}
 
enum  BSP_Peripheral_TypeDef {
  BSP_RS232_SHUTDOWN,
  BSP_RS232_UART,
  BSP_RS232_LEUART,
  BSP_I2C,
  BSP_ETH,
  BSP_I2S,
  BSP_TRACE,
  BSP_TOUCH,
  BSP_AUDIO_IN,
  BSP_AUDIO_OUT,
  BSP_ANALOG_DIFF,
  BSP_ANALOG_SE,
  BSP_MICROSD,
  BSP_TFT,
  BSP_IOEXP_LEDS,
  BSP_IOEXP_SENSORS,
  BSP_IOEXP_DISPLAY,
  BSP_IOEXP_VCOM
}
 

Functions

int BSP_BccDeInit (void)
 Deinitialize board controller communication support (BCC) functionality. Reverse actions performed by BSP_BccInit(). More...
 
int BSP_BccInit (void)
 Initialize board controller communication support (BCC) functionality. More...
 
bool BSP_BccPacketReceive (BCP_Packet *pkt)
 Get a packet from the board controller. More...
 
int BSP_BccPacketSend (BCP_Packet *pkt)
 Send a packet to the board controller. More...
 
void BSP_BccPinsEnable (bool enable)
 Enable GPIO pins for the USART/LEUART used for board communication. More...
 
BSP_BusControl_TypeDef BSP_BusControlModeGet (void)
 Get current board controller bus decode logic configuration. More...
 
int BSP_BusControlModeSet (BSP_BusControl_TypeDef mode)
 Configure Board Controller bus decode logic. More...
 
float BSP_CurrentGet (void)
 Request AEM (Advanced Energy Monitoring) current from board controller. More...
 
uint32_t BSP_DipSwitchGet (void)
 Get status of the DIP switches on the DK. More...
 
int BSP_Disable (void)
 Deinitialize board support package functionality. Reverse actions performed by BSP_Init(). This function is a dummy on STK's. More...
 
int BSP_DisplayControl (BSP_Display_TypeDef option)
 Configure display control. More...
 
int BSP_EbiDeInit (void)
 Deinitialize the EBI interface for accessing the onboard nandflash. More...
 
int BSP_EbiExtendedAddressRange (bool enable)
 Extended the EBI addressing range by enabling address lines A16-A22. On Gxxx_DK's this functions is a dummy. More...
 
int BSP_EbiInit (void)
 Initialize the EBI interface for accessing the onboard nandflash. More...
 
int BSP_EnergyModeSet (uint16_t energyMode)
 Inform board controller about current energy mode. More...
 
int BSP_Init (uint32_t flags)
 Initialize board support package functionality. More...
 
int BSP_InterruptDisable (uint16_t flags)
 Disable interrupts from board controller. More...
 
int BSP_InterruptEnable (uint16_t flags)
 Enable interrupts from board controller. More...
 
int BSP_InterruptFlagsClear (uint16_t flags)
 Clear board controller interrupt flags. More...
 
uint16_t BSP_InterruptFlagsGet (void)
 Get board controller interrupt flags. More...
 
int BSP_InterruptFlagsSet (uint16_t flags)
 Set board controller interrupt flags. More...
 
uint32_t BSP_IOExpGetDeviceId (void)
 Get IO Expander Device id. More...
 
uint16_t BSP_JoystickGet (void)
 Get status of joystick on the DK. More...
 
int BSP_LedClear (int ledNo)
 Turn off a single LED. More...
 
int BSP_LedGet (int ledNo)
 Get current status of a single LED. More...
 
int BSP_LedSet (int ledNo)
 Turn on a single LED. More...
 
uint32_t BSP_LedsGet (void)
 Get status of all LED's. More...
 
int BSP_LedsInit (void)
 Initialize LED drivers. More...
 
int BSP_LedsSet (uint32_t leds)
 Update all LED's. More...
 
int BSP_LedToggle (int ledNo)
 Toggle a single LED. More...
 
int BSP_McuBoard_DeInit (void)
 Disable MCU plugin board peripherals. More...
 
int BSP_McuBoard_Init (void)
 Enable MCU plugin board peripherals. More...
 
int BSP_McuBoard_UsbStatusLedEnable (bool enable)
 Set state of MCU plugin board USB status LED. More...
 
bool BSP_McuBoard_UsbVbusOcFlagGet (void)
 Get state MCU plugin board VBUS overcurrent flag. More...
 
int BSP_McuBoard_UsbVbusPowerEnable (bool enable)
 Enable MCU plugin board VBUS power switch. More...
 
int BSP_PeripheralAccess (BSP_Peripheral_TypeDef perf, bool enable)
 DK Peripheral Access Control Enable or disable access to on-board peripherals through switches and SPI switch where applicable. Turn off conflicting peripherals when enabling another. More...
 
uint16_t BSP_PushButtonsGet (void)
 Get status of the pushbutton switches on the DK. More...
 
uint16_t BSP_RegisterRead (volatile uint16_t *addr)
 Read from a board controller register. More...
 
int BSP_RegisterWrite (volatile uint16_t *addr, uint16_t data)
 Write to a board controller register. More...
 
float BSP_VoltageGet (void)
 Request AEM (Advanced Energy Monitoring) voltage from board controller. More...