EFM32 Giant Gecko Software Documentation  efm32gg-doc-5.1.2
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...