FreeCalypso > hg > fc-tourmaline
diff src/cs/drivers/drv_app/spi/spi_api.h @ 0:4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:23:26 +0000 |
parents | |
children | 365833d1d186 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cs/drivers/drv_app/spi/spi_api.h Fri Oct 16 06:23:26 2020 +0000 @@ -0,0 +1,178 @@ +/****************************************************************************/ +/* */ +/* File Name: spi_api.h */ +/* */ +/* Purpose: This file contains data structures and functions prototypes */ +/* used to send events to the SPI SWE. */ +/* */ +/* Version 0.1 */ +/* */ +/* Date Modification */ +/* ------------------------------------ */ +/* 20/08/2000 Create */ +/* */ +/* Author */ +/* */ +/* (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved*/ +/****************************************************************************/ +#ifndef __SPI_API_H_ +#define __SPI_API_H_ + + +#include "rv/rv_general.h" +#include "abb/abb.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + + +/* the message offset must differ for each SWE in order to have unique msg_id in the system */ +#define SPI_MESSAGES_OFFSET (0x34 << 10) + + +/* define a first msg id */ +#define SPI_MESSAGE_1 (SPI_MESSAGES_OFFSET | 0x0001) + + +typedef void (*CALLBACK_FUNC_NO_PARAM)(void); +typedef void (*CALLBACK_FUNC_U16)(UINT16 *); + + + +/*****************************************/ +/* structures of messages send to SPI */ +/*****************************************/ + +typedef struct +{ T_RV_HDR os_hdr; + UINT16 page; + UINT16 address; + UINT16 data; +} T_SPI_WRITE; + + +typedef struct +{ T_RV_HDR os_hdr; + UINT16 page; + UINT16 address; +} T_SPI_READ; + + +typedef struct +{ T_RV_HDR os_hdr; + UINT16 channels; + UINT16 itval; +} T_SPI_ABB_CONF_ADC; + + +typedef struct +{ T_RV_HDR os_hdr; + UINT16 *Buff; + CALLBACK_FUNC_NO_PARAM callback_func; +} T_SPI_ABB_READ_ADC; + + + +#ifdef __cplusplus +} +#endif + + +/* Prototypes */ + +/********************************************************************************/ +/* */ +/* Function Name: spi_abb_write */ +/* */ +/* Purpose: This function is used to send to the SPI mailbox a */ +/* WRITE REGISTER rqst msg. */ +/* */ +/* Input Parameters: */ +/* - page : ABB Page where to read the register. */ +/* - address : address of the ABB register to read. */ +/* - data : data to write in the ABB register */ +/* */ +/* Return : */ +/* - RVM_NOT_READY : the SPI task is not ready */ +/* - RV_MEMORY_ERR : the SPI task has not enough memory */ +/* - RV_OK : normal processing */ +/* */ +/* Note: */ +/* None. */ +/* */ +/********************************************************************************/ +T_RV_RET spi_abb_write(UINT16 page, UINT16 address, UINT16 data); + +/********************************************************************************/ +/* */ +/* Function Name: spi_abb_read */ +/* */ +/* Purpose: This function is used to send a READ REGISTER rqst msg */ +/* to the SPI mailbox. */ +/* */ +/* Input Parameters: */ +/* - page : ABB Page where to read the register. */ +/* - address : address of the ABB register to read. */ +/* - CallBack : callback function called by the spi task */ +/* at the end of the read process. */ +/* */ +/* Return : */ +/* - RVM_NOT_READY : the SPI task is not ready */ +/* - RV_MEMORY_ERR : the SPI task has not enough memory */ +/* - RV_OK : normal processing */ +/* */ +/* Note: */ +/* None. */ +/* */ +/********************************************************************************/ +T_RV_RET spi_abb_read(UINT16 page, UINT16 address, CALLBACK_FUNC_U16 CallBack); + +/********************************************************************************/ +/* */ +/* Function Name: spi_abb_conf_ADC */ +/* */ +/* Purpose: This function is used to send to the SPI mailbox a rqst msg */ +/* for configuring ABB MADC for conversions. */ +/* */ +/* Input Parameters: */ +/* - channels : ABB channels to be converted. */ +/* - itval : configure the End Of Conversion IT. */ +/* */ +/* Return : */ +/* - RVM_NOT_READY : the SPI task is not ready */ +/* - RV_MEMORY_ERR : the SPI task has not enough memory */ +/* - RV_OK : normal processing */ +/* */ +/* Note: */ +/* None. */ +/* */ +/********************************************************************************/ +T_RV_RET spi_abb_conf_ADC(UINT16 channels, UINT16 itval); + +/********************************************************************************/ +/* */ +/* Function Name: spi_abb_read_ADC */ +/* */ +/* Purpose: This function is used to send to the SPI mailbox a rqst msg */ +/* for reading the ABB ADC results. */ +/* */ +/* Input Parameters: */ +/* - Buff : pointer to the buffer filled with ADC results. */ +/* - CallBack : callback function called by the spi task */ +/* at the end of the read process. */ +/* */ +/* Return : */ +/* - RVM_NOT_READY : the SPI task is not ready */ +/* - RV_MEMORY_ERR : the SPI task has not enough memory */ +/* - RV_OK : normal processing */ +/* */ +/* Note: */ +/* None. */ +/* */ +/********************************************************************************/ +T_RV_RET spi_abb_read_ADC(UINT16 *Buff, CALLBACK_FUNC_NO_PARAM CallBack); + +#endif /* __SPI_API_H_ */ +