Felícito Manzano
/
DTK_Guaria2_ABInBev
Proyecto ABInBev para la tarjeta Guaria 1/2.
Program/fireup_exe.cpp@18:522f706f03b1, 2022-07-07 (annotated)
- Committer:
- fmanzano_dtk
- Date:
- Thu Jul 07 08:56:13 2022 -0600
- Revision:
- 18:522f706f03b1
- Parent:
- 13:472d40c0fc6b
Actualizacion
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fmanzano_dtk | 1:9e821e640117 | 1 | /** |
fmanzano_dtk | 1:9e821e640117 | 2 | * @file fireup_exe.cpp |
fmanzano_dtk | 1:9e821e640117 | 3 | * @author Felícito Manzano (felicito.manzano@detektor.com.sv) |
fmanzano_dtk | 1:9e821e640117 | 4 | * @brief |
fmanzano_dtk | 1:9e821e640117 | 5 | * @version 0.1 |
fmanzano_dtk | 1:9e821e640117 | 6 | * @date 2021-01-14 |
fmanzano_dtk | 1:9e821e640117 | 7 | * |
fmanzano_dtk | 1:9e821e640117 | 8 | * @copyright Copyright (c) 2021 |
fmanzano_dtk | 1:9e821e640117 | 9 | * |
fmanzano_dtk | 1:9e821e640117 | 10 | */ |
fmanzano_dtk | 1:9e821e640117 | 11 | |
fmanzano_dtk | 1:9e821e640117 | 12 | #include "mbed.h" |
fmanzano_dtk | 1:9e821e640117 | 13 | #include "BufferedSerial.h" |
fmanzano_dtk | 1:9e821e640117 | 14 | //#include "GT521FX.hpp" |
fmanzano_dtk | 1:9e821e640117 | 15 | #include "New_GT521Fx.hpp" |
fmanzano_dtk | 1:9e821e640117 | 16 | #include "playlist.hpp" |
fmanzano_dtk | 1:9e821e640117 | 17 | #include "voice_cn_pa.hpp" |
fmanzano_dtk | 1:9e821e640117 | 18 | #include "jq8400_voice.hpp" |
fmanzano_dtk | 1:9e821e640117 | 19 | #include "teltonika_fmu130.hpp" |
fmanzano_dtk | 1:9e821e640117 | 20 | #include "fireup_exe.hpp" |
fmanzano_dtk | 1:9e821e640117 | 21 | #include "safety_tip_exe.hpp" |
fmanzano_dtk | 1:9e821e640117 | 22 | #include "USBSerial.h" |
fmanzano_dtk | 1:9e821e640117 | 23 | |
fmanzano_dtk | 1:9e821e640117 | 24 | extern BufferedSerial avl_uart; |
fmanzano_dtk | 1:9e821e640117 | 25 | extern BufferedSerial fingerprint; |
fmanzano_dtk | 1:9e821e640117 | 26 | //extern GT521FX fingerprint; |
fmanzano_dtk | 1:9e821e640117 | 27 | extern DigitalOut out1_fingerprint; |
fmanzano_dtk | 1:9e821e640117 | 28 | extern DigitalOut out3_gt521fx; |
fmanzano_dtk | 1:9e821e640117 | 29 | extern DigitalOut out4_gt521fx; |
fmanzano_dtk | 1:9e821e640117 | 30 | extern const char TCA_ID_LECTOR_HUE[]; |
fmanzano_dtk | 1:9e821e640117 | 31 | extern const char IO_ENGINE_UNLOCK[]; |
fmanzano_dtk | 1:9e821e640117 | 32 | extern Ticker tick_fingerprint; |
fmanzano_dtk | 1:9e821e640117 | 33 | extern Ticker tick_safety_tip; |
fmanzano_dtk | 1:9e821e640117 | 34 | extern USBSerial myPC_debug; |
fmanzano_dtk | 1:9e821e640117 | 35 | |
fmanzano_dtk | 1:9e821e640117 | 36 | extern bool finterprint_flag_working; |
fmanzano_dtk | 1:9e821e640117 | 37 | extern bool fingerprint_flag_poweroff; |
fmanzano_dtk | 1:9e821e640117 | 38 | extern bool functionality_fingerprint_reader; |
fmanzano_dtk | 1:9e821e640117 | 39 | extern bool flag_fingerprint_turOn; |
fmanzano_dtk | 1:9e821e640117 | 40 | extern bool flag_driver_loggin; |
fmanzano_dtk | 1:9e821e640117 | 41 | extern bool functionality_force_driver_buclke; |
fmanzano_dtk | 1:9e821e640117 | 42 | extern bool estado_actual_cinturon_piloto; |
fmanzano_dtk | 1:9e821e640117 | 43 | extern bool estado_actual_ignicion; |
fmanzano_dtk | 1:9e821e640117 | 44 | extern bool functionality_safety_tip; |
fmanzano_dtk | 1:9e821e640117 | 45 | extern bool ble_connection_state; |
fmanzano_dtk | 1:9e821e640117 | 46 | extern float time_safety_tip; |
fmanzano_dtk | 1:9e821e640117 | 47 | extern int flag_fingerprint_query; |
fmanzano_dtk | 1:9e821e640117 | 48 | extern char gpio_buffer[]; |
fmanzano_dtk | 1:9e821e640117 | 49 | |
fmanzano_dtk | 7:01141979e5f2 | 50 | #define DEBUG_FU_CPP 1 |
fmanzano_dtk | 13:472d40c0fc6b | 51 | #define UP_FP_READER_GT521 1 |
fmanzano_dtk | 1:9e821e640117 | 52 | |
fmanzano_dtk | 1:9e821e640117 | 53 | /** |
fmanzano_dtk | 1:9e821e640117 | 54 | * @brief |
fmanzano_dtk | 1:9e821e640117 | 55 | * |
fmanzano_dtk | 1:9e821e640117 | 56 | */ |
fmanzano_dtk | 1:9e821e640117 | 57 | void query_fingerprint_reader() { |
fmanzano_dtk | 1:9e821e640117 | 58 | flag_fingerprint_query = true; |
fmanzano_dtk | 1:9e821e640117 | 59 | } |
fmanzano_dtk | 1:9e821e640117 | 60 | |
fmanzano_dtk | 1:9e821e640117 | 61 | |
fmanzano_dtk | 1:9e821e640117 | 62 | /** |
fmanzano_dtk | 1:9e821e640117 | 63 | * @brief |
fmanzano_dtk | 1:9e821e640117 | 64 | * |
fmanzano_dtk | 1:9e821e640117 | 65 | */ |
fmanzano_dtk | 1:9e821e640117 | 66 | void process_Engine_FireUp() { |
fmanzano_dtk | 1:9e821e640117 | 67 | |
fmanzano_dtk | 1:9e821e640117 | 68 | if (functionality_fingerprint_reader) { // Lector habilitado |
fmanzano_dtk | 1:9e821e640117 | 69 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 70 | myPC_debug.printf("EnFU - Lector de huella Habilitado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 71 | #endif |
fmanzano_dtk | 1:9e821e640117 | 72 | |
fmanzano_dtk | 1:9e821e640117 | 73 | if (functionality_force_driver_buclke) { // Cinturón habilitado |
fmanzano_dtk | 1:9e821e640117 | 74 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 75 | myPC_debug.printf("EnFU - Ctrn Piloto - Debe estar abrochado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 76 | #endif |
fmanzano_dtk | 1:9e821e640117 | 77 | if (estado_actual_cinturon_piloto && !(flag_driver_loggin)) { |
fmanzano_dtk | 1:9e821e640117 | 78 | out3_gt521fx = out4_gt521fx = finterprint_flag_working = true; // Se activa el lector |
fmanzano_dtk | 1:9e821e640117 | 79 | wait_us(500000); |
fmanzano_dtk | 1:9e821e640117 | 80 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 81 | myPC_debug.printf("EnFU - OUT3:TRUE"); |
fmanzano_dtk | 1:9e821e640117 | 82 | #endif |
fmanzano_dtk | 1:9e821e640117 | 83 | finterprint_flag_working = true; |
fmanzano_dtk | 1:9e821e640117 | 84 | flag_fingerprint_turOn = true; |
fmanzano_dtk | 1:9e821e640117 | 85 | jq8400_addQueue(VOICE_functionality_fingerprint_reader); |
fmanzano_dtk | 1:9e821e640117 | 86 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 87 | myPC_debug.printf("EnFU - Activar lector de Huella\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 88 | #endif |
fmanzano_dtk | 1:9e821e640117 | 89 | tick_fingerprint.attach(&query_fingerprint_reader, 1.0); |
fmanzano_dtk | 13:472d40c0fc6b | 90 | #if UP_FP_READER_GT521 == 1 |
fmanzano_dtk | 8:a174cef25049 | 91 | FP_Open(); |
fmanzano_dtk | 8:a174cef25049 | 92 | #else |
fmanzano_dtk | 8:a174cef25049 | 93 | #endif |
fmanzano_dtk | 1:9e821e640117 | 94 | sprintf(gpio_buffer, "%s2", TCA_ID_LECTOR_HUE); |
fmanzano_dtk | 1:9e821e640117 | 95 | tx_fmu130_message(gpio_buffer, &avl_uart); |
fmanzano_dtk | 1:9e821e640117 | 96 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 97 | myPC_debug.printf("%s\r\n", gpio_buffer); |
fmanzano_dtk | 1:9e821e640117 | 98 | #endif |
fmanzano_dtk | 1:9e821e640117 | 99 | } |
fmanzano_dtk | 1:9e821e640117 | 100 | |
fmanzano_dtk | 1:9e821e640117 | 101 | } else { // Cinturon deshabilitado |
fmanzano_dtk | 1:9e821e640117 | 102 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 103 | myPC_debug.printf("EnFU - Ctrn Piloto - No se toma en consideracion\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 104 | #endif |
fmanzano_dtk | 1:9e821e640117 | 105 | out3_gt521fx = out4_gt521fx = finterprint_flag_working = true; |
fmanzano_dtk | 1:9e821e640117 | 106 | wait_us(500000); |
fmanzano_dtk | 1:9e821e640117 | 107 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 108 | myPC_debug.printf("EnFU - OUT3:TRUE"); |
fmanzano_dtk | 1:9e821e640117 | 109 | #endif |
fmanzano_dtk | 1:9e821e640117 | 110 | finterprint_flag_working = true; |
fmanzano_dtk | 1:9e821e640117 | 111 | flag_fingerprint_turOn = true; |
fmanzano_dtk | 1:9e821e640117 | 112 | jq8400_addQueue(VOICE_functionality_fingerprint_reader); |
fmanzano_dtk | 1:9e821e640117 | 113 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 114 | myPC_debug.printf("EnFU - Activar lector de Huella"); |
fmanzano_dtk | 1:9e821e640117 | 115 | #endif |
fmanzano_dtk | 1:9e821e640117 | 116 | tick_fingerprint.attach(&query_fingerprint_reader, 1.00); |
fmanzano_dtk | 13:472d40c0fc6b | 117 | #if UP_FP_READER_GT521 == 1 |
fmanzano_dtk | 8:a174cef25049 | 118 | FP_Open(); |
fmanzano_dtk | 8:a174cef25049 | 119 | #else |
fmanzano_dtk | 8:a174cef25049 | 120 | #endif |
fmanzano_dtk | 1:9e821e640117 | 121 | sprintf(gpio_buffer, "%s2", TCA_ID_LECTOR_HUE); |
fmanzano_dtk | 1:9e821e640117 | 122 | tx_fmu130_message(gpio_buffer, &avl_uart); |
fmanzano_dtk | 1:9e821e640117 | 123 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 124 | myPC_debug.printf("%s\r\n", gpio_buffer); |
fmanzano_dtk | 1:9e821e640117 | 125 | #endif |
fmanzano_dtk | 1:9e821e640117 | 126 | } |
fmanzano_dtk | 1:9e821e640117 | 127 | |
fmanzano_dtk | 1:9e821e640117 | 128 | |
fmanzano_dtk | 1:9e821e640117 | 129 | } else { // Lector deshabilitado |
fmanzano_dtk | 1:9e821e640117 | 130 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 131 | myPC_debug.printf("\r\nEnFU - Lector de huella Deshabilitado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 132 | #endif |
fmanzano_dtk | 1:9e821e640117 | 133 | if (functionality_force_driver_buclke) { // Cinturón habilitado |
fmanzano_dtk | 1:9e821e640117 | 134 | if (!(flag_driver_loggin)) { |
fmanzano_dtk | 1:9e821e640117 | 135 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 136 | myPC_debug.printf("\r\nEnFU - Ctrn Piloto - Debe estar abrochado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 137 | #endif |
fmanzano_dtk | 1:9e821e640117 | 138 | if (estado_actual_cinturon_piloto) { |
fmanzano_dtk | 1:9e821e640117 | 139 | flag_driver_loggin = true; |
fmanzano_dtk | 1:9e821e640117 | 140 | jq8400_addQueue(VOICE_WELLCOME); |
fmanzano_dtk | 1:9e821e640117 | 141 | if (ble_connection_state) { |
fmanzano_dtk | 1:9e821e640117 | 142 | // No hacer nada |
fmanzano_dtk | 1:9e821e640117 | 143 | } else { |
fmanzano_dtk | 1:9e821e640117 | 144 | //jq8400_addQueue(VOICE_FP_AUTH_NO_BLUETOOTH); |
fmanzano_dtk | 1:9e821e640117 | 145 | } |
fmanzano_dtk | 1:9e821e640117 | 146 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 147 | myPC_debug.printf("EnFU IGN=ON - Permitir encendido con lector Deshabilitado y cinturon abrochado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 148 | #endif |
fmanzano_dtk | 1:9e821e640117 | 149 | tx_fmu130_command(IO_ENGINE_UNLOCK, &avl_uart); |
fmanzano_dtk | 1:9e821e640117 | 150 | out1_fingerprint = 1; |
fmanzano_dtk | 1:9e821e640117 | 151 | wait_us(1000000); |
fmanzano_dtk | 1:9e821e640117 | 152 | out1_fingerprint = 0; |
fmanzano_dtk | 1:9e821e640117 | 153 | if (functionality_safety_tip) { |
fmanzano_dtk | 1:9e821e640117 | 154 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 155 | myPC_debug.printf("FP - Ticker de Tip de Seguridad Iniciado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 156 | #endif |
fmanzano_dtk | 1:9e821e640117 | 157 | tick_safety_tip.attach(&play_SafetyTip, time_safety_tip); |
fmanzano_dtk | 1:9e821e640117 | 158 | } |
fmanzano_dtk | 1:9e821e640117 | 159 | } |
fmanzano_dtk | 1:9e821e640117 | 160 | } |
fmanzano_dtk | 1:9e821e640117 | 161 | |
fmanzano_dtk | 1:9e821e640117 | 162 | } else { // Cinturón deshabilitado |
fmanzano_dtk | 1:9e821e640117 | 163 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 164 | myPC_debug.printf("\r\nEnFU - Ctrn Piloto - No se toma en consideracion\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 165 | #endif |
fmanzano_dtk | 1:9e821e640117 | 166 | jq8400_addQueue(VOICE_WELLCOME); |
fmanzano_dtk | 1:9e821e640117 | 167 | if (functionality_safety_tip) { |
fmanzano_dtk | 1:9e821e640117 | 168 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 169 | myPC_debug.printf("FP - Ticker de Tip de Seguridad Iniciado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 170 | #endif |
fmanzano_dtk | 1:9e821e640117 | 171 | tick_safety_tip.attach(&play_SafetyTip, time_safety_tip); |
fmanzano_dtk | 1:9e821e640117 | 172 | } |
fmanzano_dtk | 1:9e821e640117 | 173 | } |
fmanzano_dtk | 1:9e821e640117 | 174 | } |
fmanzano_dtk | 1:9e821e640117 | 175 | } |
fmanzano_dtk | 1:9e821e640117 | 176 | |
fmanzano_dtk | 1:9e821e640117 | 177 | /** |
fmanzano_dtk | 1:9e821e640117 | 178 | * @brief |
fmanzano_dtk | 1:9e821e640117 | 179 | * |
fmanzano_dtk | 1:9e821e640117 | 180 | */ |
fmanzano_dtk | 1:9e821e640117 | 181 | void process_SeatBelt_FireUp() { |
fmanzano_dtk | 1:9e821e640117 | 182 | if (functionality_fingerprint_reader) { // Lector habilitado |
fmanzano_dtk | 1:9e821e640117 | 183 | if (functionality_force_driver_buclke) { // Cinturón habilitado |
fmanzano_dtk | 1:9e821e640117 | 184 | if (estado_actual_ignicion && !(flag_driver_loggin)) { |
fmanzano_dtk | 1:9e821e640117 | 185 | out3_gt521fx = out4_gt521fx = finterprint_flag_working = true; |
fmanzano_dtk | 1:9e821e640117 | 186 | wait_us(500000); |
fmanzano_dtk | 1:9e821e640117 | 187 | finterprint_flag_working = true; |
fmanzano_dtk | 1:9e821e640117 | 188 | jq8400_addQueue(VOICE_functionality_fingerprint_reader); |
fmanzano_dtk | 1:9e821e640117 | 189 | tick_fingerprint.attach(&query_fingerprint_reader, 1.00); |
fmanzano_dtk | 1:9e821e640117 | 190 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 191 | myPC_debug.printf("EnFU - OUT3:TRUE"); |
fmanzano_dtk | 1:9e821e640117 | 192 | myPC_debug.printf("EnFU - Ignicion debe estar ON\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 193 | myPC_debug.printf("EnFU - Activar lector de Huella\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 194 | #endif |
fmanzano_dtk | 13:472d40c0fc6b | 195 | #if UP_FP_READER_GT521 == 1 |
fmanzano_dtk | 8:a174cef25049 | 196 | FP_Open(); |
fmanzano_dtk | 8:a174cef25049 | 197 | #else |
fmanzano_dtk | 8:a174cef25049 | 198 | #endif |
fmanzano_dtk | 1:9e821e640117 | 199 | |
fmanzano_dtk | 1:9e821e640117 | 200 | flag_fingerprint_turOn = true; |
fmanzano_dtk | 1:9e821e640117 | 201 | sprintf(gpio_buffer, "%s2", TCA_ID_LECTOR_HUE); |
fmanzano_dtk | 1:9e821e640117 | 202 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 203 | myPC_debug.printf("%s\r\n", gpio_buffer); |
fmanzano_dtk | 1:9e821e640117 | 204 | #endif |
fmanzano_dtk | 1:9e821e640117 | 205 | tx_fmu130_message(gpio_buffer, &avl_uart); |
fmanzano_dtk | 1:9e821e640117 | 206 | } |
fmanzano_dtk | 1:9e821e640117 | 207 | } |
fmanzano_dtk | 1:9e821e640117 | 208 | } else { // Lector deshabilitado |
fmanzano_dtk | 1:9e821e640117 | 209 | if (estado_actual_ignicion && functionality_force_driver_buclke) { |
fmanzano_dtk | 1:9e821e640117 | 210 | if (!(flag_driver_loggin)) { |
fmanzano_dtk | 1:9e821e640117 | 211 | flag_driver_loggin = true; |
fmanzano_dtk | 1:9e821e640117 | 212 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 213 | myPC_debug.printf("EnFU - Permitir encendido con lector Deshabilitado y Cinturon abrochado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 214 | #endif |
fmanzano_dtk | 1:9e821e640117 | 215 | tx_fmu130_command(IO_ENGINE_UNLOCK, &avl_uart); |
fmanzano_dtk | 1:9e821e640117 | 216 | out1_fingerprint = 1; |
fmanzano_dtk | 1:9e821e640117 | 217 | wait_us(1000000); |
fmanzano_dtk | 1:9e821e640117 | 218 | out1_fingerprint = 0; |
fmanzano_dtk | 1:9e821e640117 | 219 | jq8400_addQueue(VOICE_WELLCOME); |
fmanzano_dtk | 1:9e821e640117 | 220 | if (ble_connection_state) { |
fmanzano_dtk | 1:9e821e640117 | 221 | // No hacer nada |
fmanzano_dtk | 1:9e821e640117 | 222 | } else { |
fmanzano_dtk | 1:9e821e640117 | 223 | //jq8400_addQueue(VOICE_FP_AUTH_NO_BLUETOOTH); |
fmanzano_dtk | 1:9e821e640117 | 224 | } |
fmanzano_dtk | 1:9e821e640117 | 225 | if (functionality_safety_tip) { |
fmanzano_dtk | 1:9e821e640117 | 226 | #ifdef DEBUG_FU_CPP |
fmanzano_dtk | 1:9e821e640117 | 227 | myPC_debug.printf("FP - Ticker de Tip de Seguridad Iniciado\r\n"); |
fmanzano_dtk | 1:9e821e640117 | 228 | #endif |
fmanzano_dtk | 1:9e821e640117 | 229 | tick_safety_tip.attach(&play_SafetyTip, time_safety_tip); |
fmanzano_dtk | 1:9e821e640117 | 230 | } |
fmanzano_dtk | 1:9e821e640117 | 231 | } |
fmanzano_dtk | 1:9e821e640117 | 232 | } |
fmanzano_dtk | 1:9e821e640117 | 233 | } |
fmanzano_dtk | 1:9e821e640117 | 234 | } |