_BSP_User_Manual: stm3210c_eval.c File Reference

STM3210C EVAL BSP Driver

stm3210c_eval.c File Reference

This file provides a set of firmware functions to manage Leds, push-button and COM ports for STM3210C_EVAL. More...

#include "stm3210c_eval.h"

Go to the source code of this file.

Data Structures

struct  TFT_LCD_TypeDef

Defines

#define START_BYTE   0x70
#define SET_INDEX   0x00
#define READ_STATUS   0x01
#define LCD_WRITE_REG   0x02
#define LCD_READ_REG   0x03
#define SD_DUMMY_BYTE   0xFF
#define SD_NO_RESPONSE_EXPECTED   0x80
#define __STM3210C_EVAL_BSP_VERSION_MAIN   (0x02)
 STM3210C EVAL BSP Driver version number V2.0.0.
#define __STM3210C_EVAL_BSP_VERSION_SUB1   (0x00)
#define __STM3210C_EVAL_BSP_VERSION_SUB2   (0x00)
#define __STM3210C_EVAL_BSP_VERSION_RC   (0x00)
#define __STM3210C_EVAL_BSP_VERSION
#define TFT_LCD_BASE   ((uint32_t)(0x60000000 | 0x0C000000))
#define TFT_LCD   ((TFT_LCD_TypeDef *) TFT_LCD_BASE)

Functions

static void I2Cx_Init (void)
 Eval I2Cx Bus initialization.
static void I2Cx_ITConfig (void)
 Configures I2C Interrupt.
static HAL_StatusTypeDef I2Cx_ReadMultiple (uint8_t Addr, uint16_t Reg, uint16_t MemAddress, uint8_t *Buffer, uint16_t Length)
 Reads multiple data.
static HAL_StatusTypeDef I2Cx_ReadBuffer (uint16_t Addr, uint8_t Reg, uint16_t RegSize, uint8_t *pBuffer, uint16_t Length)
 Reads multiple data on the BUS.
static void I2Cx_WriteData (uint16_t Addr, uint8_t Reg, uint8_t Value)
 Write a value in a register of the device through BUS.
static HAL_StatusTypeDef I2Cx_WriteBuffer (uint16_t Addr, uint8_t Reg, uint16_t RegSize, uint8_t *pBuffer, uint16_t Length)
 Write a value in a register of the device through BUS.
static uint8_t I2Cx_ReadData (uint16_t Addr, uint8_t Reg)
 Read a value in a register of the device through BUS.
static HAL_StatusTypeDef I2Cx_IsDeviceReady (uint16_t DevAddress, uint32_t Trials)
 Checks if target device is ready for communication.
static void I2Cx_Error (uint8_t Addr)
 Manages error callback by re-initializing I2C.
static void I2Cx_MspInit (I2C_HandleTypeDef *hi2c)
 Eval I2Cx MSP Initialization.
void IOE_Init (void)
 Initializes IOE low level.
void IOE_ITConfig (void)
 Configures IOE low level Interrupt.
void IOE_Delay (uint32_t Delay)
 IOE delay.
void IOE_Write (uint8_t Addr, uint8_t Reg, uint8_t Value)
 IOE writes single data.
uint8_t IOE_Read (uint8_t Addr, uint8_t Reg)
 IOE reads single data.
uint16_t IOE_ReadMultiple (uint8_t Addr, uint8_t Reg, uint8_t *Buffer, uint16_t Length)
 IOE reads multiple data.
void EEPROM_I2C_IO_Init (void)
 Initializes peripherals used by the I2C EEPROM driver.
HAL_StatusTypeDef EEPROM_I2C_IO_WriteData (uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize)
 Write data to I2C EEPROM driver.
HAL_StatusTypeDef EEPROM_I2C_IO_ReadData (uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize)
 Read data from I2C EEPROM driver.
HAL_StatusTypeDef EEPROM_I2C_IO_IsDeviceReady (uint16_t DevAddress, uint32_t Trials)
 Checks if target device is ready for communication.
void TSENSOR_IO_Init (void)
 Initializes peripherals used by the I2C Temperature Sensor driver.
void TSENSOR_IO_Write (uint16_t DevAddress, uint8_t *pBuffer, uint8_t WriteAddr, uint16_t Length)
 Writes one byte to the TSENSOR.
void TSENSOR_IO_Read (uint16_t DevAddress, uint8_t *pBuffer, uint8_t ReadAddr, uint16_t Length)
 Reads one byte from the TSENSOR.
uint16_t TSENSOR_IO_IsDeviceReady (uint16_t DevAddress, uint32_t Trials)
 Checks if Temperature Sensor is ready for communication.
void AUDIO_IO_Init (void)
 Initializes Audio low level.
void AUDIO_IO_Write (uint8_t Addr, uint8_t Reg, uint8_t Value)
 Writes a single data.
uint8_t AUDIO_IO_Read (uint8_t Addr, uint8_t Reg)
 Reads a single data.
void ACCELERO_IO_Init (void)
 Configures ACCELEROMETER SPI interface.
void ACCELERO_IO_ITConfig (void)
 Configures ACCELERO INT2 config.
void ACCELERO_IO_Write (uint8_t *pBuffer, uint8_t WriteAddr, uint16_t NumByteToWrite)
 Writes one byte to the ACCELEROMETER.
void ACCELERO_IO_Read (uint8_t *pBuffer, uint8_t ReadAddr, uint16_t NumByteToRead)
 Reads a block of data from the ACCELEROMETER.
static void SPIx_Init (void)
 Initializes SPI HAL.
static void SPIx_Write (uint8_t Value)
 SPI Write a byte to device.
static uint32_t SPIx_Read (void)
 SPI Read 4 bytes from device.
static void SPIx_Error (void)
 SPI error treatment function.
static void SPIx_MspInit (SPI_HandleTypeDef *hspi)
 Initializes SPI MSP.
void LCD_IO_Init (void)
 Configures the LCD_SPI interface.
void LCD_IO_WriteMultipleData (uint8_t *pData, uint32_t Size)
 Write register value.
void LCD_IO_WriteReg (uint8_t Reg)
 register address.
uint16_t LCD_IO_ReadData (uint16_t Reg)
 Read register value.
void LCD_Delay (uint32_t Delay)
 Wait for loop in ms.
void SD_IO_Init (void)
 Initializes the SD Card and put it into StandBy State (Ready for data transfer).
HAL_StatusTypeDef SD_IO_WriteCmd (uint8_t Cmd, uint32_t Arg, uint8_t Crc, uint8_t Response)
 Send 5 bytes command to the SD card and get response.
HAL_StatusTypeDef SD_IO_WaitResponse (uint8_t Response)
 Wait response from the SD card.
void SD_IO_WriteDummy (void)
 Send dummy byte with CS High.
void SD_IO_WriteByte (uint8_t Data)
 Write a byte on the SD.
uint8_t SD_IO_ReadByte (void)
 Read a byte from the SD.
uint32_t BSP_GetVersion (void)
 This method returns the STM3210C EVAL BSP Driver revision.
void BSP_LED_Init (Led_TypeDef Led)
 Configures LED GPIO.
void BSP_LED_On (Led_TypeDef Led)
 Turns selected LED On.
void BSP_LED_Off (Led_TypeDef Led)
 Turns selected LED Off.
void BSP_LED_Toggle (Led_TypeDef Led)
 Toggles the selected LED.
void BSP_PB_Init (Button_TypeDef Button, ButtonMode_TypeDef Button_Mode)
 Configures push button GPIO and EXTI Line.
uint32_t BSP_PB_GetState (Button_TypeDef Button)
 Returns the selected button state.
uint8_t BSP_JOY_Init (JOYMode_TypeDef Joy_Mode)
 Configures joystick GPIO and EXTI modes.
JOYState_TypeDef BSP_JOY_GetState (void)
 Returns the current joystick status.
void BSP_COM_Init (COM_TypeDef COM, UART_HandleTypeDef *huart)
 Configures COM port.

Variables

GPIO_TypeDef * LED_PORT [LEDn]
 LED variables.
const uint16_t LED_PIN [LEDn]
GPIO_TypeDef * BUTTON_PORT [BUTTONn]
 BUTTON variables.
const uint16_t BUTTON_PIN [BUTTONn]
const uint16_t BUTTON_IRQn [BUTTONn]
USART_TypeDef * COM_USART [COMn] = {EVAL_COM1}
 COM variables.
GPIO_TypeDef * COM_TX_PORT [COMn] = {EVAL_COM1_TX_GPIO_PORT}
GPIO_TypeDef * COM_RX_PORT [COMn] = {EVAL_COM1_RX_GPIO_PORT}
const uint16_t COM_TX_PIN [COMn] = {EVAL_COM1_TX_PIN}
const uint16_t COM_RX_PIN [COMn] = {EVAL_COM1_RX_PIN}
uint32_t SpixTimeout = EVAL_SPIx_TIMEOUT_MAX
 BUS variables.
static SPI_HandleTypeDef heval_Spi
uint32_t I2cxTimeout = EVAL_I2Cx_TIMEOUT_MAX
I2C_HandleTypeDef heval_I2c

Detailed Description

This file provides a set of firmware functions to manage Leds, push-button and COM ports for STM3210C_EVAL.

Author:
MCD Application Team
Version:
$VERSION$
Date:
$DATE$
Attention:

© COPYRIGHT(c) 2014 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm3210c_eval.c.

Generated on Thu Dec 11 2014 15:38:29 for _BSP_User_Manual by   doxygen 1.7.5.1