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
text_to_speech_hal.h@0:b33a6418e125, 2016-10-07 (annotated)
- 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?
User | Revision | Line number | New contents of line |
---|---|---|---|
daveyclk | 0:b33a6418e125 | 1 | /**************************************************************************** |
daveyclk | 0:b33a6418e125 | 2 | * Title : Text to Speech HAL |
daveyclk | 0:b33a6418e125 | 3 | * Filename : text_to_speech_hal.h |
daveyclk | 0:b33a6418e125 | 4 | * Author : MSV |
daveyclk | 0:b33a6418e125 | 5 | * Origin Date : 01/02/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 | * 01/02/16 1.0.0 MSV Module Created. |
daveyclk | 0:b33a6418e125 | 12 | * |
daveyclk | 0:b33a6418e125 | 13 | *****************************************************************************/ |
daveyclk | 0:b33a6418e125 | 14 | /** |
daveyclk | 0:b33a6418e125 | 15 | * @file text_to_speech_hal.h |
daveyclk | 0:b33a6418e125 | 16 | * @brief <h2> HAL layer </h2> |
daveyclk | 0:b33a6418e125 | 17 | * |
daveyclk | 0:b33a6418e125 | 18 | * @par |
daveyclk | 0:b33a6418e125 | 19 | * HAL layer 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 | * Includes |
daveyclk | 0:b33a6418e125 | 26 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 27 | #include <stdint.h> |
daveyclk | 0:b33a6418e125 | 28 | #include <stdbool.h> |
daveyclk | 0:b33a6418e125 | 29 | #include <stddef.h> |
daveyclk | 0:b33a6418e125 | 30 | |
daveyclk | 0:b33a6418e125 | 31 | |
daveyclk | 0:b33a6418e125 | 32 | /****************************************************************************** |
daveyclk | 0:b33a6418e125 | 33 | * Preprocessor Constants |
daveyclk | 0:b33a6418e125 | 34 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 35 | #define DUMMY_BYTE 0x00 |
daveyclk | 0:b33a6418e125 | 36 | #define POR_TIME 0.12 |
daveyclk | 0:b33a6418e125 | 37 | /****************************************************************************** |
daveyclk | 0:b33a6418e125 | 38 | * Configuration Constants |
daveyclk | 0:b33a6418e125 | 39 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 40 | |
daveyclk | 0:b33a6418e125 | 41 | /****************************************************************************** |
daveyclk | 0:b33a6418e125 | 42 | * Macros |
daveyclk | 0:b33a6418e125 | 43 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 44 | |
daveyclk | 0:b33a6418e125 | 45 | /****************************************************************************** |
daveyclk | 0:b33a6418e125 | 46 | * Typedefs |
daveyclk | 0:b33a6418e125 | 47 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 48 | |
daveyclk | 0:b33a6418e125 | 49 | /****************************************************************************** |
daveyclk | 0:b33a6418e125 | 50 | * Variables |
daveyclk | 0:b33a6418e125 | 51 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 52 | |
daveyclk | 0:b33a6418e125 | 53 | /****************************************************************************** |
daveyclk | 0:b33a6418e125 | 54 | * Function Prototypes |
daveyclk | 0:b33a6418e125 | 55 | *******************************************************************************/ |
daveyclk | 0:b33a6418e125 | 56 | |
daveyclk | 0:b33a6418e125 | 57 | /** |
daveyclk | 0:b33a6418e125 | 58 | * @brief <h3> CS High </h3> |
daveyclk | 0:b33a6418e125 | 59 | * |
daveyclk | 0:b33a6418e125 | 60 | * @par |
daveyclk | 0:b33a6418e125 | 61 | * Used by HW layer functions to set CS PIN high ( deselect ) |
daveyclk | 0:b33a6418e125 | 62 | */ |
daveyclk | 0:b33a6418e125 | 63 | void tts_hal_cs_high( void ); |
daveyclk | 0:b33a6418e125 | 64 | |
daveyclk | 0:b33a6418e125 | 65 | /** |
daveyclk | 0:b33a6418e125 | 66 | * @brief <h3> CS Low </h3> |
daveyclk | 0:b33a6418e125 | 67 | * |
daveyclk | 0:b33a6418e125 | 68 | * @par |
daveyclk | 0:b33a6418e125 | 69 | * Used by HW layer functions to set CS PIN low ( selecet ) |
daveyclk | 0:b33a6418e125 | 70 | */ |
daveyclk | 0:b33a6418e125 | 71 | void tts_hal_cs_low( void ); |
daveyclk | 0:b33a6418e125 | 72 | |
daveyclk | 0:b33a6418e125 | 73 | /** |
daveyclk | 0:b33a6418e125 | 74 | * @brief <h3> MUT High </h3> |
daveyclk | 0:b33a6418e125 | 75 | * |
daveyclk | 0:b33a6418e125 | 76 | * @par |
daveyclk | 0:b33a6418e125 | 77 | * Used by HW layer to set MUT PIN high ( mute ) |
daveyclk | 0:b33a6418e125 | 78 | */ |
daveyclk | 0:b33a6418e125 | 79 | void tts_hal_mut_high( void ); |
daveyclk | 0:b33a6418e125 | 80 | |
daveyclk | 0:b33a6418e125 | 81 | /** |
daveyclk | 0:b33a6418e125 | 82 | * @brief <h3> MUT Low </h3> |
daveyclk | 0:b33a6418e125 | 83 | * |
daveyclk | 0:b33a6418e125 | 84 | * @par |
daveyclk | 0:b33a6418e125 | 85 | * Used by HW layer to set MUT PIN low ( unmute ) |
daveyclk | 0:b33a6418e125 | 86 | */ |
daveyclk | 0:b33a6418e125 | 87 | void tts_hal_mut_low( void ); |
daveyclk | 0:b33a6418e125 | 88 | |
daveyclk | 0:b33a6418e125 | 89 | /** |
daveyclk | 0:b33a6418e125 | 90 | * @brief <h3> Hardware Reset </h3> |
daveyclk | 0:b33a6418e125 | 91 | * |
daveyclk | 0:b33a6418e125 | 92 | * @par |
daveyclk | 0:b33a6418e125 | 93 | * Resets the module via RST PIN |
daveyclk | 0:b33a6418e125 | 94 | */ |
daveyclk | 0:b33a6418e125 | 95 | void tts_hal_reset( void ); |
daveyclk | 0:b33a6418e125 | 96 | |
daveyclk | 0:b33a6418e125 | 97 | /** |
daveyclk | 0:b33a6418e125 | 98 | * @brief <h3> MSG Ready </h3> |
daveyclk | 0:b33a6418e125 | 99 | * |
daveyclk | 0:b33a6418e125 | 100 | * @par |
daveyclk | 0:b33a6418e125 | 101 | * Returns state of RDY PIN. |
daveyclk | 0:b33a6418e125 | 102 | * |
daveyclk | 0:b33a6418e125 | 103 | * @retval TRUE - RDY high |
daveyclk | 0:b33a6418e125 | 104 | * @retval FALSE - RDY low |
daveyclk | 0:b33a6418e125 | 105 | */ |
daveyclk | 0:b33a6418e125 | 106 | bool tts_hal_msg_rdy( void ); |
daveyclk | 0:b33a6418e125 | 107 | |
daveyclk | 0:b33a6418e125 | 108 | /** |
daveyclk | 0:b33a6418e125 | 109 | * @brief <h3> HAL Initialization </h3> |
daveyclk | 0:b33a6418e125 | 110 | * |
daveyclk | 0:b33a6418e125 | 111 | * Hal layer initialization. Must be called before any other function. |
daveyclk | 0:b33a6418e125 | 112 | */ |
daveyclk | 0:b33a6418e125 | 113 | void tts_hal_init( void ); |
daveyclk | 0:b33a6418e125 | 114 | |
daveyclk | 0:b33a6418e125 | 115 | /** |
daveyclk | 0:b33a6418e125 | 116 | * @brief <h3> HAL Write </h3> |
daveyclk | 0:b33a6418e125 | 117 | * |
daveyclk | 0:b33a6418e125 | 118 | * @par |
daveyclk | 0:b33a6418e125 | 119 | * Writes data through SPI bus |
daveyclk | 0:b33a6418e125 | 120 | * |
daveyclk | 0:b33a6418e125 | 121 | * @note Function have no affect to the CS PIN state - chip select is |
daveyclk | 0:b33a6418e125 | 122 | * controled directly from HW layer. |
daveyclk | 0:b33a6418e125 | 123 | * |
daveyclk | 0:b33a6418e125 | 124 | * @param[in] buffer |
daveyclk | 0:b33a6418e125 | 125 | * @param[in] count |
daveyclk | 0:b33a6418e125 | 126 | */ |
daveyclk | 0:b33a6418e125 | 127 | void tts_hal_write( uint8_t *buffer, |
daveyclk | 0:b33a6418e125 | 128 | uint16_t count, bool boot); |
daveyclk | 0:b33a6418e125 | 129 | |
daveyclk | 0:b33a6418e125 | 130 | void tts_hal_write_pad(int cnt); |
daveyclk | 0:b33a6418e125 | 131 | |
daveyclk | 0:b33a6418e125 | 132 | void tts_hal_write_byte( uint8_t byte ); |
daveyclk | 0:b33a6418e125 | 133 | |
daveyclk | 0:b33a6418e125 | 134 | /** |
daveyclk | 0:b33a6418e125 | 135 | * @brief <h3> HAL Read </h3> |
daveyclk | 0:b33a6418e125 | 136 | * |
daveyclk | 0:b33a6418e125 | 137 | * @par |
daveyclk | 0:b33a6418e125 | 138 | * Reads data from SPI bus |
daveyclk | 0:b33a6418e125 | 139 | * |
daveyclk | 0:b33a6418e125 | 140 | * @note Function have no affect to the CS PIN state - chip select is |
daveyclk | 0:b33a6418e125 | 141 | * controled directly from HW layer |
daveyclk | 0:b33a6418e125 | 142 | * |
daveyclk | 0:b33a6418e125 | 143 | * @param[out] buffer |
daveyclk | 0:b33a6418e125 | 144 | * @param[in] count |
daveyclk | 0:b33a6418e125 | 145 | */ |
daveyclk | 0:b33a6418e125 | 146 | void tts_hal_read( uint8_t *buffer, |
daveyclk | 0:b33a6418e125 | 147 | uint16_t count ); |
daveyclk | 0:b33a6418e125 | 148 | |
daveyclk | 0:b33a6418e125 | 149 | |
daveyclk | 0:b33a6418e125 | 150 | |
daveyclk | 0:b33a6418e125 | 151 | /*** End of File **************************************************************/ |