Fork of my original MQTTGateway

Dependencies:   mbed-http

Committer:
vpcola
Date:
Sat Apr 08 14:43:14 2017 +0000
Revision:
0:a1734fe1ec4b
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vpcola 0:a1734fe1ec4b 1 /**
vpcola 0:a1734fe1ec4b 2 * @file MCU_Interface.h
vpcola 0:a1734fe1ec4b 3 * @author VMA division - AMS
vpcola 0:a1734fe1ec4b 4 * @version V2.0.2
vpcola 0:a1734fe1ec4b 5 * @date Febrary 7, 2015
vpcola 0:a1734fe1ec4b 6 * @brief Header file for low level SPIRIT SPI driver.
vpcola 0:a1734fe1ec4b 7 * @details
vpcola 0:a1734fe1ec4b 8 *
vpcola 0:a1734fe1ec4b 9 * This header file constitutes an interface to the SPI driver used to
vpcola 0:a1734fe1ec4b 10 * communicate with Spirit.
vpcola 0:a1734fe1ec4b 11 * It exports some function prototypes to write/read registers and FIFOs
vpcola 0:a1734fe1ec4b 12 * and to send command strobes.
vpcola 0:a1734fe1ec4b 13 * Since the Spirit libraries are totally platform independent, the implementation
vpcola 0:a1734fe1ec4b 14 * of these functions are not provided here. The user have to implement these functions
vpcola 0:a1734fe1ec4b 15 * taking care to keep the exported prototypes.
vpcola 0:a1734fe1ec4b 16 *
vpcola 0:a1734fe1ec4b 17 * These functions are:
vpcola 0:a1734fe1ec4b 18 *
vpcola 0:a1734fe1ec4b 19 * <ul>
vpcola 0:a1734fe1ec4b 20 * <li>SpiritSpiInit</i>
vpcola 0:a1734fe1ec4b 21 * <li>SpiritSpiWriteRegisters</i>
vpcola 0:a1734fe1ec4b 22 * <li>SpiritSpiReadRegisters</i>
vpcola 0:a1734fe1ec4b 23 * <li>SpiritSpiCommandStrobes</i>
vpcola 0:a1734fe1ec4b 24 * <li>SpiritSpiWriteLinearFifo</i>
vpcola 0:a1734fe1ec4b 25 * <li>SpiritSpiReadLinearFifo</i>
vpcola 0:a1734fe1ec4b 26 * </ul>
vpcola 0:a1734fe1ec4b 27 *
vpcola 0:a1734fe1ec4b 28 * @note An example of SPI driver implementation is available in the <i>Sdk_Eval</i> library.
vpcola 0:a1734fe1ec4b 29 *
vpcola 0:a1734fe1ec4b 30 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
vpcola 0:a1734fe1ec4b 31 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
vpcola 0:a1734fe1ec4b 32 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
vpcola 0:a1734fe1ec4b 33 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
vpcola 0:a1734fe1ec4b 34 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
vpcola 0:a1734fe1ec4b 35 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
vpcola 0:a1734fe1ec4b 36 *
vpcola 0:a1734fe1ec4b 37 * THIS SOURCE CODE IS PROTECTED BY A LICENSE.
vpcola 0:a1734fe1ec4b 38 * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
vpcola 0:a1734fe1ec4b 39 * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
vpcola 0:a1734fe1ec4b 40 *
vpcola 0:a1734fe1ec4b 41 * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
vpcola 0:a1734fe1ec4b 42 */
vpcola 0:a1734fe1ec4b 43
vpcola 0:a1734fe1ec4b 44
vpcola 0:a1734fe1ec4b 45 /* Define to prevent recursive inclusion -------------------------------------*/
vpcola 0:a1734fe1ec4b 46 #ifndef __MCU_INTERFACE_H
vpcola 0:a1734fe1ec4b 47 #define __MCU_INTERFACE_H
vpcola 0:a1734fe1ec4b 48
vpcola 0:a1734fe1ec4b 49
vpcola 0:a1734fe1ec4b 50 /* Includes ------------------------------------------------------------------*/
vpcola 0:a1734fe1ec4b 51 #include "SPIRIT_Types.h"
vpcola 0:a1734fe1ec4b 52
vpcola 0:a1734fe1ec4b 53
vpcola 0:a1734fe1ec4b 54 #ifdef __cplusplus
vpcola 0:a1734fe1ec4b 55 extern "C" {
vpcola 0:a1734fe1ec4b 56 #endif
vpcola 0:a1734fe1ec4b 57
vpcola 0:a1734fe1ec4b 58
vpcola 0:a1734fe1ec4b 59 /** @addtogroup SPIRIT_Libraries
vpcola 0:a1734fe1ec4b 60 * @{
vpcola 0:a1734fe1ec4b 61 */
vpcola 0:a1734fe1ec4b 62
vpcola 0:a1734fe1ec4b 63
vpcola 0:a1734fe1ec4b 64 /** @defgroup SPIRIT_SPI_Driver SPI Driver
vpcola 0:a1734fe1ec4b 65 * @brief Header file for low level SPIRIT SPI driver.
vpcola 0:a1734fe1ec4b 66 * @details See the file <i>@ref MCU_Interface.h</i> for more details.
vpcola 0:a1734fe1ec4b 67 * @{
vpcola 0:a1734fe1ec4b 68 */
vpcola 0:a1734fe1ec4b 69
vpcola 0:a1734fe1ec4b 70
vpcola 0:a1734fe1ec4b 71
vpcola 0:a1734fe1ec4b 72 /** @defgroup SPI_Exported_Types SPI Exported Types
vpcola 0:a1734fe1ec4b 73 * @{
vpcola 0:a1734fe1ec4b 74 */
vpcola 0:a1734fe1ec4b 75
vpcola 0:a1734fe1ec4b 76 /**
vpcola 0:a1734fe1ec4b 77 * @}
vpcola 0:a1734fe1ec4b 78 */
vpcola 0:a1734fe1ec4b 79
vpcola 0:a1734fe1ec4b 80
vpcola 0:a1734fe1ec4b 81
vpcola 0:a1734fe1ec4b 82 /** @defgroup SPI_Exported_Constants SPI Exported Constants
vpcola 0:a1734fe1ec4b 83 * @{
vpcola 0:a1734fe1ec4b 84 */
vpcola 0:a1734fe1ec4b 85
vpcola 0:a1734fe1ec4b 86 /**
vpcola 0:a1734fe1ec4b 87 * @}
vpcola 0:a1734fe1ec4b 88 */
vpcola 0:a1734fe1ec4b 89
vpcola 0:a1734fe1ec4b 90
vpcola 0:a1734fe1ec4b 91
vpcola 0:a1734fe1ec4b 92 /** @defgroup SPI_Exported_Macros SPI Exported Macros
vpcola 0:a1734fe1ec4b 93 * @{
vpcola 0:a1734fe1ec4b 94 */
vpcola 0:a1734fe1ec4b 95
vpcola 0:a1734fe1ec4b 96 /**
vpcola 0:a1734fe1ec4b 97 * @}
vpcola 0:a1734fe1ec4b 98 */
vpcola 0:a1734fe1ec4b 99
vpcola 0:a1734fe1ec4b 100
vpcola 0:a1734fe1ec4b 101
vpcola 0:a1734fe1ec4b 102 /** @defgroup SPI_Exported_Functions SPI Exported Functions
vpcola 0:a1734fe1ec4b 103 * @{
vpcola 0:a1734fe1ec4b 104 */
vpcola 0:a1734fe1ec4b 105
vpcola 0:a1734fe1ec4b 106 typedef SpiritStatus StatusBytes;
vpcola 0:a1734fe1ec4b 107
vpcola 0:a1734fe1ec4b 108 void SdkEvalSpiInit(void);
vpcola 0:a1734fe1ec4b 109 StatusBytes SdkEvalSpiWriteRegisters(uint8_t cRegAddress, uint8_t cNbBytes, uint8_t* pcBuffer);
vpcola 0:a1734fe1ec4b 110 StatusBytes SdkEvalSpiReadRegisters(uint8_t cRegAddress, uint8_t cNbBytes, uint8_t* pcBuffer);
vpcola 0:a1734fe1ec4b 111 StatusBytes SdkEvalSpiCommandStrobes(uint8_t cCommandCode);
vpcola 0:a1734fe1ec4b 112 StatusBytes SdkEvalSpiWriteFifo(uint8_t cNbBytes, uint8_t* pcBuffer);
vpcola 0:a1734fe1ec4b 113 StatusBytes SdkEvalSpiReadFifo(uint8_t cNbBytes, uint8_t* pcBuffer);
vpcola 0:a1734fe1ec4b 114
vpcola 0:a1734fe1ec4b 115 void SdkEvalEnterShutdown(void);
vpcola 0:a1734fe1ec4b 116 void SdkEvalExitShutdown(void);
vpcola 0:a1734fe1ec4b 117 SpiritFlagStatus SdkEvalCheckShutdown(void);
vpcola 0:a1734fe1ec4b 118
vpcola 0:a1734fe1ec4b 119 #define SpiritEnterShutdown SdkEvalEnterShutdown
vpcola 0:a1734fe1ec4b 120 #define SpiritExitShutdown SdkEvalExitShutdown
vpcola 0:a1734fe1ec4b 121 #define SpiritCheckShutdown (SpiritFlagStatus)SdkEvalCheckShutdown
vpcola 0:a1734fe1ec4b 122
vpcola 0:a1734fe1ec4b 123
vpcola 0:a1734fe1ec4b 124 #define SpiritSpiInit SdkEvalSpiInit
vpcola 0:a1734fe1ec4b 125 #define SpiritSpiWriteRegisters(cRegAddress, cNbBytes, pcBuffer) SdkEvalSpiWriteRegisters(cRegAddress, cNbBytes, pcBuffer)
vpcola 0:a1734fe1ec4b 126 #define SpiritSpiReadRegisters(cRegAddress, cNbBytes, pcBuffer) SdkEvalSpiReadRegisters(cRegAddress, cNbBytes, pcBuffer)
vpcola 0:a1734fe1ec4b 127 #define SpiritSpiCommandStrobes(cCommandCode) SdkEvalSpiCommandStrobes(cCommandCode)
vpcola 0:a1734fe1ec4b 128 #define SpiritSpiWriteLinearFifo(cNbBytes, pcBuffer) SdkEvalSpiWriteFifo(cNbBytes, pcBuffer)
vpcola 0:a1734fe1ec4b 129 #define SpiritSpiReadLinearFifo(cNbBytes, pcBuffer) SdkEvalSpiReadFifo(cNbBytes, pcBuffer)
vpcola 0:a1734fe1ec4b 130
vpcola 0:a1734fe1ec4b 131 /**
vpcola 0:a1734fe1ec4b 132 * @}
vpcola 0:a1734fe1ec4b 133 */
vpcola 0:a1734fe1ec4b 134
vpcola 0:a1734fe1ec4b 135 /**
vpcola 0:a1734fe1ec4b 136 * @}
vpcola 0:a1734fe1ec4b 137 */
vpcola 0:a1734fe1ec4b 138
vpcola 0:a1734fe1ec4b 139
vpcola 0:a1734fe1ec4b 140 /**
vpcola 0:a1734fe1ec4b 141 * @}
vpcola 0:a1734fe1ec4b 142 */
vpcola 0:a1734fe1ec4b 143
vpcola 0:a1734fe1ec4b 144
vpcola 0:a1734fe1ec4b 145
vpcola 0:a1734fe1ec4b 146 #ifdef __cplusplus
vpcola 0:a1734fe1ec4b 147 }
vpcola 0:a1734fe1ec4b 148 #endif
vpcola 0:a1734fe1ec4b 149
vpcola 0:a1734fe1ec4b 150 #endif
vpcola 0:a1734fe1ec4b 151
vpcola 0:a1734fe1ec4b 152 /******************* (C) COPYRIGHT 2015 STMicroelectronics *****END OF FILE****/