Header files and Init data so you can use the Text To Speech Click Board with a Hexiware and mBed OS5

Dependents:   Talking_breathalyzer FindTheColor mbed_Projet

Committer:
daveyclk
Date:
Fri Oct 07 20:09:00 2016 +0000
Revision:
0:b33a6418e125
First version of iBreathalyzer with its own voice! (Text to speech click)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daveyclk 0:b33a6418e125 1 /****************************************************************************
daveyclk 0:b33a6418e125 2 * Title : Text to Speech Click
daveyclk 0:b33a6418e125 3 * Filename : text_to_speech_hw.h
daveyclk 0:b33a6418e125 4 * Author : MSV
daveyclk 0:b33a6418e125 5 * Origin Date : 30/01/2016
daveyclk 0:b33a6418e125 6 * Notes : None
daveyclk 0:b33a6418e125 7 *****************************************************************************/
daveyclk 0:b33a6418e125 8 /**************************CHANGE LIST **************************************
daveyclk 0:b33a6418e125 9 *
daveyclk 0:b33a6418e125 10 * Date Software Version Initials Description
daveyclk 0:b33a6418e125 11 * 30/01/16 XXXXXXXXXXX MSV Interface Created.
daveyclk 0:b33a6418e125 12 *
daveyclk 0:b33a6418e125 13 *****************************************************************************/
daveyclk 0:b33a6418e125 14 /**
daveyclk 0:b33a6418e125 15 * @file text_to_speech_hw.h
daveyclk 0:b33a6418e125 16 * @brief <h3>Hardware Layer</h3>
daveyclk 0:b33a6418e125 17 *
daveyclk 0:b33a6418e125 18 * @par
daveyclk 0:b33a6418e125 19 * Low level functions for
daveyclk 0:b33a6418e125 20 * <a href="http://www.mikroe.com">MikroElektronika's</a> TextToSpeech click
daveyclk 0:b33a6418e125 21 * board.
daveyclk 0:b33a6418e125 22 */
daveyclk 0:b33a6418e125 23
daveyclk 0:b33a6418e125 24 /**
daveyclk 0:b33a6418e125 25 * @page LIB_INFO Library Info
daveyclk 0:b33a6418e125 26 * @date 28 Jan 2016
daveyclk 0:b33a6418e125 27 * @author Milos Vidojevic
daveyclk 0:b33a6418e125 28 * @copyright GNU Public License
daveyclk 0:b33a6418e125 29 * @version 1.0.0 - Initial testing and verification
daveyclk 0:b33a6418e125 30 */
daveyclk 0:b33a6418e125 31
daveyclk 0:b33a6418e125 32 /**
daveyclk 0:b33a6418e125 33 * @page TEST_CFG Test Configurations
daveyclk 0:b33a6418e125 34 *
daveyclk 0:b33a6418e125 35 * ### Test configuration 1 : ###
daveyclk 0:b33a6418e125 36 * @par
daveyclk 0:b33a6418e125 37 * - <b>MCU</b> : STM32F107VC
daveyclk 0:b33a6418e125 38 * - <b>Dev.Board</b> : EasyMx Pro v7
daveyclk 0:b33a6418e125 39 * - <b>Oscillator</b> : 72 Mhz internal
daveyclk 0:b33a6418e125 40 * - <b>Ext. Modules</b> : TextToSpeech Click
daveyclk 0:b33a6418e125 41 * - <b>SW</b> : MikroC PRO for ARM 4.7.1
daveyclk 0:b33a6418e125 42 *
daveyclk 0:b33a6418e125 43 * ### Test configuration 2 : ###
daveyclk 0:b33a6418e125 44 * @par
daveyclk 0:b33a6418e125 45 * - <b>MCU</b> : PIC32MX795F512L
daveyclk 0:b33a6418e125 46 * - <b>Dev. Board</b> : EasyPIC Fusion v7
daveyclk 0:b33a6418e125 47 * - <b>Oscillator</b> : 80 Mhz internal
daveyclk 0:b33a6418e125 48 * - <b>Ext. Modules</b> : TextToSpeech Click
daveyclk 0:b33a6418e125 49 * - <b>SW</b> : MikroC PRO for PIC32 3.6.0
daveyclk 0:b33a6418e125 50 *
daveyclk 0:b33a6418e125 51 * ### Test configuration 3 : ###
daveyclk 0:b33a6418e125 52 * @par
daveyclk 0:b33a6418e125 53 * - <b>MCU</b> : FT900Q
daveyclk 0:b33a6418e125 54 * - <b>Dev. Board</b> : EasyFT90x v7
daveyclk 0:b33a6418e125 55 * - <b>Oscillator</b> : 100 Mhz internal
daveyclk 0:b33a6418e125 56 * - <b>Ext. Modules</b> : TextToSpeech Click
daveyclk 0:b33a6418e125 57 * - <b>SW</b> : MikroC PRO for FT90x 1.2.1
daveyclk 0:b33a6418e125 58 *
daveyclk 0:b33a6418e125 59 */
daveyclk 0:b33a6418e125 60
daveyclk 0:b33a6418e125 61 /**
daveyclk 0:b33a6418e125 62 * @page SCH Schematic
daveyclk 0:b33a6418e125 63 * ![Schematic](../tts_sch.png)
daveyclk 0:b33a6418e125 64 */
daveyclk 0:b33a6418e125 65
daveyclk 0:b33a6418e125 66 /**
daveyclk 0:b33a6418e125 67 * @page PIN Pin Usage
daveyclk 0:b33a6418e125 68 * ![Pins](../tts_pins.png)
daveyclk 0:b33a6418e125 69 */
daveyclk 0:b33a6418e125 70
daveyclk 0:b33a6418e125 71 /**
daveyclk 0:b33a6418e125 72 * @mainpage
daveyclk 0:b33a6418e125 73 * ### General Desription ###
daveyclk 0:b33a6418e125 74 *
daveyclk 0:b33a6418e125 75 * @par
daveyclk 0:b33a6418e125 76 * The S1V30120 is a Speech Synthesis IC that provides a cost effective
daveyclk 0:b33a6418e125 77 * solution for adding Text-To-Speech ( TTS ) and ADPCM speech processing
daveyclk 0:b33a6418e125 78 * applications to a range of portable devices. The highly integrated design
daveyclk 0:b33a6418e125 79 * reduces overall system cost and time-to-market. The S1V30120 contains all
daveyclk 0:b33a6418e125 80 * the required analogue codecs, memory, and EPSON - supplied embedded
daveyclk 0:b33a6418e125 81 * algorithms. All applications are controlled over a single serial interface
daveyclk 0:b33a6418e125 82 * ( SPI ) allowing control from a wide range of hosts and rapid integration
daveyclk 0:b33a6418e125 83 * into existing products.
daveyclk 0:b33a6418e125 84 *
daveyclk 0:b33a6418e125 85 * ### Features ###
daveyclk 0:b33a6418e125 86 *
daveyclk 0:b33a6418e125 87 * @par
daveyclk 0:b33a6418e125 88 * - Text To Speech Synthesis (TTS)
daveyclk 0:b33a6418e125 89 * + Fonix DECtalk v5, fully parametric speech synthesis
daveyclk 0:b33a6418e125 90 * + Languages: US English, Castilian Spanish, Latin American Spanish
daveyclk 0:b33a6418e125 91 * + Nine pre-defined voices
daveyclk 0:b33a6418e125 92 * + Sampling rate: 11.025kHz
daveyclk 0:b33a6418e125 93 *
daveyclk 0:b33a6418e125 94 * - Audio reproduction (ADPCM)
daveyclk 0:b33a6418e125 95 * + ADPCM decoding (in Epson’s original format)
daveyclk 0:b33a6418e125 96 * + Bit rate: 80kbps, 64kbps, 48kbps, 40kbps, 32kbps and 24kbps
daveyclk 0:b33a6418e125 97 * + Sampling rate: 16, 8 kHz
daveyclk 0:b33a6418e125 98 *
daveyclk 0:b33a6418e125 99 * - Host interface
daveyclk 0:b33a6418e125 100 * + Synchronous serial interface (SPI interface is supported)
daveyclk 0:b33a6418e125 101 * + Command control
daveyclk 0:b33a6418e125 102 *
daveyclk 0:b33a6418e125 103 * - 16-bit full-digital amplifier
daveyclk 0:b33a6418e125 104 * + Sampling rate (fs): 16, 11.025 and 8 kHz
daveyclk 0:b33a6418e125 105 * + Digital Input: 16 bits
daveyclk 0:b33a6418e125 106 * + Operating voltage: 3.3/1.8V
daveyclk 0:b33a6418e125 107 *
daveyclk 0:b33a6418e125 108 * - Clock
daveyclk 0:b33a6418e125 109 * + 32.768KHz
daveyclk 0:b33a6418e125 110 *
daveyclk 0:b33a6418e125 111 * - Package
daveyclk 0:b33a6418e125 112 * + 64-pin TQFP (10mm x 10mm) with 0.5mm-pitch pins
daveyclk 0:b33a6418e125 113 *
daveyclk 0:b33a6418e125 114 * - Supply voltage
daveyclk 0:b33a6418e125 115 * + 3.3V (I/O power supply)
daveyclk 0:b33a6418e125 116 * + 1.8V (Core power supply)
daveyclk 0:b33a6418e125 117 */
daveyclk 0:b33a6418e125 118 #ifndef TEXT_TO_SPEECH_HW_H_
daveyclk 0:b33a6418e125 119 #define TEXT_TO_SPEECH_HW_H_
daveyclk 0:b33a6418e125 120 /******************************************************************************
daveyclk 0:b33a6418e125 121 * Includes
daveyclk 0:b33a6418e125 122 *******************************************************************************/
daveyclk 0:b33a6418e125 123 #include <stddef.h>
daveyclk 0:b33a6418e125 124 #include <stdint.h>
daveyclk 0:b33a6418e125 125 #include <string.h>
daveyclk 0:b33a6418e125 126 #include <stdbool.h>
daveyclk 0:b33a6418e125 127
daveyclk 0:b33a6418e125 128 /******************************************************************************
daveyclk 0:b33a6418e125 129 * Preprocessor Constants
daveyclk 0:b33a6418e125 130 *******************************************************************************/
daveyclk 0:b33a6418e125 131 /**
daveyclk 0:b33a6418e125 132 * Time needed for module to gets into the boot mode after reset. */
daveyclk 0:b33a6418e125 133 #define RESET_TO_BOOT_TIME 0.3
daveyclk 0:b33a6418e125 134 /**
daveyclk 0:b33a6418e125 135 * Time needed for module to gets from boot mode into main work mode. */
daveyclk 0:b33a6418e125 136 #define BOOT_TO_MAIN_MODE 0.3
daveyclk 0:b33a6418e125 137
daveyclk 0:b33a6418e125 138 /**
daveyclk 0:b33a6418e125 139 * Time needed for module to enter the standby mode */
daveyclk 0:b33a6418e125 140 #define STBY_MODE_ENTERY 0.05
daveyclk 0:b33a6418e125 141 /**
daveyclk 0:b33a6418e125 142 * Max response time in ms - if there is no response after this amount
daveyclk 0:b33a6418e125 143 * of time user should restart the device */
daveyclk 0:b33a6418e125 144 #define MAX_RESPONSE_TIME 500
daveyclk 0:b33a6418e125 145 /**
daveyclk 0:b33a6418e125 146 * Maximum message size in main mode. Recomended size is 2116 but
daveyclk 0:b33a6418e125 147 * if needed it can be resized to save the RAM space. Note that
daveyclk 0:b33a6418e125 148 * MAIN_MESSAGE_MAX must be greater than BOOT_MESSAGE_MAX. This number decreased
daveyclk 0:b33a6418e125 149 * by 7 also represents the maximum size of the string that can be sent in one
daveyclk 0:b33a6418e125 150 * command. */
daveyclk 0:b33a6418e125 151 #define MAIN_MESSAGE_MAX 1116
daveyclk 0:b33a6418e125 152
daveyclk 0:b33a6418e125 153 /**
daveyclk 0:b33a6418e125 154 * Maximum message size in boot mode. Recomended size is 2048 but
daveyclk 0:b33a6418e125 155 * if needed it can be resized to save RAM space. Note that BOOT_MESSAGE_MAX
daveyclk 0:b33a6418e125 156 * must be smaller than MAIN_MESSAGE_MAX */
daveyclk 0:b33a6418e125 157 #define BOOT_MESSAGE_MAX 1048
daveyclk 0:b33a6418e125 158 //#define BOOT_MESSAGE_MAX 1048
daveyclk 0:b33a6418e125 159 /**
daveyclk 0:b33a6418e125 160 * Maximum response message max */
daveyclk 0:b33a6418e125 161 #define RESP_MESSAGE_MAX 24
daveyclk 0:b33a6418e125 162 /**
daveyclk 0:b33a6418e125 163 * Mark for the start of message */
daveyclk 0:b33a6418e125 164 #define START_MESSAGE 0xAA
daveyclk 0:b33a6418e125 165 /**
daveyclk 0:b33a6418e125 166 * Pading data used to flash the channels */
daveyclk 0:b33a6418e125 167 #define PADDING_BYTE 0x00
daveyclk 0:b33a6418e125 168 /******************************************************************************
daveyclk 0:b33a6418e125 169 * Configuration Constants
daveyclk 0:b33a6418e125 170 *******************************************************************************/
daveyclk 0:b33a6418e125 171
daveyclk 0:b33a6418e125 172 /******************************************************************************
daveyclk 0:b33a6418e125 173 * Macros
daveyclk 0:b33a6418e125 174 *******************************************************************************/
daveyclk 0:b33a6418e125 175
daveyclk 0:b33a6418e125 176 /******************************************************************************
daveyclk 0:b33a6418e125 177 * Typedefs
daveyclk 0:b33a6418e125 178 *******************************************************************************/
daveyclk 0:b33a6418e125 179 /**
daveyclk 0:b33a6418e125 180 * @struct ISC_REQ_t
daveyclk 0:b33a6418e125 181 * @brief <h3> Request Message Structure </h3>
daveyclk 0:b33a6418e125 182 *
daveyclk 0:b33a6418e125 183 * @par
daveyclk 0:b33a6418e125 184 * All messages that are received and sent by the device are termed ISC
daveyclk 0:b33a6418e125 185 * ( Inter-System-Communication ) messages. An ISC message consists of a
daveyclk 0:b33a6418e125 186 * fixed length header part and a variable length payload.
daveyclk 0:b33a6418e125 187 */
daveyclk 0:b33a6418e125 188 typedef struct
daveyclk 0:b33a6418e125 189 {
daveyclk 0:b33a6418e125 190 /**
daveyclk 0:b33a6418e125 191 * Header Part - Message length ( including header )
daveyclk 0:b33a6418e125 192 * len[ 0 ] - LSB
daveyclk 0:b33a6418e125 193 * len[ 1 ] - MSB */
daveyclk 0:b33a6418e125 194 uint8_t len[ 2 ];
daveyclk 0:b33a6418e125 195 /**
daveyclk 0:b33a6418e125 196 * Header Part - Message code ( index )
daveyclk 0:b33a6418e125 197 * idx[ 0 ] - LSB
daveyclk 0:b33a6418e125 198 * idx[ 1 ] - MSB */
daveyclk 0:b33a6418e125 199 uint8_t idx[ 2 ];
daveyclk 0:b33a6418e125 200 /**
daveyclk 0:b33a6418e125 201 * Payload Part - Message data */
daveyclk 0:b33a6418e125 202 uint8_t payload[ MAIN_MESSAGE_MAX ];
daveyclk 0:b33a6418e125 203
daveyclk 0:b33a6418e125 204 }ISC_REQ_t;
daveyclk 0:b33a6418e125 205
daveyclk 0:b33a6418e125 206 /**
daveyclk 0:b33a6418e125 207 * @struct ISC_RESP_t
daveyclk 0:b33a6418e125 208 * @brief <h3> Response Message Structure </h3>
daveyclk 0:b33a6418e125 209 *
daveyclk 0:b33a6418e125 210 * @par
daveyclk 0:b33a6418e125 211 * All messages that are received and sent by the device are termed ISC
daveyclk 0:b33a6418e125 212 * ( Inter-System-Communication ) messages. An ISC message consists of a
daveyclk 0:b33a6418e125 213 * fixed length header part and a variable length payload.
daveyclk 0:b33a6418e125 214 */
daveyclk 0:b33a6418e125 215 typedef struct
daveyclk 0:b33a6418e125 216 {
daveyclk 0:b33a6418e125 217 /**
daveyclk 0:b33a6418e125 218 * Header Part - Message length ( including header )
daveyclk 0:b33a6418e125 219 * len[ 0 ] - LSB
daveyclk 0:b33a6418e125 220 * len[ 1 ] - MSB */
daveyclk 0:b33a6418e125 221 uint8_t len[ 2 ];
daveyclk 0:b33a6418e125 222 /**
daveyclk 0:b33a6418e125 223 * Header Part - Message code ( index )
daveyclk 0:b33a6418e125 224 * idx[ 0 ] - LSB
daveyclk 0:b33a6418e125 225 * idx[ 1 ] - MSB */
daveyclk 0:b33a6418e125 226 uint8_t idx[ 2 ];
daveyclk 0:b33a6418e125 227 /**
daveyclk 0:b33a6418e125 228 * Payload Part - Message data */
daveyclk 0:b33a6418e125 229 uint8_t payload[ RESP_MESSAGE_MAX ];
daveyclk 0:b33a6418e125 230
daveyclk 0:b33a6418e125 231 }ISC_RESP_t;
daveyclk 0:b33a6418e125 232
daveyclk 0:b33a6418e125 233 /******************************************************************************
daveyclk 0:b33a6418e125 234 * Variables
daveyclk 0:b33a6418e125 235 *******************************************************************************/
daveyclk 0:b33a6418e125 236
daveyclk 0:b33a6418e125 237 /******************************************************************************
daveyclk 0:b33a6418e125 238 * Function Prototypes
daveyclk 0:b33a6418e125 239 *******************************************************************************/
daveyclk 0:b33a6418e125 240 #ifdef __cplusplus
daveyclk 0:b33a6418e125 241 extern "C"{
daveyclk 0:b33a6418e125 242 #endif
daveyclk 0:b33a6418e125 243 /**
daveyclk 0:b33a6418e125 244 * @brief <h3> HW Layer Initialization </h3>
daveyclk 0:b33a6418e125 245 *
daveyclk 0:b33a6418e125 246 * @par
daveyclk 0:b33a6418e125 247 * Initalization of HW Layer, must be done before any other function.
daveyclk 0:b33a6418e125 248 * This function also executes HAL layer initialization inside it self.
daveyclk 0:b33a6418e125 249 */
daveyclk 0:b33a6418e125 250 void tts_hw_init( void );
daveyclk 0:b33a6418e125 251
daveyclk 0:b33a6418e125 252 /**
daveyclk 0:b33a6418e125 253 * @brief <h3> Timer Tick </h3>
daveyclk 0:b33a6418e125 254 *
daveyclk 0:b33a6418e125 255 * @par
daveyclk 0:b33a6418e125 256 * Should be placed inside the user defined interrupt routine that will call
daveyclk 0:b33a6418e125 257 * this function every milisecond.
daveyclk 0:b33a6418e125 258 */
daveyclk 0:b33a6418e125 259 void tts_tick_isr( void );
daveyclk 0:b33a6418e125 260
daveyclk 0:b33a6418e125 261 /**
daveyclk 0:b33a6418e125 262 * @brief <h3> Mute Command </h3>
daveyclk 0:b33a6418e125 263 *
daveyclk 0:b33a6418e125 264 * @par
daveyclk 0:b33a6418e125 265 * Mute using MUT pin
daveyclk 0:b33a6418e125 266 *
daveyclk 0:b33a6418e125 267 * @param[in] cmd ( true - mute / false - unmute )
daveyclk 0:b33a6418e125 268 */
daveyclk 0:b33a6418e125 269 void tts_mute_cmd( bool cmd );
daveyclk 0:b33a6418e125 270
daveyclk 0:b33a6418e125 271 /**
daveyclk 0:b33a6418e125 272 * @brief <h3> Request Parser </h3>
daveyclk 0:b33a6418e125 273 *
daveyclk 0:b33a6418e125 274 * @par
daveyclk 0:b33a6418e125 275 * Preparing request for writing. Loads data into output buffer and executes
daveyclk 0:b33a6418e125 276 * write function.
daveyclk 0:b33a6418e125 277 *
daveyclk 0:b33a6418e125 278 * @param[in] req - valid request code
daveyclk 0:b33a6418e125 279 * @param[in] payload - data
daveyclk 0:b33a6418e125 280 * @param[in] pl_len - data size
daveyclk 0:b33a6418e125 281 */
daveyclk 0:b33a6418e125 282 void tts_parse_req( uint16_t req,
daveyclk 0:b33a6418e125 283 uint8_t *payload,
daveyclk 0:b33a6418e125 284 uint16_t pl_len );
daveyclk 0:b33a6418e125 285
daveyclk 0:b33a6418e125 286 /**
daveyclk 0:b33a6418e125 287 * @brief <h3> Boot Image Request Parser </h3>
daveyclk 0:b33a6418e125 288 *
daveyclk 0:b33a6418e125 289 * @par
daveyclk 0:b33a6418e125 290 * Function is used for the boot uploading of boot image
daveyclk 0:b33a6418e125 291 *
daveyclk 0:b33a6418e125 292 * @param[in] payload - boot image part
daveyclk 0:b33a6418e125 293 * @param[in] pl_len - data size
daveyclk 0:b33a6418e125 294 */
daveyclk 0:b33a6418e125 295 void tts_parse_boot_img( const uint8_t *payload,
daveyclk 0:b33a6418e125 296 uint16_t pl_len );
daveyclk 0:b33a6418e125 297
daveyclk 0:b33a6418e125 298 /**
daveyclk 0:b33a6418e125 299 * @brief <h3> Speak Request Parser </h3>
daveyclk 0:b33a6418e125 300 *
daveyclk 0:b33a6418e125 301 * @par
daveyclk 0:b33a6418e125 302 * Preparing speak request for writing. Provided word must be valid
daveyclk 0:b33a6418e125 303 * null terminated string. Size of word must be shorter than
daveyclk 0:b33a6418e125 304 * 2115 characters including null terminator.
daveyclk 0:b33a6418e125 305 *
daveyclk 0:b33a6418e125 306 * @param[in] req - speak request code
daveyclk 0:b33a6418e125 307 * @param[in] flush_en - flash option
daveyclk 0:b33a6418e125 308 * @param[in] word - char array
daveyclk 0:b33a6418e125 309 * @param[in] word_len - char array length
daveyclk 0:b33a6418e125 310 */
daveyclk 0:b33a6418e125 311 void tts_parse_speak_req( uint16_t req,
daveyclk 0:b33a6418e125 312 uint8_t flush_en,
daveyclk 0:b33a6418e125 313 char *word,
daveyclk 0:b33a6418e125 314 uint16_t word_len );
daveyclk 0:b33a6418e125 315
daveyclk 0:b33a6418e125 316 /**
daveyclk 0:b33a6418e125 317 * @brief <h3> Response </h3>
daveyclk 0:b33a6418e125 318 *
daveyclk 0:b33a6418e125 319 * @par
daveyclk 0:b33a6418e125 320 * Cheks and pads SPI for response. If there is a response than this
daveyclk 0:b33a6418e125 321 * function calls read response functions and fills the input buffer
daveyclk 0:b33a6418e125 322 * with received data.
daveyclk 0:b33a6418e125 323 *
daveyclk 0:b33a6418e125 324 */
daveyclk 0:b33a6418e125 325 void tts_get_resp( void );
daveyclk 0:b33a6418e125 326
daveyclk 0:b33a6418e125 327 /**
daveyclk 0:b33a6418e125 328 * @brief <h3> Check Response Index </h3>
daveyclk 0:b33a6418e125 329 *
daveyclk 0:b33a6418e125 330 * @par
daveyclk 0:b33a6418e125 331 * Compares received response code with code provided as argument. Returns
daveyclk 0:b33a6418e125 332 * true if codes have same value, otherwise returns false.
daveyclk 0:b33a6418e125 333 *
daveyclk 0:b33a6418e125 334 * @param[in] idx - response code for comparing
daveyclk 0:b33a6418e125 335 *
daveyclk 0:b33a6418e125 336 * @retval TRUE - codes are same
daveyclk 0:b33a6418e125 337 * @retval FLASE - codes are different
daveyclk 0:b33a6418e125 338 */
daveyclk 0:b33a6418e125 339 bool tts_rsp_chk( uint16_t idx );
daveyclk 0:b33a6418e125 340
daveyclk 0:b33a6418e125 341 /**
daveyclk 0:b33a6418e125 342 * @brief <h3> Response Index </h3>
daveyclk 0:b33a6418e125 343 *
daveyclk 0:b33a6418e125 344 * @par
daveyclk 0:b33a6418e125 345 * Returns last received response code.
daveyclk 0:b33a6418e125 346 *
daveyclk 0:b33a6418e125 347 * @return ( 0x0000 ~ 0xFFFF )
daveyclk 0:b33a6418e125 348 */
daveyclk 0:b33a6418e125 349 uint16_t tts_rsp_idx( void );
daveyclk 0:b33a6418e125 350
daveyclk 0:b33a6418e125 351 /**
daveyclk 0:b33a6418e125 352 * @brief <h3> Response Data </h3>
daveyclk 0:b33a6418e125 353 *
daveyclk 0:b33a6418e125 354 * @par
daveyclk 0:b33a6418e125 355 * Fill given buffer with last received response data if there is data at all.
daveyclk 0:b33a6418e125 356 * Size of buffer must be big enough.
daveyclk 0:b33a6418e125 357 *
daveyclk 0:b33a6418e125 358 * @param[out] buffer
daveyclk 0:b33a6418e125 359 */
daveyclk 0:b33a6418e125 360 void tts_rsp_data( uint8_t *buffer );
daveyclk 0:b33a6418e125 361
daveyclk 0:b33a6418e125 362 #ifdef __cplusplus
daveyclk 0:b33a6418e125 363 } // extern "C"
daveyclk 0:b33a6418e125 364 #endif
daveyclk 0:b33a6418e125 365
daveyclk 0:b33a6418e125 366 #endif
daveyclk 0:b33a6418e125 367
daveyclk 0:b33a6418e125 368
daveyclk 0:b33a6418e125 369 /*** End of File **************************************************************/