Proyecto ABInBev para la tarjeta Guaria 1/2.

Committer:
fmanzano_dtk
Date:
Fri Jul 01 12:45:55 2022 -0600
Revision:
1:9e821e640117
Child:
3:6e55713bc91d
Se importan todos los archivos de la solucion para soportar la nueva version de USBSerial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fmanzano_dtk 1:9e821e640117 1 /**
fmanzano_dtk 1:9e821e640117 2 * @file fmu130_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 2020-10-03
fmanzano_dtk 1:9e821e640117 7 *
fmanzano_dtk 1:9e821e640117 8 * @copyright Copyright (c) 2020
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 "fmu130_exe.hpp" //////
fmanzano_dtk 1:9e821e640117 14 #include "BufferedSerial.h"
fmanzano_dtk 1:9e821e640117 15 //#include "GT521FX.hpp"
fmanzano_dtk 1:9e821e640117 16 #include "New_GT521Fx.hpp"
fmanzano_dtk 1:9e821e640117 17 #include "jq8400_voice.hpp"
fmanzano_dtk 1:9e821e640117 18 #include "voice_cn_pa.hpp"
fmanzano_dtk 1:9e821e640117 19 #include "teltonika_fmu130.hpp"
fmanzano_dtk 1:9e821e640117 20 #include "fingerprint_frame.hpp"
fmanzano_dtk 1:9e821e640117 21 #include "avl_fmu130.hpp"
fmanzano_dtk 1:9e821e640117 22 #include "USBSerial.h"
fmanzano_dtk 1:9e821e640117 23 #include "eeprom.h"
fmanzano_dtk 1:9e821e640117 24 #include "flash_exe.hpp"
fmanzano_dtk 1:9e821e640117 25
fmanzano_dtk 1:9e821e640117 26
fmanzano_dtk 1:9e821e640117 27 /**
fmanzano_dtk 1:9e821e640117 28 * @brief
fmanzano_dtk 1:9e821e640117 29 * Objetos Entradas Digitales / Seriales
fmanzano_dtk 1:9e821e640117 30 */
fmanzano_dtk 1:9e821e640117 31 extern BufferedSerial avl_uart;
fmanzano_dtk 1:9e821e640117 32 extern BufferedSerial voice_uart;
fmanzano_dtk 1:9e821e640117 33 extern DigitalOut out1_fingerprint;
fmanzano_dtk 1:9e821e640117 34 extern DigitalOut out2_ble_reset;
fmanzano_dtk 1:9e821e640117 35 extern DigitalOut out3_gt521fx;
fmanzano_dtk 1:9e821e640117 36 extern DigitalOut out4_gt521fx;
fmanzano_dtk 1:9e821e640117 37 extern BufferedSerial fingerprint;
fmanzano_dtk 1:9e821e640117 38 extern USBSerial myPC_debug;
fmanzano_dtk 1:9e821e640117 39 extern Ticker tick_idle_shutdown;
fmanzano_dtk 1:9e821e640117 40 extern Ticker tick_idle_reminder;
fmanzano_dtk 1:9e821e640117 41 extern Ticker tick_safety_tip;
fmanzano_dtk 1:9e821e640117 42 extern Ticker tick_rain_sensor;
fmanzano_dtk 1:9e821e640117 43 extern Ticker tick_autoreset_ble;
fmanzano_dtk 1:9e821e640117 44 extern EEPROM ep;
fmanzano_dtk 1:9e821e640117 45
fmanzano_dtk 1:9e821e640117 46 #define DEBUG_FMU130_CPP 1
fmanzano_dtk 1:9e821e640117 47
fmanzano_dtk 1:9e821e640117 48 /**
fmanzano_dtk 1:9e821e640117 49 * @brief
fmanzano_dtk 1:9e821e640117 50 * Variables Externas de Recepción
fmanzano_dtk 1:9e821e640117 51 */
fmanzano_dtk 1:9e821e640117 52 extern bool rg9_raining;
fmanzano_dtk 1:9e821e640117 53 extern bool ignition;
fmanzano_dtk 1:9e821e640117 54 extern bool estado_actual_ignicion;
fmanzano_dtk 1:9e821e640117 55 extern char fmu130_payload[1024];
fmanzano_dtk 1:9e821e640117 56 extern int fmu130_payload_type;
fmanzano_dtk 1:9e821e640117 57 extern int incoming_bytes;
fmanzano_dtk 1:9e821e640117 58 extern int temp_JQ8400_Volume;
fmanzano_dtk 1:9e821e640117 59
fmanzano_dtk 1:9e821e640117 60 /**
fmanzano_dtk 1:9e821e640117 61 * @brief
fmanzano_dtk 1:9e821e640117 62 * Variables externas de comandos AVL
fmanzano_dtk 1:9e821e640117 63 */
fmanzano_dtk 1:9e821e640117 64 extern const char hardware_version[];
fmanzano_dtk 1:9e821e640117 65 extern const char firmware_version[];
fmanzano_dtk 1:9e821e640117 66 extern char avl_fmu130_header[2];
fmanzano_dtk 1:9e821e640117 67 extern char avl_fmu130_imei[16];
fmanzano_dtk 1:9e821e640117 68 extern int avl_fmu130_id;
fmanzano_dtk 1:9e821e640117 69 extern int avl_fmu130_status;
fmanzano_dtk 1:9e821e640117 70
fmanzano_dtk 1:9e821e640117 71 /**
fmanzano_dtk 1:9e821e640117 72 * @brief
fmanzano_dtk 1:9e821e640117 73 * Variables externas con comandos del lector de huellas y
fmanzano_dtk 1:9e821e640117 74 * funciones de habilitación
fmanzano_dtk 1:9e821e640117 75 */
fmanzano_dtk 1:9e821e640117 76 extern int bluetooth_cmd_id;
fmanzano_dtk 1:9e821e640117 77 extern int fingerprint_id;
fmanzano_dtk 1:9e821e640117 78 extern char fingerprint_cmd[4];
fmanzano_dtk 1:9e821e640117 79 extern char fingerprint_hex[997];
fmanzano_dtk 1:9e821e640117 80 extern char fingerprint_asc[499];
fmanzano_dtk 1:9e821e640117 81 extern bool flag_idle_force_shutdown;
fmanzano_dtk 1:9e821e640117 82 extern bool flag_idle_reminder;
fmanzano_dtk 1:9e821e640117 83 extern bool flag_fingerprint_Sleep;
fmanzano_dtk 1:9e821e640117 84 extern bool functionality_fingerprint_reader;
fmanzano_dtk 1:9e821e640117 85 extern bool fingerprint_remotly_disable;
fmanzano_dtk 1:9e821e640117 86 extern bool functionality_force_driver_buclke;
fmanzano_dtk 1:9e821e640117 87 extern bool functionality_idle_shutdown;
fmanzano_dtk 1:9e821e640117 88 extern bool functionality_idle_reminder;
fmanzano_dtk 1:9e821e640117 89 extern bool functionality_rain_sensor;
fmanzano_dtk 1:9e821e640117 90 extern bool functionality_seatbelt_reading;
fmanzano_dtk 1:9e821e640117 91 extern int wet_Speed_Limit;
fmanzano_dtk 1:9e821e640117 92 extern int wet_Speed_Warning;
fmanzano_dtk 1:9e821e640117 93 extern int dry_Speed_Limit;
fmanzano_dtk 1:9e821e640117 94 extern int dry_Speed_Warning;
fmanzano_dtk 1:9e821e640117 95 extern char wet_Speed_CMD[30];
fmanzano_dtk 1:9e821e640117 96 extern char dry_Speed_CMD[30];
fmanzano_dtk 1:9e821e640117 97 extern bool flag_query_rain_sensor;
fmanzano_dtk 1:9e821e640117 98 extern bool flag_safety_tip_enable;
fmanzano_dtk 1:9e821e640117 99 extern bool functionality_safety_tip;
fmanzano_dtk 1:9e821e640117 100 extern float time_safety_tip;
fmanzano_dtk 1:9e821e640117 101 extern float time_sample_rain;
fmanzano_dtk 1:9e821e640117 102 extern bool fingerprint_override;
fmanzano_dtk 1:9e821e640117 103 extern int fp_override_limit;
fmanzano_dtk 1:9e821e640117 104 extern bool functionality_geo_warning;
fmanzano_dtk 1:9e821e640117 105 extern bool functionality_rainSensor_silentMode;
fmanzano_dtk 1:9e821e640117 106 extern bool functionality_ble_autoreset;
fmanzano_dtk 1:9e821e640117 107 extern float time_ble_autoreset;
fmanzano_dtk 1:9e821e640117 108 extern bool finterprint_flag_working;
fmanzano_dtk 1:9e821e640117 109 extern bool fingerprint_flag_poweroff;
fmanzano_dtk 1:9e821e640117 110 // Cinturones
fmanzano_dtk 1:9e821e640117 111 extern bool pilot_buckle_type;
fmanzano_dtk 1:9e821e640117 112 extern int pilot_buckleUp;
fmanzano_dtk 1:9e821e640117 113 extern int pilot_unfasten;
fmanzano_dtk 1:9e821e640117 114 extern bool copilot_buckle_type;
fmanzano_dtk 1:9e821e640117 115 extern int copilot_buckleUp;
fmanzano_dtk 1:9e821e640117 116 extern int copilot_unfasten;
fmanzano_dtk 1:9e821e640117 117 extern bool crew_buckle_type;
fmanzano_dtk 1:9e821e640117 118 extern int crew_buckleUp;
fmanzano_dtk 1:9e821e640117 119 extern int crew_unfasten;
fmanzano_dtk 1:9e821e640117 120
fmanzano_dtk 1:9e821e640117 121
fmanzano_dtk 1:9e821e640117 122 // Variables de flash
fmanzano_dtk 1:9e821e640117 123 //extern uint16_t VirtAddVarTab[];
fmanzano_dtk 1:9e821e640117 124 //extern uint16_t VarDataTab[];
fmanzano_dtk 1:9e821e640117 125 extern uint32_t eprom_AddressArray[];
fmanzano_dtk 1:9e821e640117 126
fmanzano_dtk 1:9e821e640117 127
fmanzano_dtk 1:9e821e640117 128 /**
fmanzano_dtk 1:9e821e640117 129 * @brief
fmanzano_dtk 1:9e821e640117 130 * Variables locales
fmanzano_dtk 1:9e821e640117 131 */
fmanzano_dtk 1:9e821e640117 132 const char hardware_version[] = "GCR1";
fmanzano_dtk 1:9e821e640117 133 const char firmware_version[] = "7.0 Rev265";
fmanzano_dtk 1:9e821e640117 134 const char release_date[] = "28Jun2022";
fmanzano_dtk 1:9e821e640117 135 const char TCA_ID_FP_WORKING_STATUS[] = "TCA|111|";
fmanzano_dtk 1:9e821e640117 136 const char TCA_ID_FP_SERVER_ADD[] = "TCA|112|";
fmanzano_dtk 1:9e821e640117 137 const char TCA_ID_FP_ENROLL_CNT[] = "TCA|114|";
fmanzano_dtk 1:9e821e640117 138 const char TCA_ID_FP_SERVER_DEL[] = "TCA|115|";
fmanzano_dtk 1:9e821e640117 139 const char TCA_ID_IDLE_SHUTDOWN[] = "TCA|123|";
fmanzano_dtk 1:9e821e640117 140 const char TCA_ID_FORCE_SEATBELT[] = "TCA|126|";
fmanzano_dtk 1:9e821e640117 141 const char TCA_ID_FORCE_IDLE_SHUTDOWN[] = "TCA|127|";
fmanzano_dtk 1:9e821e640117 142 const char TCA_ID_RAIN_SENSOR_ENA[] = "TCA|128|";
fmanzano_dtk 1:9e821e640117 143 const char TCA_ID_SEATBELT_READ_ENA[] = "TCA|129|";
fmanzano_dtk 1:9e821e640117 144 const char TCA_ID_VOLUME_SET[] = "TCA|130|";
fmanzano_dtk 1:9e821e640117 145 const char TCA_ID_QUERY_SPEED_LIMIT[] = "TCA|131|";
fmanzano_dtk 1:9e821e640117 146 const char TCA_ID_QUERY_IDLE_TIMER[] = "TCA|132|";
fmanzano_dtk 1:9e821e640117 147 const char TCA_ID_IDLE_REMINDER[] = "TCA|133|2";
fmanzano_dtk 1:9e821e640117 148 const char TCA_ID_IDLE_REMINDER_ENA[] = "TCA|133|1";
fmanzano_dtk 1:9e821e640117 149 const char TCA_ID_IDLE_REMINDER_DIS[] = "TCA|133|0";
fmanzano_dtk 1:9e821e640117 150 const char TCA_ID_SAFETY_TIP_REMINDER[] = "TCA|134|2";
fmanzano_dtk 1:9e821e640117 151 const char TCA_ID_SAFETY_TIP_ENABLE[] = "TCA|134|1";
fmanzano_dtk 1:9e821e640117 152 const char TCA_ID_SAFETY_TIP_DISABLE[] = "TCA|134|0";
fmanzano_dtk 1:9e821e640117 153 const char TCA_ID_QUERY_SAFETY_TIP[] = "TCA|136|";
fmanzano_dtk 1:9e821e640117 154 const char TCA_ID_Q_FINGERPRINT_STATUS[] = "TCA|137|";
fmanzano_dtk 1:9e821e640117 155 const char TCA_ID_Q_RAINSENSOR_STATUS[] = "TCA|138|";
fmanzano_dtk 1:9e821e640117 156 const char TCA_ID_Q_IDLE_SHUTDOWN_ST[] = "TCA|139|";
fmanzano_dtk 1:9e821e640117 157 const char TCA_ID_Q_FORCE_SEATBELT_ST[] = "TCA|140|";
fmanzano_dtk 1:9e821e640117 158 const char TCA_ID_Q_VOLUME_LEVEL[] = "TCA|141|";
fmanzano_dtk 1:9e821e640117 159 const char TCA_ID_CHECK_ENROLLED_ID[] = "TCA|142|";
fmanzano_dtk 1:9e821e640117 160 const char TCA_ID_HARDWARE_VERSION[] = "TCA|143|";
fmanzano_dtk 1:9e821e640117 161 const char TCA_ID_FIRMWARE_VERSION[] = "TCA|144|";
fmanzano_dtk 1:9e821e640117 162 const char TCA_ID_DIN_CONFIGURATION[] = "TCA|145|";
fmanzano_dtk 1:9e821e640117 163 const char TCA_ID_Q_RAIN_SAMPLE_TIMER[] = "TCA|146|";
fmanzano_dtk 1:9e821e640117 164 const char TCA_ID_FP_OVERRIDE_ENABLE[] = "TCA|147|1";
fmanzano_dtk 1:9e821e640117 165 const char TCA_ID_FP_OVERRIDE_DISABLE[] = "TCA|147|0";
fmanzano_dtk 1:9e821e640117 166 const char TCA_ID_Q_FP_OVERRIDE[] = "TCA|148|";
fmanzano_dtk 1:9e821e640117 167 const char TCA_ID_GEO_WARNING_DISABLE[] = "TCA|135|0";
fmanzano_dtk 1:9e821e640117 168 const char TCA_ID_GEO_WARNING_ENABLE[] = "TCA|135|1";
fmanzano_dtk 1:9e821e640117 169 const char TCA_ID_GEO_WARNING_QUERY_OFF[] = "TCA|135|2";
fmanzano_dtk 1:9e821e640117 170 const char TCA_ID_GEO_WARNING_QUERY_ON[] = "TCA|135|3";
fmanzano_dtk 1:9e821e640117 171 const char TCA_ID_GEO_WARNING_GETIN[] = "TCA|151|0;";
fmanzano_dtk 1:9e821e640117 172 const char TCA_ID_GEO_WARNING_EVENT[] = "TCA|151|1;";
fmanzano_dtk 1:9e821e640117 173 const char TCA_ID_GEO_WARNING_GETOUT[] = "TCA|151|2;";
fmanzano_dtk 1:9e821e640117 174 const char TCA_ID_RAIN_SILENT_MODE_ENA[] = "TCA|152|1";
fmanzano_dtk 1:9e821e640117 175 const char TCA_ID_RAIN_SILENT_MODE_DIS[] = "TCA|152|0";
fmanzano_dtk 1:9e821e640117 176 const char TCA_ID_RAIN_SILENT_MODE_Q[] = "TCA|153|";
fmanzano_dtk 1:9e821e640117 177 const char TCA_ID_BLE_AUTORESET_DIS[] = "TCA|155|0";
fmanzano_dtk 1:9e821e640117 178 const char TCA_ID_BLE_AUTORESET_ENA[] = "TCA|155|1";
fmanzano_dtk 1:9e821e640117 179 const char TCA_ID_BLE_AUTORESET_qDIS[] = "TCA|156|0,";
fmanzano_dtk 1:9e821e640117 180 const char TCA_ID_BLE_AUTORESET_qENA[] = "TCA|156|1,";
fmanzano_dtk 1:9e821e640117 181 const char TCA_ID_IDLE_REMINDER_TIME[] = "TCA|158|";
fmanzano_dtk 1:9e821e640117 182 // cinturones individuales
fmanzano_dtk 1:9e821e640117 183 const char TCA_ID_PILOT_BUCKLE_NO[] = "TCA|145|2";
fmanzano_dtk 1:9e821e640117 184 const char TCA_ID_PILOT_BUCKLE_NC[] = "TCA|145|3";
fmanzano_dtk 1:9e821e640117 185 const char TCA_ID_COPILOT_BUCKLE_NO[] = "TCA|145|4";
fmanzano_dtk 1:9e821e640117 186 const char TCA_ID_COPILOT_BUCKLE_NC[] = "TCA|145|5";
fmanzano_dtk 1:9e821e640117 187 const char TCA_ID_CREW_BUCKLE_NO[] = "TCA|145|6";
fmanzano_dtk 1:9e821e640117 188 const char TCA_ID_CREW_BUCKLE_NC[] = "TCA|145|7";
fmanzano_dtk 1:9e821e640117 189
fmanzano_dtk 1:9e821e640117 190 const char FMU_ENGINE_LOCK[] = "setdigout 0?? ? ? ? ? ? ?";
fmanzano_dtk 1:9e821e640117 191 const char FMU_ENGINE_UNLOCK[] = "setdigout 1?? ? ? ? ? ? ?";
fmanzano_dtk 1:9e821e640117 192 char fmu_buffer[64];
fmanzano_dtk 1:9e821e640117 193 long longitud_huella = 498;
fmanzano_dtk 1:9e821e640117 194 bool trama_con_huella = false;
fmanzano_dtk 1:9e821e640117 195 float wait_idle_shutdown;
fmanzano_dtk 1:9e821e640117 196 float wait_idle_reminder;
fmanzano_dtk 1:9e821e640117 197 int tipo_trama_entrante = 0;
fmanzano_dtk 1:9e821e640117 198 int resultado = 0;
fmanzano_dtk 1:9e821e640117 199 int consultar_ID_FP = 0;
fmanzano_dtk 1:9e821e640117 200 int enrolado = -1;
fmanzano_dtk 1:9e821e640117 201 int id_geozone = 0;
fmanzano_dtk 1:9e821e640117 202
fmanzano_dtk 1:9e821e640117 203
fmanzano_dtk 1:9e821e640117 204 /**
fmanzano_dtk 1:9e821e640117 205 * @brief
fmanzano_dtk 1:9e821e640117 206 *
fmanzano_dtk 1:9e821e640117 207 */
fmanzano_dtk 1:9e821e640117 208 void activate_idle_shutdown() {
fmanzano_dtk 1:9e821e640117 209 flag_idle_force_shutdown = true;
fmanzano_dtk 1:9e821e640117 210 }
fmanzano_dtk 1:9e821e640117 211
fmanzano_dtk 1:9e821e640117 212 void activate_idle_reminder() {
fmanzano_dtk 1:9e821e640117 213 flag_idle_reminder = true;
fmanzano_dtk 1:9e821e640117 214 }
fmanzano_dtk 1:9e821e640117 215
fmanzano_dtk 1:9e821e640117 216 void queryRG9(){
fmanzano_dtk 1:9e821e640117 217 flag_query_rain_sensor = true;
fmanzano_dtk 1:9e821e640117 218 }
fmanzano_dtk 1:9e821e640117 219
fmanzano_dtk 1:9e821e640117 220 void BLE_reset() { // Aplicar reset a módulo BLE
fmanzano_dtk 1:9e821e640117 221 out2_ble_reset = true;
fmanzano_dtk 1:9e821e640117 222 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 223 myPC_debug.printf("\r\nBLE - Reset\r\n");
fmanzano_dtk 1:9e821e640117 224 #endif
fmanzano_dtk 1:9e821e640117 225 wait_ms(BLE_RESET_PULSE_WIDTH);
fmanzano_dtk 1:9e821e640117 226 out2_ble_reset = false;
fmanzano_dtk 1:9e821e640117 227 }
fmanzano_dtk 1:9e821e640117 228
fmanzano_dtk 1:9e821e640117 229
fmanzano_dtk 1:9e821e640117 230 /**
fmanzano_dtk 1:9e821e640117 231 * @brief
fmanzano_dtk 1:9e821e640117 232 *
fmanzano_dtk 1:9e821e640117 233 */
fmanzano_dtk 1:9e821e640117 234 void exe_idle_shutdown() {
fmanzano_dtk 1:9e821e640117 235 flag_idle_force_shutdown = false;
fmanzano_dtk 1:9e821e640117 236 tick_idle_shutdown.detach();
fmanzano_dtk 1:9e821e640117 237 if (functionality_idle_shutdown) {
fmanzano_dtk 1:9e821e640117 238 if (ignition) {
fmanzano_dtk 1:9e821e640117 239 tx_fmu130_command(FMU_ENGINE_LOCK, &avl_uart);
fmanzano_dtk 1:9e821e640117 240 jq8400_addQueue(VOICE_IDLE_ENGINE_SHUTDOWN);
fmanzano_dtk 1:9e821e640117 241 sprintf(fmu_buffer, "%s1", TCA_ID_IDLE_SHUTDOWN);
fmanzano_dtk 1:9e821e640117 242 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 243 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 244 myPC_debug.printf("IDLE - Apagado por exceso de Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 245 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 246 #endif
fmanzano_dtk 1:9e821e640117 247 } else {
fmanzano_dtk 1:9e821e640117 248 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 249 myPC_debug.printf("IDLE - Ignicion OFF - No se envia apagado.\r\n");
fmanzano_dtk 1:9e821e640117 250 #endif
fmanzano_dtk 1:9e821e640117 251 }
fmanzano_dtk 1:9e821e640117 252 }
fmanzano_dtk 1:9e821e640117 253 }
fmanzano_dtk 1:9e821e640117 254
fmanzano_dtk 1:9e821e640117 255 void exe_idle_reminder() {
fmanzano_dtk 1:9e821e640117 256 flag_idle_reminder = false;
fmanzano_dtk 1:9e821e640117 257 jq8400_addQueue(VOICE_IDLE_REMINDER);
fmanzano_dtk 1:9e821e640117 258 sprintf(fmu_buffer, "%s", TCA_ID_IDLE_REMINDER);
fmanzano_dtk 1:9e821e640117 259 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 260 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 261 myPC_debug.printf("IDLE - Recordatorio por exceso de Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 262 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 263 #endif
fmanzano_dtk 1:9e821e640117 264 }
fmanzano_dtk 1:9e821e640117 265
fmanzano_dtk 1:9e821e640117 266 /**
fmanzano_dtk 1:9e821e640117 267 * @brief
fmanzano_dtk 1:9e821e640117 268 *
fmanzano_dtk 1:9e821e640117 269 */
fmanzano_dtk 1:9e821e640117 270 void boot_message() {
fmanzano_dtk 1:9e821e640117 271 sprintf(fmu_buffer, "TCA|100|%s", firmware_version);
fmanzano_dtk 1:9e821e640117 272 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 273 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 274 myPC_debug.printf("\r\n\r\nDETEKTOR I+D. TEAM CAPTURA\r\n");
fmanzano_dtk 1:9e821e640117 275 myPC_debug.printf("Proyecto ABInBev PA\r\n");
fmanzano_dtk 1:9e821e640117 276 myPC_debug.printf("Version %s - %s\r\n\r\n", firmware_version, release_date);
fmanzano_dtk 1:9e821e640117 277 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 278 #endif
fmanzano_dtk 1:9e821e640117 279 }
fmanzano_dtk 1:9e821e640117 280
fmanzano_dtk 1:9e821e640117 281
fmanzano_dtk 1:9e821e640117 282 /**
fmanzano_dtk 1:9e821e640117 283 * @brief
fmanzano_dtk 1:9e821e640117 284 *
fmanzano_dtk 1:9e821e640117 285 */
fmanzano_dtk 1:9e821e640117 286 void process_FMU130() {
fmanzano_dtk 1:9e821e640117 287 memset(fmu_buffer, '\0', sizeof(fmu_buffer));
fmanzano_dtk 1:9e821e640117 288 memset(fmu130_payload, '\0', sizeof(fmu130_payload));
fmanzano_dtk 1:9e821e640117 289
fmanzano_dtk 1:9e821e640117 290 /**
fmanzano_dtk 1:9e821e640117 291 * @brief
fmanzano_dtk 1:9e821e640117 292 *
fmanzano_dtk 1:9e821e640117 293 */
fmanzano_dtk 1:9e821e640117 294 incoming_bytes = read_avl_uart(&avl_uart, fmu130_payload);
fmanzano_dtk 1:9e821e640117 295
fmanzano_dtk 1:9e821e640117 296 if (incoming_bytes > 0) {
fmanzano_dtk 1:9e821e640117 297 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 298 myPC_debug.printf("\r\nBLE - Bytes entrantes: %d\r\n", incoming_bytes);
fmanzano_dtk 1:9e821e640117 299 #endif
fmanzano_dtk 1:9e821e640117 300 tipo_trama_entrante = identify_fmu130_payload(fmu130_payload);
fmanzano_dtk 1:9e821e640117 301
fmanzano_dtk 1:9e821e640117 302 /**
fmanzano_dtk 1:9e821e640117 303 * @brief Construct a new switch object
fmanzano_dtk 1:9e821e640117 304 *
fmanzano_dtk 1:9e821e640117 305 */
fmanzano_dtk 1:9e821e640117 306 switch (tipo_trama_entrante) {
fmanzano_dtk 1:9e821e640117 307 case TRAMA_AVL_FMU130 :
fmanzano_dtk 1:9e821e640117 308 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 309 myPC_debug.printf("BLE - Evento AVL\r\n");
fmanzano_dtk 1:9e821e640117 310 #endif
fmanzano_dtk 1:9e821e640117 311 if (verify_fmu130_payload(fmu130_payload)) {
fmanzano_dtk 1:9e821e640117 312 parse_fmu130_payload(fmu130_payload, avl_fmu130_header, avl_fmu130_imei, &avl_fmu130_id, &avl_fmu130_status);
fmanzano_dtk 1:9e821e640117 313 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 314 myPC_debug.printf("BLE - FMU_ID:%d Status:%d\r\n", avl_fmu130_id, avl_fmu130_status);
fmanzano_dtk 1:9e821e640117 315 #endif
fmanzano_dtk 1:9e821e640117 316 switch (avl_fmu130_id) {
fmanzano_dtk 1:9e821e640117 317 case AVLID_OVERSPEED: // Exceso de velocidad
fmanzano_dtk 1:9e821e640117 318 if (rg9_raining) {
fmanzano_dtk 1:9e821e640117 319 if (functionality_rainSensor_silentMode) {
fmanzano_dtk 1:9e821e640117 320 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 321 myPC_debug.printf("BLE - Modo Silencioso Activado - No se notifica\r\n");
fmanzano_dtk 1:9e821e640117 322 #endif
fmanzano_dtk 1:9e821e640117 323 //
fmanzano_dtk 1:9e821e640117 324 } else {
fmanzano_dtk 1:9e821e640117 325 jq8400_addQueue(VOICE_OVERSPEED_ALERT_WET);
fmanzano_dtk 1:9e821e640117 326 }
fmanzano_dtk 1:9e821e640117 327 } else {
fmanzano_dtk 1:9e821e640117 328 jq8400_addQueue(VOICE_OVERSPEED_ALERT);
fmanzano_dtk 1:9e821e640117 329 }
fmanzano_dtk 1:9e821e640117 330 break;
fmanzano_dtk 1:9e821e640117 331
fmanzano_dtk 1:9e821e640117 332 case AVLID_TOWING: // Movimiento ilegal
fmanzano_dtk 1:9e821e640117 333 // No se notifica
fmanzano_dtk 1:9e821e640117 334 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 335 myPC_debug.printf("BLE - Vehiculo en Grua - No se notifica\r\n");
fmanzano_dtk 1:9e821e640117 336 #endif
fmanzano_dtk 1:9e821e640117 337 break;
fmanzano_dtk 1:9e821e640117 338
fmanzano_dtk 1:9e821e640117 339 case AVLID_JAMMING: // Jamming
fmanzano_dtk 1:9e821e640117 340 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 341 myPC_debug.printf("BLE - Deteccion de Jamming - No se notifica\r\n");
fmanzano_dtk 1:9e821e640117 342 #endif
fmanzano_dtk 1:9e821e640117 343 break;
fmanzano_dtk 1:9e821e640117 344
fmanzano_dtk 1:9e821e640117 345 case AVLID_IDLE: // Ralentí
fmanzano_dtk 1:9e821e640117 346 if (avl_fmu130_status == 1) {
fmanzano_dtk 1:9e821e640117 347 if (estado_actual_ignicion) {
fmanzano_dtk 1:9e821e640117 348 jq8400_addQueue(VOICE_IDLE_TIME_WARNING);
fmanzano_dtk 1:9e821e640117 349 if (functionality_idle_shutdown) {
fmanzano_dtk 1:9e821e640117 350 tick_idle_shutdown.attach(&activate_idle_shutdown, (wait_idle_shutdown + 6.0)); // 6.0 = Duración de audio de ralentí
fmanzano_dtk 1:9e821e640117 351 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 352 myPC_debug.printf("Apagar por ralenti en %.1f seg.\r\n", wait_idle_shutdown);
fmanzano_dtk 1:9e821e640117 353 #endif
fmanzano_dtk 1:9e821e640117 354 }
fmanzano_dtk 1:9e821e640117 355 if (functionality_idle_reminder) {
fmanzano_dtk 1:9e821e640117 356 tick_idle_reminder.attach(&activate_idle_reminder,(wait_idle_reminder + 0.0));
fmanzano_dtk 1:9e821e640117 357 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 358 myPC_debug.printf("Recordatorio por ralenti en %.1f seg.\r\n", wait_idle_reminder);
fmanzano_dtk 1:9e821e640117 359 #endif
fmanzano_dtk 1:9e821e640117 360 }
fmanzano_dtk 1:9e821e640117 361 } else {
fmanzano_dtk 1:9e821e640117 362 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 363 myPC_debug.printf("BLE - Ignicion OFF no se notifica\r\n");
fmanzano_dtk 1:9e821e640117 364 #endif
fmanzano_dtk 1:9e821e640117 365 }
fmanzano_dtk 1:9e821e640117 366 } else if (avl_fmu130_status == 0) {
fmanzano_dtk 1:9e821e640117 367 tick_idle_shutdown.detach();
fmanzano_dtk 1:9e821e640117 368 tick_idle_reminder.detach();
fmanzano_dtk 1:9e821e640117 369 }
fmanzano_dtk 1:9e821e640117 370 break;
fmanzano_dtk 1:9e821e640117 371
fmanzano_dtk 1:9e821e640117 372 case AVLID_HARSH_BEHAVIOUR: // Hábitos de manejo
fmanzano_dtk 1:9e821e640117 373 if (avl_fmu130_status == 1){
fmanzano_dtk 1:9e821e640117 374 jq8400_addQueue(VOICE_HARSH_ACCELERATION);
fmanzano_dtk 1:9e821e640117 375 } else if (avl_fmu130_status == 2) {
fmanzano_dtk 1:9e821e640117 376 jq8400_addQueue(VOICE_HARSH_BREAKING);
fmanzano_dtk 1:9e821e640117 377 } else if (avl_fmu130_status == 3) {
fmanzano_dtk 1:9e821e640117 378 jq8400_addQueue(VOICE_SHARP_CORNERING);
fmanzano_dtk 1:9e821e640117 379 }
fmanzano_dtk 1:9e821e640117 380 break;
fmanzano_dtk 1:9e821e640117 381
fmanzano_dtk 1:9e821e640117 382 case AVLID_WARNING_SPEED: // Pre alerta de Exceso de velocidad
fmanzano_dtk 1:9e821e640117 383 if (rg9_raining) {
fmanzano_dtk 1:9e821e640117 384 if (functionality_rainSensor_silentMode) {
fmanzano_dtk 1:9e821e640117 385 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 386 myPC_debug.printf("BLE - Modo Silencioso Activado - No se notifica\r\n");
fmanzano_dtk 1:9e821e640117 387 #endif
fmanzano_dtk 1:9e821e640117 388 } else {
fmanzano_dtk 1:9e821e640117 389 jq8400_addQueue(VOICE_WARNING_OVERSPEED_WET);
fmanzano_dtk 1:9e821e640117 390 }
fmanzano_dtk 1:9e821e640117 391 } else {
fmanzano_dtk 1:9e821e640117 392 jq8400_addQueue(VOICE_WARNING_OVERSPEED);
fmanzano_dtk 1:9e821e640117 393 }
fmanzano_dtk 1:9e821e640117 394 break;
fmanzano_dtk 1:9e821e640117 395
fmanzano_dtk 1:9e821e640117 396 case AVLID_CRASH: // Colisión
fmanzano_dtk 1:9e821e640117 397 jq8400_addQueue(VOICE_CRASH_DETECTION);
fmanzano_dtk 1:9e821e640117 398 break;
fmanzano_dtk 1:9e821e640117 399
fmanzano_dtk 1:9e821e640117 400 default:
fmanzano_dtk 1:9e821e640117 401 // ID no identificado
fmanzano_dtk 1:9e821e640117 402 break;
fmanzano_dtk 1:9e821e640117 403 }
fmanzano_dtk 1:9e821e640117 404
fmanzano_dtk 1:9e821e640117 405 } else {
fmanzano_dtk 1:9e821e640117 406 // Trama invalida
fmanzano_dtk 1:9e821e640117 407 }
fmanzano_dtk 1:9e821e640117 408 break;
fmanzano_dtk 1:9e821e640117 409
fmanzano_dtk 1:9e821e640117 410
fmanzano_dtk 1:9e821e640117 411 case TRAMA_SERVIDOR:
fmanzano_dtk 1:9e821e640117 412 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 413 myPC_debug.printf("BLE - Comando Servidor\r\n");
fmanzano_dtk 1:9e821e640117 414 myPC_debug.printf("RAW DATA:\r\n%s\r\n\r\n", fmu130_payload);
fmanzano_dtk 1:9e821e640117 415 #endif
fmanzano_dtk 1:9e821e640117 416 if (verify_finger_payload(fmu130_payload)) {
fmanzano_dtk 1:9e821e640117 417 /* DESHABILITADA LA FUNCIÓN DE SLEEP EN EL LECTOR
fmanzano_dtk 1:9e821e640117 418 if (flag_fingerprint_Sleep) {
fmanzano_dtk 1:9e821e640117 419 fingerprint.WakeUp();
fmanzano_dtk 1:9e821e640117 420 flag_fingerprint_Sleep = false;
fmanzano_dtk 1:9e821e640117 421 //myPC_debug.printf("BLE - GT521Fx@WakeUp\r\n");
fmanzano_dtk 1:9e821e640117 422 }
fmanzano_dtk 1:9e821e640117 423 */
fmanzano_dtk 1:9e821e640117 424 trama_con_huella = parse_finger_payload(fmu130_payload, fingerprint_cmd, &fingerprint_id, fingerprint_hex);
fmanzano_dtk 1:9e821e640117 425 if (trama_con_huella) {
fmanzano_dtk 1:9e821e640117 426 fingerprint_HEX2CHAR(fingerprint_hex, fingerprint_asc);
fmanzano_dtk 1:9e821e640117 427 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 428 myPC_debug.printf("BLE - Huella HEX:\r\n%s\r\n", fingerprint_hex);
fmanzano_dtk 1:9e821e640117 429 #endif
fmanzano_dtk 1:9e821e640117 430 }
fmanzano_dtk 1:9e821e640117 431 bluetooth_cmd_id = identify_server_cmd(fingerprint_cmd);
fmanzano_dtk 1:9e821e640117 432
fmanzano_dtk 1:9e821e640117 433 switch (bluetooth_cmd_id) {
fmanzano_dtk 1:9e821e640117 434 /** ********************************
fmanzano_dtk 1:9e821e640117 435 * COMANDOS DE NOTIFICACION DE GEOCERCAS
fmanzano_dtk 1:9e821e640117 436 * ******************************** */
fmanzano_dtk 1:9e821e640117 437 case CMD_GEO_WARNING_GETIN:
fmanzano_dtk 1:9e821e640117 438 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 439 myPC_debug.printf("BLE - Notificacion de Entrada a Geocerca Controlada\r\n");
fmanzano_dtk 1:9e821e640117 440 #endif
fmanzano_dtk 1:9e821e640117 441 //
fmanzano_dtk 1:9e821e640117 442 if (functionality_geo_warning) {
fmanzano_dtk 1:9e821e640117 443 id_geozone = fingerprint_id;
fmanzano_dtk 1:9e821e640117 444 jq8400_addQueue(id_geozone);
fmanzano_dtk 1:9e821e640117 445 sprintf(fmu_buffer, "%s%d", TCA_ID_GEO_WARNING_GETIN, id_geozone);
fmanzano_dtk 1:9e821e640117 446 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 447 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 448 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 449 #endif
fmanzano_dtk 1:9e821e640117 450 } else {
fmanzano_dtk 1:9e821e640117 451 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 452 myPC_debug.printf("BLE - Funcion deshabilitada. No se notifica Entrada de Geocerca\r\n");
fmanzano_dtk 1:9e821e640117 453 #endif
fmanzano_dtk 1:9e821e640117 454 }
fmanzano_dtk 1:9e821e640117 455 break;
fmanzano_dtk 1:9e821e640117 456
fmanzano_dtk 1:9e821e640117 457 case CMD_GEO_WARNING_GETOUT:
fmanzano_dtk 1:9e821e640117 458 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 459 myPC_debug.printf("BLE - Notificacion de Salida de Geocerca Controlada\r\n");
fmanzano_dtk 1:9e821e640117 460 #endif
fmanzano_dtk 1:9e821e640117 461 if (functionality_geo_warning) {
fmanzano_dtk 1:9e821e640117 462 id_geozone = fingerprint_id;
fmanzano_dtk 1:9e821e640117 463 jq8400_addQueue(id_geozone);
fmanzano_dtk 1:9e821e640117 464 sprintf(fmu_buffer, "%s%d", TCA_ID_GEO_WARNING_GETOUT, id_geozone);
fmanzano_dtk 1:9e821e640117 465 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 466 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 467 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 468 #endif
fmanzano_dtk 1:9e821e640117 469 } else {
fmanzano_dtk 1:9e821e640117 470 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 471 myPC_debug.printf("BLE - Funcion deshabilitada. No se notifica Salida de Geocerca\r\n");
fmanzano_dtk 1:9e821e640117 472 #endif
fmanzano_dtk 1:9e821e640117 473 }
fmanzano_dtk 1:9e821e640117 474 break;
fmanzano_dtk 1:9e821e640117 475
fmanzano_dtk 1:9e821e640117 476 case CMD_GEO_WARNING_EVENT:
fmanzano_dtk 1:9e821e640117 477 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 478
fmanzano_dtk 1:9e821e640117 479 #endif
fmanzano_dtk 1:9e821e640117 480 //myPC_debug.printf("BLE - Notificacion de Evento en Geocerca Controlada\r\n");
fmanzano_dtk 1:9e821e640117 481 if (functionality_geo_warning) {
fmanzano_dtk 1:9e821e640117 482 id_geozone = fingerprint_id;
fmanzano_dtk 1:9e821e640117 483 jq8400_addQueue(id_geozone);
fmanzano_dtk 1:9e821e640117 484 sprintf(fmu_buffer, "%s%d", TCA_ID_GEO_WARNING_EVENT, id_geozone);
fmanzano_dtk 1:9e821e640117 485 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 486
fmanzano_dtk 1:9e821e640117 487 #endif
fmanzano_dtk 1:9e821e640117 488 //myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 489 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 490
fmanzano_dtk 1:9e821e640117 491 } else {
fmanzano_dtk 1:9e821e640117 492 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 493
fmanzano_dtk 1:9e821e640117 494 #endif
fmanzano_dtk 1:9e821e640117 495 //myPC_debug.printf("BLE - Funcion deshabilitada. No se notifica Evento de Geocerca\r\n");
fmanzano_dtk 1:9e821e640117 496 }
fmanzano_dtk 1:9e821e640117 497 break;
fmanzano_dtk 1:9e821e640117 498
fmanzano_dtk 1:9e821e640117 499
fmanzano_dtk 1:9e821e640117 500
fmanzano_dtk 1:9e821e640117 501 /** ********************************
fmanzano_dtk 1:9e821e640117 502 * COMANDOS DE LECTOR DE HUELLA
fmanzano_dtk 1:9e821e640117 503 * ******************************** */
fmanzano_dtk 1:9e821e640117 504 case CMD_FINGER_ADD:
fmanzano_dtk 1:9e821e640117 505 out3_gt521fx = out4_gt521fx = finterprint_flag_working = true;
fmanzano_dtk 1:9e821e640117 506 wait_us(500000);
fmanzano_dtk 1:9e821e640117 507 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 508 myPC_debug.printf("BLE - OUT3:TRUE\r\n");
fmanzano_dtk 1:9e821e640117 509 #endif
fmanzano_dtk 1:9e821e640117 510 fingerprint_flag_poweroff = false;
fmanzano_dtk 1:9e821e640117 511 FP_Open();
fmanzano_dtk 1:9e821e640117 512 resultado = FP_SetTemplate(fingerprint_id, fingerprint_asc);
fmanzano_dtk 1:9e821e640117 513 if (resultado == 0) {
fmanzano_dtk 1:9e821e640117 514 sprintf(fmu_buffer, "%s%d", TCA_ID_FP_SERVER_ADD, fingerprint_id);
fmanzano_dtk 1:9e821e640117 515 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 516 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 517 myPC_debug.printf("BLE - Huella agregada exitosamente\r\n");
fmanzano_dtk 1:9e821e640117 518 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 519 #endif
fmanzano_dtk 1:9e821e640117 520 } else {
fmanzano_dtk 1:9e821e640117 521 sprintf(fmu_buffer, "%s%d", TCA_ID_FP_SERVER_ADD, resultado);
fmanzano_dtk 1:9e821e640117 522 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 523 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 524 myPC_debug.printf("BLE - Error al agregar huella\r\n");
fmanzano_dtk 1:9e821e640117 525 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 526 #endif
fmanzano_dtk 1:9e821e640117 527 }
fmanzano_dtk 1:9e821e640117 528 FP_Close();
fmanzano_dtk 1:9e821e640117 529 wait_us(1000000);
fmanzano_dtk 1:9e821e640117 530 fingerprint_flag_poweroff = true;
fmanzano_dtk 1:9e821e640117 531 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 532 myPC_debug.printf("BLE - Pendiente apagar FP GT521Fx...\r\n");
fmanzano_dtk 1:9e821e640117 533 #endif
fmanzano_dtk 1:9e821e640117 534 break;
fmanzano_dtk 1:9e821e640117 535
fmanzano_dtk 1:9e821e640117 536 case CMD_FINGER_DELETE:
fmanzano_dtk 1:9e821e640117 537 out3_gt521fx = out4_gt521fx = finterprint_flag_working = true;
fmanzano_dtk 1:9e821e640117 538 wait_us(500000);
fmanzano_dtk 1:9e821e640117 539 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 540 myPC_debug.printf("BLE - OUT3:TRUE\r\n");
fmanzano_dtk 1:9e821e640117 541 #endif
fmanzano_dtk 1:9e821e640117 542 fingerprint_flag_poweroff = false;
fmanzano_dtk 1:9e821e640117 543 FP_Open();
fmanzano_dtk 1:9e821e640117 544 if (fingerprint_id == 3000) {
fmanzano_dtk 1:9e821e640117 545 resultado = FP_DeleteAll();
fmanzano_dtk 1:9e821e640117 546 } else {
fmanzano_dtk 1:9e821e640117 547 resultado = FP_DeleteID(fingerprint_id);
fmanzano_dtk 1:9e821e640117 548 }
fmanzano_dtk 1:9e821e640117 549 if (resultado >= 0) {
fmanzano_dtk 1:9e821e640117 550 sprintf(fmu_buffer, "%s%d", TCA_ID_FP_SERVER_DEL, fingerprint_id);
fmanzano_dtk 1:9e821e640117 551 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 552 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 553 myPC_debug.printf("BLE - Huella eliminada exitosamente\r\n");
fmanzano_dtk 1:9e821e640117 554 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 555 #endif
fmanzano_dtk 1:9e821e640117 556 } else {
fmanzano_dtk 1:9e821e640117 557 sprintf(fmu_buffer, "%s%d", TCA_ID_FP_SERVER_DEL, resultado);
fmanzano_dtk 1:9e821e640117 558 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 559 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 560 myPC_debug.printf("BLE - Error al eliminar huella\r\n");
fmanzano_dtk 1:9e821e640117 561 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 562 #endif
fmanzano_dtk 1:9e821e640117 563 }
fmanzano_dtk 1:9e821e640117 564 FP_Close();
fmanzano_dtk 1:9e821e640117 565 wait_us(1000000);
fmanzano_dtk 1:9e821e640117 566 fingerprint_flag_poweroff = true;
fmanzano_dtk 1:9e821e640117 567 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 568 myPC_debug.printf("BLE - Pendiente apagar FP GT521Fx...\r\n");
fmanzano_dtk 1:9e821e640117 569 #endif
fmanzano_dtk 1:9e821e640117 570 break;
fmanzano_dtk 1:9e821e640117 571
fmanzano_dtk 1:9e821e640117 572 case CMD_FINGER_ENABLE:
fmanzano_dtk 1:9e821e640117 573 jq8400_addQueue(VOICE_functionality_fingerprint_reader);
fmanzano_dtk 1:9e821e640117 574 functionality_fingerprint_reader = true;
fmanzano_dtk 1:9e821e640117 575 fingerprint_remotly_disable = false;
fmanzano_dtk 1:9e821e640117 576 ep.write(eprom_AddressArray[EE_Address_FINGERPRINT], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 577 ep.write(eprom_AddressArray[EE_Address_FINGERPRINT_RE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 578 sprintf(fmu_buffer, "%s1", TCA_ID_FP_WORKING_STATUS);
fmanzano_dtk 1:9e821e640117 579 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 580 FP_Flush();
fmanzano_dtk 1:9e821e640117 581 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 582 myPC_debug.printf("BLE - Lector Huella Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 583 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 584 #endif
fmanzano_dtk 1:9e821e640117 585 break;
fmanzano_dtk 1:9e821e640117 586
fmanzano_dtk 1:9e821e640117 587 case CMD_FINGER_DISABLE:
fmanzano_dtk 1:9e821e640117 588 jq8400_addQueue(VOICE_FINGERPRINT_DISABLE);
fmanzano_dtk 1:9e821e640117 589 tx_fmu130_command(FMU_ENGINE_UNLOCK, &avl_uart);
fmanzano_dtk 1:9e821e640117 590 out1_fingerprint = 1;
fmanzano_dtk 1:9e821e640117 591 wait_us(1000000);
fmanzano_dtk 1:9e821e640117 592 out1_fingerprint = 0;
fmanzano_dtk 1:9e821e640117 593 functionality_fingerprint_reader = false;
fmanzano_dtk 1:9e821e640117 594 fingerprint_remotly_disable = true;
fmanzano_dtk 1:9e821e640117 595 ep.write(eprom_AddressArray[EE_Address_FINGERPRINT], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 596 ep.write(eprom_AddressArray[EE_Address_FINGERPRINT_RE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 597 sprintf(fmu_buffer, "%s0", TCA_ID_FP_WORKING_STATUS);
fmanzano_dtk 1:9e821e640117 598 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 599 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 600 myPC_debug.printf("BLE - Lector Huella Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 601 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 602 #endif
fmanzano_dtk 1:9e821e640117 603 break;
fmanzano_dtk 1:9e821e640117 604
fmanzano_dtk 1:9e821e640117 605 case CMD_FINGERPRINT_QUERY:
fmanzano_dtk 1:9e821e640117 606 sprintf(fmu_buffer, "%s%d", TCA_ID_Q_FINGERPRINT_STATUS, functionality_fingerprint_reader);
fmanzano_dtk 1:9e821e640117 607 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 608 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 609 myPC_debug.printf("BLE - Consulta Estatus del Lector Biometrico\r\n");
fmanzano_dtk 1:9e821e640117 610 myPC_debug.printf("BLE - Lector Biometrico: %d\r\n", functionality_fingerprint_reader);
fmanzano_dtk 1:9e821e640117 611 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 612 #endif
fmanzano_dtk 1:9e821e640117 613 break;
fmanzano_dtk 1:9e821e640117 614
fmanzano_dtk 1:9e821e640117 615 case CMD_FINGER_ENROLL_CNT:
fmanzano_dtk 1:9e821e640117 616 out3_gt521fx = out4_gt521fx = finterprint_flag_working = true;
fmanzano_dtk 1:9e821e640117 617 wait_us(500000);
fmanzano_dtk 1:9e821e640117 618 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 619 myPC_debug.printf("BLE - OUT3:TRUE\r\n");
fmanzano_dtk 1:9e821e640117 620 #endif
fmanzano_dtk 1:9e821e640117 621 fingerprint_flag_poweroff = false;
fmanzano_dtk 1:9e821e640117 622 FP_Open();
fmanzano_dtk 1:9e821e640117 623 resultado = FP_GetEnrollCount();
fmanzano_dtk 1:9e821e640117 624 sprintf(fmu_buffer, "%s%d", TCA_ID_FP_ENROLL_CNT, resultado);
fmanzano_dtk 1:9e821e640117 625 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 626 FP_Close();
fmanzano_dtk 1:9e821e640117 627 wait_us(1000000);
fmanzano_dtk 1:9e821e640117 628 fingerprint_flag_poweroff = true;
fmanzano_dtk 1:9e821e640117 629 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 630 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 631 myPC_debug.printf("BLE - Pendiente apagar FP GT521Fx...\r\n");
fmanzano_dtk 1:9e821e640117 632 #endif
fmanzano_dtk 1:9e821e640117 633 break;
fmanzano_dtk 1:9e821e640117 634
fmanzano_dtk 1:9e821e640117 635 case CMD_CHECK_ENROLLED_ID:
fmanzano_dtk 1:9e821e640117 636 out3_gt521fx = out4_gt521fx = finterprint_flag_working= true;
fmanzano_dtk 1:9e821e640117 637 fingerprint_flag_poweroff = false;
fmanzano_dtk 1:9e821e640117 638 wait_us(500000);
fmanzano_dtk 1:9e821e640117 639 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 640 myPC_debug.printf("BLE - OUT3:TRUE\r\n");
fmanzano_dtk 1:9e821e640117 641 #endif
fmanzano_dtk 1:9e821e640117 642
fmanzano_dtk 1:9e821e640117 643 FP_Open();
fmanzano_dtk 1:9e821e640117 644 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 645 myPC_debug.printf("BLE - Consulta de Posicion de Memoria - Lector de Huellas\r\n");
fmanzano_dtk 1:9e821e640117 646
fmanzano_dtk 1:9e821e640117 647 #endif
fmanzano_dtk 1:9e821e640117 648 consultar_ID_FP = fingerprint_id;
fmanzano_dtk 1:9e821e640117 649 enrolado = FP_CheckEnrolled(consultar_ID_FP);
fmanzano_dtk 1:9e821e640117 650 sprintf(fmu_buffer, "%s%d", TCA_ID_CHECK_ENROLLED_ID, enrolado);
fmanzano_dtk 1:9e821e640117 651 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 652 FP_Close();
fmanzano_dtk 1:9e821e640117 653 wait_us(1000000);
fmanzano_dtk 1:9e821e640117 654 fingerprint_flag_poweroff = true;
fmanzano_dtk 1:9e821e640117 655 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 656 myPC_debug.printf("BLE - Posicion de huella %d: %d\r\n", consultar_ID_FP, enrolado);
fmanzano_dtk 1:9e821e640117 657 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 658 myPC_debug.printf("BLE - Pendiente apagar FP GT521Fx...\r\n");
fmanzano_dtk 1:9e821e640117 659 #endif
fmanzano_dtk 1:9e821e640117 660 break;
fmanzano_dtk 1:9e821e640117 661
fmanzano_dtk 1:9e821e640117 662 case CMD_FP_OVERRIDE_ENABLE:
fmanzano_dtk 1:9e821e640117 663 fingerprint_override = true;
fmanzano_dtk 1:9e821e640117 664 ep.write(eprom_AddressArray[EE_Address_OVERRIDE_FP], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 665 sprintf(fmu_buffer, "%s", TCA_ID_FP_OVERRIDE_ENABLE);
fmanzano_dtk 1:9e821e640117 666 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 667 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 668 myPC_debug.printf("BLE - Habilitar Anulacion de Lector de Huella\r\n");
fmanzano_dtk 1:9e821e640117 669 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 670 #endif
fmanzano_dtk 1:9e821e640117 671 break;
fmanzano_dtk 1:9e821e640117 672
fmanzano_dtk 1:9e821e640117 673 case CMD_FP_OVERRIDE_DISABLE:
fmanzano_dtk 1:9e821e640117 674 fingerprint_override = false;
fmanzano_dtk 1:9e821e640117 675 ep.write(eprom_AddressArray[EE_Address_OVERRIDE_FP], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 676 sprintf(fmu_buffer, "%s", TCA_ID_FP_OVERRIDE_DISABLE);
fmanzano_dtk 1:9e821e640117 677 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 678 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 679 myPC_debug.printf("BLE - Deshabilitar Anulacion de Lector de Huella\r\n");
fmanzano_dtk 1:9e821e640117 680 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 681 #endif
fmanzano_dtk 1:9e821e640117 682 break;
fmanzano_dtk 1:9e821e640117 683
fmanzano_dtk 1:9e821e640117 684 case CMD_FP_OVERRIDE_COUNT:
fmanzano_dtk 1:9e821e640117 685 ep.write(eprom_AddressArray[EE_Address_OVERRIDE_LIMIT], ((uint16_t) fingerprint_id));
fmanzano_dtk 1:9e821e640117 686 fp_override_limit = fingerprint_id;
fmanzano_dtk 1:9e821e640117 687 sprintf(fmu_buffer, "%s%d,%d", TCA_ID_Q_FP_OVERRIDE, fingerprint_override, fp_override_limit);
fmanzano_dtk 1:9e821e640117 688 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 689 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 690 myPC_debug.printf("BLE - Cambio Muestras para Anulacion de Lector de Huella\n");
fmanzano_dtk 1:9e821e640117 691 myPC_debug.printf("BLE - Nuevo valor de Huellas no Autorizadas: %d seg\r\n", fingerprint_id);
fmanzano_dtk 1:9e821e640117 692 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 693 #endif
fmanzano_dtk 1:9e821e640117 694 break;
fmanzano_dtk 1:9e821e640117 695
fmanzano_dtk 1:9e821e640117 696 case CMD_FP_OVERRIDE_QUERY:
fmanzano_dtk 1:9e821e640117 697 sprintf(fmu_buffer, "%s%d,%d", TCA_ID_Q_FP_OVERRIDE, fingerprint_override, fp_override_limit);
fmanzano_dtk 1:9e821e640117 698 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 699 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 700 myPC_debug.printf("BLE - Consulta por Anulacion de Lector de Huella\r\n");
fmanzano_dtk 1:9e821e640117 701 myPC_debug.printf("BLE - Anulacion: %s\r\n", fingerprint_override?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 702 myPC_debug.printf("BLE - Cantidad de No Autorizados: %d\r\n", fp_override_limit);
fmanzano_dtk 1:9e821e640117 703 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 704 #endif
fmanzano_dtk 1:9e821e640117 705 break;
fmanzano_dtk 1:9e821e640117 706
fmanzano_dtk 1:9e821e640117 707
fmanzano_dtk 1:9e821e640117 708 /** ********************************
fmanzano_dtk 1:9e821e640117 709 * COMANDOS DE PARLANTE
fmanzano_dtk 1:9e821e640117 710 * ******************************** */
fmanzano_dtk 1:9e821e640117 711 case CMD_SET_VOLUME:
fmanzano_dtk 1:9e821e640117 712 temp_JQ8400_Volume = fingerprint_id;
fmanzano_dtk 1:9e821e640117 713 //writeFlash(EE_Address_VOLUME, temp_JQ8400_Volume);
fmanzano_dtk 1:9e821e640117 714 jq8400_setVol(&temp_JQ8400_Volume, &voice_uart);
fmanzano_dtk 1:9e821e640117 715 sprintf(fmu_buffer, "%s%d", TCA_ID_VOLUME_SET, fingerprint_id);
fmanzano_dtk 1:9e821e640117 716 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 717 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 718 myPC_debug.printf("BLE - Volumen %d\r\n",fingerprint_id);
fmanzano_dtk 1:9e821e640117 719 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 720 #endif
fmanzano_dtk 1:9e821e640117 721 break;
fmanzano_dtk 1:9e821e640117 722
fmanzano_dtk 1:9e821e640117 723 case CMD_QUERY_VOLUME_LEVEL:
fmanzano_dtk 1:9e821e640117 724 sprintf(fmu_buffer, "%s%d", TCA_ID_Q_VOLUME_LEVEL, temp_JQ8400_Volume);
fmanzano_dtk 1:9e821e640117 725 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 726 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 727 myPC_debug.printf("BLE - Consulta por el Nivel de Volumen del Parlante\r\n");
fmanzano_dtk 1:9e821e640117 728 myPC_debug.printf("BLE - Nivel de Volumen del Parlante: %d\r\n", temp_JQ8400_Volume);
fmanzano_dtk 1:9e821e640117 729 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 730 #endif
fmanzano_dtk 1:9e821e640117 731 break;
fmanzano_dtk 1:9e821e640117 732
fmanzano_dtk 1:9e821e640117 733
fmanzano_dtk 1:9e821e640117 734
fmanzano_dtk 1:9e821e640117 735 /** ********************************
fmanzano_dtk 1:9e821e640117 736 * COMANDOS DE SENSOR DE LLUVIA
fmanzano_dtk 1:9e821e640117 737 * ******************************** */
fmanzano_dtk 1:9e821e640117 738 case CMD_RAIN_ENABLE:
fmanzano_dtk 1:9e821e640117 739 functionality_rain_sensor = true;
fmanzano_dtk 1:9e821e640117 740 ep.write(eprom_AddressArray[EE_Address_RAINSENSOR], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 741 tick_rain_sensor.detach();
fmanzano_dtk 1:9e821e640117 742 sprintf(fmu_buffer, "%s%d", TCA_ID_RAIN_SENSOR_ENA, 1);
fmanzano_dtk 1:9e821e640117 743 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 744 tick_rain_sensor.attach(&queryRG9, time_sample_rain);
fmanzano_dtk 1:9e821e640117 745 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 746 myPC_debug.printf("BLE - Sensor de Lluvia Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 747 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 748 #endif
fmanzano_dtk 1:9e821e640117 749 break;
fmanzano_dtk 1:9e821e640117 750
fmanzano_dtk 1:9e821e640117 751 case CMD_RAIN_DISABLE:
fmanzano_dtk 1:9e821e640117 752 functionality_rain_sensor = false;
fmanzano_dtk 1:9e821e640117 753 ep.write(eprom_AddressArray[EE_Address_RAINSENSOR], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 754 tick_rain_sensor.detach();
fmanzano_dtk 1:9e821e640117 755 sprintf(fmu_buffer, "%s%d", TCA_ID_RAIN_SENSOR_ENA, 0);
fmanzano_dtk 1:9e821e640117 756 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 757 tx_fmu130_var_command(dry_Speed_CMD, &avl_uart);
fmanzano_dtk 1:9e821e640117 758 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 759 myPC_debug.printf("BLE - Sensor de Lluvia Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 760 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 761 #endif
fmanzano_dtk 1:9e821e640117 762 break;
fmanzano_dtk 1:9e821e640117 763
fmanzano_dtk 1:9e821e640117 764 case CMD_RAIN_QUERY:
fmanzano_dtk 1:9e821e640117 765 sprintf(fmu_buffer, "%s%d", TCA_ID_Q_RAINSENSOR_STATUS, functionality_rain_sensor);
fmanzano_dtk 1:9e821e640117 766 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 767 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 768 myPC_debug.printf("BLE - Consulta Estatus del Sensor de Lluvia\r\n");
fmanzano_dtk 1:9e821e640117 769 myPC_debug.printf("BLE - Sensor de Lluvia: %d\r\n", functionality_rain_sensor);
fmanzano_dtk 1:9e821e640117 770 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 771 #endif
fmanzano_dtk 1:9e821e640117 772 break;
fmanzano_dtk 1:9e821e640117 773
fmanzano_dtk 1:9e821e640117 774 case CMD_CHANGE_RAIN_TIMER:
fmanzano_dtk 1:9e821e640117 775 ep.write(eprom_AddressArray[EE_Address_RS_SAMPLE_T], ((uint16_t) fingerprint_id));
fmanzano_dtk 1:9e821e640117 776 time_sample_rain = fingerprint_id * 1.0;
fmanzano_dtk 1:9e821e640117 777 if (functionality_rain_sensor) {
fmanzano_dtk 1:9e821e640117 778 tick_rain_sensor.detach();
fmanzano_dtk 1:9e821e640117 779 tick_rain_sensor.attach(&queryRG9, time_sample_rain);
fmanzano_dtk 1:9e821e640117 780 }
fmanzano_dtk 1:9e821e640117 781 sprintf(fmu_buffer, "%s%.1f", TCA_ID_Q_RAIN_SAMPLE_TIMER, time_sample_rain);
fmanzano_dtk 1:9e821e640117 782 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 783 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 784 myPC_debug.printf("BLE - Cambio Temp. de Muestras para Sensor de Lluvia\n");
fmanzano_dtk 1:9e821e640117 785 myPC_debug.printf("BLE - Nuevo Temp. para muestreo: %d seg\r\n", fingerprint_id);
fmanzano_dtk 1:9e821e640117 786 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 787 #endif
fmanzano_dtk 1:9e821e640117 788 break;
fmanzano_dtk 1:9e821e640117 789
fmanzano_dtk 1:9e821e640117 790 case CMD_QUERY_RAIN_TIMER:
fmanzano_dtk 1:9e821e640117 791 sprintf(fmu_buffer, "%s%.1f", TCA_ID_Q_RAIN_SAMPLE_TIMER, time_sample_rain);
fmanzano_dtk 1:9e821e640117 792 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 793 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 794 myPC_debug.printf("BLE - Consulta por Temp. de Muestras para Sensor de Lluvia\r\n");
fmanzano_dtk 1:9e821e640117 795 myPC_debug.printf("BLE - Muestras en: %.1f seg\r\n", time_sample_rain);
fmanzano_dtk 1:9e821e640117 796 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 797 #endif
fmanzano_dtk 1:9e821e640117 798 break;
fmanzano_dtk 1:9e821e640117 799
fmanzano_dtk 1:9e821e640117 800 case CMD_RAIN_SILENT_MODE_ENA:
fmanzano_dtk 1:9e821e640117 801 functionality_rainSensor_silentMode = true;
fmanzano_dtk 1:9e821e640117 802 sprintf(fmu_buffer, "%s", TCA_ID_RAIN_SILENT_MODE_ENA);
fmanzano_dtk 1:9e821e640117 803 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 804 tx_fmu130_var_command(dry_Speed_CMD, &avl_uart);
fmanzano_dtk 1:9e821e640117 805 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 806 myPC_debug.printf("BLE - Habilitar Modo silencioso de Sensor de Lluvia\r\n");
fmanzano_dtk 1:9e821e640117 807 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 808 #endif
fmanzano_dtk 1:9e821e640117 809 break;
fmanzano_dtk 1:9e821e640117 810
fmanzano_dtk 1:9e821e640117 811
fmanzano_dtk 1:9e821e640117 812 case CMD_RAIN_SILENT_MODE_DIS:
fmanzano_dtk 1:9e821e640117 813 functionality_rainSensor_silentMode = false;
fmanzano_dtk 1:9e821e640117 814 ep.write(eprom_AddressArray[EE_Address_RS_SILENTMODE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 815 sprintf(fmu_buffer, "%s", TCA_ID_RAIN_SILENT_MODE_DIS);
fmanzano_dtk 1:9e821e640117 816 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 817 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 818 myPC_debug.printf("BLE - Deshabilitar Modo silencioso de Sensor de Lluvia\r\n");
fmanzano_dtk 1:9e821e640117 819 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 820 #endif
fmanzano_dtk 1:9e821e640117 821 break;
fmanzano_dtk 1:9e821e640117 822
fmanzano_dtk 1:9e821e640117 823 case CMD_RAIN_SILENT_MODE_Q:
fmanzano_dtk 1:9e821e640117 824 sprintf(fmu_buffer, "%s%d", TCA_ID_RAIN_SILENT_MODE_Q, functionality_rainSensor_silentMode);
fmanzano_dtk 1:9e821e640117 825 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 826 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 827 myPC_debug.printf("BLE - Consulta por Modo silencioso de Sensor de Lluvia\r\n");
fmanzano_dtk 1:9e821e640117 828 myPC_debug.printf("BLE - Modo silencioso: %s\r\n", functionality_rainSensor_silentMode?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 829 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 830 #endif
fmanzano_dtk 1:9e821e640117 831 break;
fmanzano_dtk 1:9e821e640117 832
fmanzano_dtk 1:9e821e640117 833 case CMD_CHANGE_WSL:
fmanzano_dtk 1:9e821e640117 834 wet_Speed_Limit = fingerprint_id;
fmanzano_dtk 1:9e821e640117 835 ep.write(eprom_AddressArray[EE_Address_WET_LIMIT], ((uint16_t) wet_Speed_Limit));
fmanzano_dtk 1:9e821e640117 836 sprintf(wet_Speed_CMD, "setparam 50092:%d", wet_Speed_Limit);
fmanzano_dtk 1:9e821e640117 837 tx_fmu130_var_command(wet_Speed_CMD, &avl_uart);
fmanzano_dtk 1:9e821e640117 838 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 839 myPC_debug.printf("BLE - Cambio Limite velocidad Mojado\r\n");
fmanzano_dtk 1:9e821e640117 840 myPC_debug.printf("BLE - Nuevo Limite: %d\r\n", wet_Speed_Limit);
fmanzano_dtk 1:9e821e640117 841 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 842 #endif
fmanzano_dtk 1:9e821e640117 843 sprintf(fmu_buffer, "%s%d,%d,%d,%d", TCA_ID_QUERY_SPEED_LIMIT,
fmanzano_dtk 1:9e821e640117 844 wet_Speed_Warning, wet_Speed_Limit, dry_Speed_Warning, dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 845 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 846 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 847 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 848 #endif
fmanzano_dtk 1:9e821e640117 849 break;
fmanzano_dtk 1:9e821e640117 850
fmanzano_dtk 1:9e821e640117 851 case CMD_CHANGE_WSW:
fmanzano_dtk 1:9e821e640117 852 wet_Speed_Warning = fingerprint_id;
fmanzano_dtk 1:9e821e640117 853 ep.write(eprom_AddressArray[EE_Address_WET_WARNING], ((uint16_t) wet_Speed_Warning));
fmanzano_dtk 1:9e821e640117 854 sprintf(wet_Speed_CMD, "setparam 11104:%d", wet_Speed_Warning);
fmanzano_dtk 1:9e821e640117 855 tx_fmu130_var_command(wet_Speed_CMD, &avl_uart);
fmanzano_dtk 1:9e821e640117 856 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 857 myPC_debug.printf("BLE - Cambio Limite advertencia Mojado\r\n");
fmanzano_dtk 1:9e821e640117 858 myPC_debug.printf("BLE - Nueva advertencia: %d\r\n", wet_Speed_Warning);
fmanzano_dtk 1:9e821e640117 859 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 860 #endif
fmanzano_dtk 1:9e821e640117 861 sprintf(fmu_buffer, "%s%d,%d,%d,%d", TCA_ID_QUERY_SPEED_LIMIT,
fmanzano_dtk 1:9e821e640117 862 wet_Speed_Warning, wet_Speed_Limit, dry_Speed_Warning, dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 863 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 864 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 865 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 866 #endif
fmanzano_dtk 1:9e821e640117 867 break;
fmanzano_dtk 1:9e821e640117 868
fmanzano_dtk 1:9e821e640117 869 case CMD_CHANGE_DSL:
fmanzano_dtk 1:9e821e640117 870 dry_Speed_Limit = fingerprint_id;
fmanzano_dtk 1:9e821e640117 871 ep.write(eprom_AddressArray[EE_Address_DRY_LIMIT], ((uint16_t) dry_Speed_Limit));
fmanzano_dtk 1:9e821e640117 872 sprintf(dry_Speed_CMD, "setparam 50092:%d", dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 873 tx_fmu130_var_command(dry_Speed_CMD, &avl_uart);
fmanzano_dtk 1:9e821e640117 874 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 875 myPC_debug.printf("BLE - Cambio Limite velocidad Seco\r\n");
fmanzano_dtk 1:9e821e640117 876 myPC_debug.printf("BLE - Nuevo Limite: %d\r\n", dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 877 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 878 #endif
fmanzano_dtk 1:9e821e640117 879 sprintf(fmu_buffer, "%s%d,%d,%d,%d", TCA_ID_QUERY_SPEED_LIMIT,
fmanzano_dtk 1:9e821e640117 880 wet_Speed_Warning, wet_Speed_Limit, dry_Speed_Warning, dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 881 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 882 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 883 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 884 #endif
fmanzano_dtk 1:9e821e640117 885 break;
fmanzano_dtk 1:9e821e640117 886
fmanzano_dtk 1:9e821e640117 887 case CMD_CHANGE_DSW:
fmanzano_dtk 1:9e821e640117 888 dry_Speed_Warning = fingerprint_id;
fmanzano_dtk 1:9e821e640117 889 ep.write(eprom_AddressArray[EE_Address_DRY_WARNING], ((uint16_t) dry_Speed_Warning));
fmanzano_dtk 1:9e821e640117 890 sprintf(dry_Speed_CMD, "setparam 11104:%d", dry_Speed_Warning);
fmanzano_dtk 1:9e821e640117 891 tx_fmu130_var_command(dry_Speed_CMD, &avl_uart);
fmanzano_dtk 1:9e821e640117 892 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 893 myPC_debug.printf("BLE - Cambio Limite advertencia Seco\r\n");
fmanzano_dtk 1:9e821e640117 894 myPC_debug.printf("BLE - Nueva advertencia: %d\r\n", dry_Speed_Warning);
fmanzano_dtk 1:9e821e640117 895 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 896 #endif
fmanzano_dtk 1:9e821e640117 897 sprintf(fmu_buffer, "%s%d,%d,%d,%d", TCA_ID_QUERY_SPEED_LIMIT,
fmanzano_dtk 1:9e821e640117 898 wet_Speed_Warning, wet_Speed_Limit, dry_Speed_Warning, dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 899 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 900 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 901 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 902 #endif
fmanzano_dtk 1:9e821e640117 903 break;
fmanzano_dtk 1:9e821e640117 904
fmanzano_dtk 1:9e821e640117 905 case CMD_QUERY_SPEED_LIMIT:
fmanzano_dtk 1:9e821e640117 906 sprintf(fmu_buffer, "%s%d,%d,%d,%d", TCA_ID_QUERY_SPEED_LIMIT,
fmanzano_dtk 1:9e821e640117 907 wet_Speed_Warning, wet_Speed_Limit, dry_Speed_Warning, dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 908 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 909 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 910 myPC_debug.printf("BLE - Consulta Limites Velocidad\r\n");
fmanzano_dtk 1:9e821e640117 911 myPC_debug.printf("BLE - Mojado Advertencia: %d, Limite: %d\r\n", wet_Speed_Warning, wet_Speed_Limit);
fmanzano_dtk 1:9e821e640117 912 myPC_debug.printf("BLE - Seco Advertencia: %d, Limite: %d\r\n", dry_Speed_Warning, dry_Speed_Limit);
fmanzano_dtk 1:9e821e640117 913 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 914 #endif
fmanzano_dtk 1:9e821e640117 915 break;
fmanzano_dtk 1:9e821e640117 916
fmanzano_dtk 1:9e821e640117 917
fmanzano_dtk 1:9e821e640117 918
fmanzano_dtk 1:9e821e640117 919 /** ********************************
fmanzano_dtk 1:9e821e640117 920 * COMANDOS DE CINTURONES
fmanzano_dtk 1:9e821e640117 921 * ******************************** */
fmanzano_dtk 1:9e821e640117 922 case CMD_SEATBELT_ENABLE:
fmanzano_dtk 1:9e821e640117 923 functionality_seatbelt_reading = true;
fmanzano_dtk 1:9e821e640117 924 ep.write(eprom_AddressArray[EE_Address_SEATBELT_READ], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 925 sprintf(fmu_buffer, "%s%d", TCA_ID_SEATBELT_READ_ENA, 1);
fmanzano_dtk 1:9e821e640117 926 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 927 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 928 myPC_debug.printf("BLE - Lectura Cinturones Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 929 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 930 #endif
fmanzano_dtk 1:9e821e640117 931 break;
fmanzano_dtk 1:9e821e640117 932
fmanzano_dtk 1:9e821e640117 933 case CMD_SEATBELT_DISABLE:
fmanzano_dtk 1:9e821e640117 934 functionality_seatbelt_reading = false;
fmanzano_dtk 1:9e821e640117 935 ep.write(eprom_AddressArray[EE_Address_SEATBELT_READ], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 936 sprintf(fmu_buffer, "%s%d", TCA_ID_SEATBELT_READ_ENA, 0);
fmanzano_dtk 1:9e821e640117 937 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 938 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 939 myPC_debug.printf("BLE - Lectura Cinturones Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 940 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 941 #endif
fmanzano_dtk 1:9e821e640117 942 break;
fmanzano_dtk 1:9e821e640117 943
fmanzano_dtk 1:9e821e640117 944 case CMD_SEATBELT_QUERY:
fmanzano_dtk 1:9e821e640117 945 sprintf(fmu_buffer, "%s%d", TCA_ID_SEATBELT_READ_ENA, functionality_force_driver_buclke);
fmanzano_dtk 1:9e821e640117 946 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 947 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 948 myPC_debug.printf("BLE - Consulta Estado de Lectura de Cinturones\r\n");
fmanzano_dtk 1:9e821e640117 949 myPC_debug.printf("BLE - Lectura de Cinturones: %s\r\n", functionality_force_driver_buclke?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 950 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 951 #endif
fmanzano_dtk 1:9e821e640117 952 break;
fmanzano_dtk 1:9e821e640117 953
fmanzano_dtk 1:9e821e640117 954 case CMD_FORCE_BUCLKE_ENABLE:
fmanzano_dtk 1:9e821e640117 955 functionality_force_driver_buclke = true;
fmanzano_dtk 1:9e821e640117 956 functionality_seatbelt_reading = true;
fmanzano_dtk 1:9e821e640117 957 ep.write(eprom_AddressArray[EE_Address_SEATBELT_READ], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 958 ep.write(eprom_AddressArray[EE_Address_ENFORCE_SB], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 959 sprintf(fmu_buffer, "%s%d", TCA_ID_FORCE_SEATBELT, 1);
fmanzano_dtk 1:9e821e640117 960 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 961 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 962 myPC_debug.printf("BLE - Forzar Cinturon de Piloto Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 963 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 964 #endif
fmanzano_dtk 1:9e821e640117 965 break;
fmanzano_dtk 1:9e821e640117 966
fmanzano_dtk 1:9e821e640117 967 case CMD_FORCE_BUCLKE_DISABLE:
fmanzano_dtk 1:9e821e640117 968 tx_fmu130_command(FMU_ENGINE_UNLOCK, &avl_uart);
fmanzano_dtk 1:9e821e640117 969 out1_fingerprint = 1;
fmanzano_dtk 1:9e821e640117 970 wait_us(1000000);
fmanzano_dtk 1:9e821e640117 971 out1_fingerprint = 0;
fmanzano_dtk 1:9e821e640117 972 functionality_force_driver_buclke = false;
fmanzano_dtk 1:9e821e640117 973 ep.write(eprom_AddressArray[EE_Address_ENFORCE_SB], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 974 sprintf(fmu_buffer, "%s%d", TCA_ID_FORCE_SEATBELT, 0);
fmanzano_dtk 1:9e821e640117 975 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 976 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 977 myPC_debug.printf("BLE - Forzar Cinturon de Piloto Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 978 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 979 #endif
fmanzano_dtk 1:9e821e640117 980 break;
fmanzano_dtk 1:9e821e640117 981
fmanzano_dtk 1:9e821e640117 982 case CMD_QUERY_FORCE_SEATBELT:
fmanzano_dtk 1:9e821e640117 983 sprintf(fmu_buffer, "%s%d", TCA_ID_Q_FORCE_SEATBELT_ST, functionality_force_driver_buclke);
fmanzano_dtk 1:9e821e640117 984 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 985 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 986 myPC_debug.printf("BLE - Consulta Estatus para Forzar Cinturon de Piloto\r\n");
fmanzano_dtk 1:9e821e640117 987 myPC_debug.printf("BLE - Forzar Cinturon de Piloto: %d\r\n", functionality_force_driver_buclke);
fmanzano_dtk 1:9e821e640117 988 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 989 #endif
fmanzano_dtk 1:9e821e640117 990 break;
fmanzano_dtk 1:9e821e640117 991
fmanzano_dtk 1:9e821e640117 992 case CMD_SET_INPUT_NORMAL_O: // CONFIGURACIÓN DE LIVIANO y Cinturón Chino
fmanzano_dtk 1:9e821e640117 993 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 994 myPC_debug.printf("BLE - Entradas como Normalmente Abierta\r\n");
fmanzano_dtk 1:9e821e640117 995 #endif
fmanzano_dtk 1:9e821e640117 996 pilot_buckle_type = copilot_buckle_type = crew_buckle_type = true; // HONDURAS
fmanzano_dtk 1:9e821e640117 997 ep.write(eprom_AddressArray[EE_Address_PILOT_BTYPE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 998 ep.write(eprom_AddressArray[EE_Address_COPILOT_BTYPE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 999 ep.write(eprom_AddressArray[EE_Address_CREW_BTYPE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1000 pilot_buckleUp = copilot_buckleUp = crew_buckleUp = 1;
fmanzano_dtk 1:9e821e640117 1001 pilot_unfasten = copilot_unfasten = crew_unfasten = -1;
fmanzano_dtk 1:9e821e640117 1002 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1003 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1004 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1005 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1006 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1007 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1008 break;
fmanzano_dtk 1:9e821e640117 1009
fmanzano_dtk 1:9e821e640117 1010 case CMD_SET_INPUT_NORMAL_C: // CONFIGURACIÓN DE CAMIÓN
fmanzano_dtk 1:9e821e640117 1011 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1012 myPC_debug.printf("BLE - Entradas como Normalmente Cerradas\r\n");
fmanzano_dtk 1:9e821e640117 1013 #endif
fmanzano_dtk 1:9e821e640117 1014 pilot_buckle_type = copilot_buckle_type = crew_buckle_type = false; // PANAMA
fmanzano_dtk 1:9e821e640117 1015 ep.write(eprom_AddressArray[EE_Address_PILOT_BTYPE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1016 ep.write(eprom_AddressArray[EE_Address_COPILOT_BTYPE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1017 ep.write(eprom_AddressArray[EE_Address_CREW_BTYPE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1018 pilot_buckleUp = copilot_buckleUp = crew_buckleUp = -1;
fmanzano_dtk 1:9e821e640117 1019 pilot_unfasten = copilot_unfasten = crew_unfasten = 1;
fmanzano_dtk 1:9e821e640117 1020 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1021 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1022 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1023 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1024 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1025 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1026 break;
fmanzano_dtk 1:9e821e640117 1027
fmanzano_dtk 1:9e821e640117 1028 case CMD_QUERY_DIN_CONFIG:
fmanzano_dtk 1:9e821e640117 1029 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1030 myPC_debug.printf("BLE - Consulta por DIN Config.\r\n");
fmanzano_dtk 1:9e821e640117 1031 #endif
fmanzano_dtk 1:9e821e640117 1032
fmanzano_dtk 1:9e821e640117 1033 if (pilot_buckle_type) {
fmanzano_dtk 1:9e821e640117 1034 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1035 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1036 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1037 myPC_debug.printf("%s\r\n", "BLE - Cinturon de Piloto: NO");
fmanzano_dtk 1:9e821e640117 1038 #endif
fmanzano_dtk 1:9e821e640117 1039 } else {
fmanzano_dtk 1:9e821e640117 1040 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1041 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1042 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1043 myPC_debug.printf("%s\r\n", "BLE - Cinturon de Piloto: NC");
fmanzano_dtk 1:9e821e640117 1044 #endif
fmanzano_dtk 1:9e821e640117 1045 }
fmanzano_dtk 1:9e821e640117 1046
fmanzano_dtk 1:9e821e640117 1047 if (copilot_buckle_type) {
fmanzano_dtk 1:9e821e640117 1048 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1049 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1050 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1051 myPC_debug.printf("%s\r\n", "BLE - Cinturon de Copiloto: NO");
fmanzano_dtk 1:9e821e640117 1052 #endif
fmanzano_dtk 1:9e821e640117 1053 } else {
fmanzano_dtk 1:9e821e640117 1054 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1055 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1056 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1057 myPC_debug.printf("%s\r\n", "BLE - Cinturon de Copiloto: NC");
fmanzano_dtk 1:9e821e640117 1058 #endif
fmanzano_dtk 1:9e821e640117 1059 }
fmanzano_dtk 1:9e821e640117 1060
fmanzano_dtk 1:9e821e640117 1061 if (crew_buckle_type) {
fmanzano_dtk 1:9e821e640117 1062 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1063 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1064 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1065 myPC_debug.printf("%s\r\n", "BLE - Cinturon de Tripulante: NO");
fmanzano_dtk 1:9e821e640117 1066 #endif
fmanzano_dtk 1:9e821e640117 1067 } else {
fmanzano_dtk 1:9e821e640117 1068 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1069 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1070 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1071 myPC_debug.printf("%s\r\n", "BLE - Cinturon de Tripulante: NC");
fmanzano_dtk 1:9e821e640117 1072 #endif
fmanzano_dtk 1:9e821e640117 1073 }
fmanzano_dtk 1:9e821e640117 1074 break;
fmanzano_dtk 1:9e821e640117 1075
fmanzano_dtk 1:9e821e640117 1076 case CMD_PILOT_BUCKLE_NO: // CONFIGURACIÓN DE LIVIANO y Cinturón Chino
fmanzano_dtk 1:9e821e640117 1077 pilot_buckle_type = true; // HONDURAS
fmanzano_dtk 1:9e821e640117 1078 ep.write(eprom_AddressArray[EE_Address_PILOT_BTYPE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1079 pilot_buckleUp = 1;
fmanzano_dtk 1:9e821e640117 1080 pilot_unfasten = -1;
fmanzano_dtk 1:9e821e640117 1081 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1082 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1083 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1084 myPC_debug.printf("BLE - Cambio Config. Cinturon de Piloto: NO\r\n");
fmanzano_dtk 1:9e821e640117 1085 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1086 #endif
fmanzano_dtk 1:9e821e640117 1087 break;
fmanzano_dtk 1:9e821e640117 1088
fmanzano_dtk 1:9e821e640117 1089 case CMD_PILOT_BUCKLE_NC: // CONFIGURACIÓN DE CAMIÓN
fmanzano_dtk 1:9e821e640117 1090 pilot_buckle_type = false; // PANAMA
fmanzano_dtk 1:9e821e640117 1091 ep.write(eprom_AddressArray[EE_Address_PILOT_BTYPE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1092 pilot_buckleUp = -1;
fmanzano_dtk 1:9e821e640117 1093 pilot_unfasten = 1;
fmanzano_dtk 1:9e821e640117 1094 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1095 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1096 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1097 myPC_debug.printf("BLE - Cambio Config. Cinturon de Piloto: NC\r\n");
fmanzano_dtk 1:9e821e640117 1098 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1099 #endif
fmanzano_dtk 1:9e821e640117 1100 break;
fmanzano_dtk 1:9e821e640117 1101
fmanzano_dtk 1:9e821e640117 1102 case CMD_QUERY_PILOT_BT:
fmanzano_dtk 1:9e821e640117 1103 if (pilot_buckle_type) {
fmanzano_dtk 1:9e821e640117 1104 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1105 } else {
fmanzano_dtk 1:9e821e640117 1106 sprintf(fmu_buffer, "%s", TCA_ID_PILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1107 }
fmanzano_dtk 1:9e821e640117 1108 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1109 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1110 myPC_debug.printf("BLE - Consulta por Config. Cinturon de Piloto\r\n");
fmanzano_dtk 1:9e821e640117 1111 myPC_debug.printf("BLE - Cinturon Piloto Tipo: %s\r\n", pilot_buckle_type?"N. OPEN":"N. CLOSE");
fmanzano_dtk 1:9e821e640117 1112 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1113 #endif
fmanzano_dtk 1:9e821e640117 1114 break;
fmanzano_dtk 1:9e821e640117 1115
fmanzano_dtk 1:9e821e640117 1116 case CMD_COPILOT_BUCKLE_NO: // CONFIGURACIÓN DE LIVIANO y Cinturón Chino
fmanzano_dtk 1:9e821e640117 1117 copilot_buckle_type = true; // HONDURAS
fmanzano_dtk 1:9e821e640117 1118 ep.write(eprom_AddressArray[EE_Address_COPILOT_BTYPE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1119 copilot_buckleUp = 1;
fmanzano_dtk 1:9e821e640117 1120 copilot_unfasten = -1;
fmanzano_dtk 1:9e821e640117 1121 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1122 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1123 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1124 myPC_debug.printf("BLE - Cambio Config. Cinturon de Copiloto: NO\r\n");
fmanzano_dtk 1:9e821e640117 1125 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1126 #endif
fmanzano_dtk 1:9e821e640117 1127 break;
fmanzano_dtk 1:9e821e640117 1128
fmanzano_dtk 1:9e821e640117 1129 case CMD_COPILOT_BUCKLE_NC: // CONFIGURACIÓN DE CAMIÓN
fmanzano_dtk 1:9e821e640117 1130 copilot_buckle_type = false; // PANAMA
fmanzano_dtk 1:9e821e640117 1131 ep.write(eprom_AddressArray[EE_Address_COPILOT_BTYPE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1132 copilot_buckleUp = -1;
fmanzano_dtk 1:9e821e640117 1133 copilot_unfasten = 1;
fmanzano_dtk 1:9e821e640117 1134 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1135 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1136 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1137 myPC_debug.printf("BLE - Cambio Config. Cinturon de Copiloto: NC\r\n");
fmanzano_dtk 1:9e821e640117 1138 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1139 #endif
fmanzano_dtk 1:9e821e640117 1140 break;
fmanzano_dtk 1:9e821e640117 1141
fmanzano_dtk 1:9e821e640117 1142 case CMD_QUERY_COPILOT_BT:
fmanzano_dtk 1:9e821e640117 1143 if (copilot_buckle_type) {
fmanzano_dtk 1:9e821e640117 1144 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1145 } else {
fmanzano_dtk 1:9e821e640117 1146 sprintf(fmu_buffer, "%s", TCA_ID_COPILOT_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1147 }
fmanzano_dtk 1:9e821e640117 1148 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1149 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1150 myPC_debug.printf("BLE - Consulta por Config. Cinturon de Copiloto\r\n");
fmanzano_dtk 1:9e821e640117 1151 myPC_debug.printf("BLE - Cinturon Copiloto Tipo: %s\r\n", copilot_buckle_type?"N. OPEN":"N. CLOSE");
fmanzano_dtk 1:9e821e640117 1152 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1153 #endif
fmanzano_dtk 1:9e821e640117 1154 break;
fmanzano_dtk 1:9e821e640117 1155
fmanzano_dtk 1:9e821e640117 1156 case CMD_CREW_BUCKLE_NO: // CONFIGURACIÓN DE LIVIANO y Cinturón Chino
fmanzano_dtk 1:9e821e640117 1157 crew_buckle_type = true; // HONDURAS
fmanzano_dtk 1:9e821e640117 1158 ep.write(eprom_AddressArray[EE_Address_CREW_BTYPE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1159 crew_buckleUp = 1;
fmanzano_dtk 1:9e821e640117 1160 crew_unfasten = -1;
fmanzano_dtk 1:9e821e640117 1161 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1162 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1163 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1164 myPC_debug.printf("BLE - Cambio Config. Cinturon de Tripulante: NO\r\n");
fmanzano_dtk 1:9e821e640117 1165 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1166 #endif
fmanzano_dtk 1:9e821e640117 1167 break;
fmanzano_dtk 1:9e821e640117 1168
fmanzano_dtk 1:9e821e640117 1169 case CMD_CREW_BUCKLE_NC: // CONFIGURACIÓN DE CAMIÓN
fmanzano_dtk 1:9e821e640117 1170 crew_buckle_type = false; // PANAMA
fmanzano_dtk 1:9e821e640117 1171 ep.write(eprom_AddressArray[EE_Address_CREW_BTYPE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1172 crew_buckleUp = -1;
fmanzano_dtk 1:9e821e640117 1173 crew_unfasten = 1;
fmanzano_dtk 1:9e821e640117 1174 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1175 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1176 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1177 myPC_debug.printf("BLE - Cambio Config. Cinturon de Tripulante: NC\r\n");
fmanzano_dtk 1:9e821e640117 1178 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1179 #endif
fmanzano_dtk 1:9e821e640117 1180 break;
fmanzano_dtk 1:9e821e640117 1181
fmanzano_dtk 1:9e821e640117 1182 case CMD_QUERY_CREW_BT:
fmanzano_dtk 1:9e821e640117 1183 if (crew_buckle_type) {
fmanzano_dtk 1:9e821e640117 1184 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NO);
fmanzano_dtk 1:9e821e640117 1185 } else {
fmanzano_dtk 1:9e821e640117 1186 sprintf(fmu_buffer, "%s", TCA_ID_CREW_BUCKLE_NC);
fmanzano_dtk 1:9e821e640117 1187 }
fmanzano_dtk 1:9e821e640117 1188 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1189 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1190 myPC_debug.printf("BLE - Consulta por Config. Cinturon de Tripulante\r\n");
fmanzano_dtk 1:9e821e640117 1191 myPC_debug.printf("BLE - Cinturon Tripulante Tipo: %s\r\n", crew_buckle_type?"N. OPEN":"N. CLOSE");
fmanzano_dtk 1:9e821e640117 1192 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1193 #endif
fmanzano_dtk 1:9e821e640117 1194 break;
fmanzano_dtk 1:9e821e640117 1195
fmanzano_dtk 1:9e821e640117 1196
fmanzano_dtk 1:9e821e640117 1197
fmanzano_dtk 1:9e821e640117 1198 /** ********************************
fmanzano_dtk 1:9e821e640117 1199 * COMANDOS DE APAGADO POR RALENTI
fmanzano_dtk 1:9e821e640117 1200 * ******************************** */
fmanzano_dtk 1:9e821e640117 1201 case CMD_IDLE_SHUTDOWN_ENABLE:
fmanzano_dtk 1:9e821e640117 1202 functionality_idle_shutdown = true;
fmanzano_dtk 1:9e821e640117 1203 ep.write(eprom_AddressArray[EE_Address_IDLE_SHUTDOWN], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1204 sprintf(fmu_buffer, "%s%d", TCA_ID_FORCE_IDLE_SHUTDOWN, 1);
fmanzano_dtk 1:9e821e640117 1205 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1206 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1207 myPC_debug.printf("BLE - Apagado por Ralenti Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 1208 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1209 #endif
fmanzano_dtk 1:9e821e640117 1210 break;
fmanzano_dtk 1:9e821e640117 1211
fmanzano_dtk 1:9e821e640117 1212 case CMD_IDLE_SHUTDOWN_DISABLE:
fmanzano_dtk 1:9e821e640117 1213 functionality_idle_shutdown = false;
fmanzano_dtk 1:9e821e640117 1214 ep.write(eprom_AddressArray[EE_Address_IDLE_SHUTDOWN], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1215 tick_idle_shutdown.detach();
fmanzano_dtk 1:9e821e640117 1216 sprintf(fmu_buffer, "%s%d", TCA_ID_FORCE_IDLE_SHUTDOWN, 0);
fmanzano_dtk 1:9e821e640117 1217 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1218 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1219 myPC_debug.printf("BLE - Apagado por Ralenti Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 1220 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1221 #endif
fmanzano_dtk 1:9e821e640117 1222 break;
fmanzano_dtk 1:9e821e640117 1223
fmanzano_dtk 1:9e821e640117 1224 case CMD_IDLE_SHUTDOWN_QUERY:
fmanzano_dtk 1:9e821e640117 1225 sprintf(fmu_buffer, "%s%d", TCA_ID_Q_IDLE_SHUTDOWN_ST, functionality_idle_shutdown);
fmanzano_dtk 1:9e821e640117 1226 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1227 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1228 myPC_debug.printf("BLE - Consulta Estatus de Apagado por Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 1229 myPC_debug.printf("BLE - Apagado por Ralenti: %s\r\n", functionality_idle_shutdown?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 1230 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1231 #endif
fmanzano_dtk 1:9e821e640117 1232 break;
fmanzano_dtk 1:9e821e640117 1233
fmanzano_dtk 1:9e821e640117 1234 case CMD_CHANGE_IDLE_SHUTDOWN_T:
fmanzano_dtk 1:9e821e640117 1235 ep.write(eprom_AddressArray[EE_Address_IDLE_S_TIME], ((uint16_t) fingerprint_id));
fmanzano_dtk 1:9e821e640117 1236 wait_idle_shutdown = fingerprint_id * 1.0;
fmanzano_dtk 1:9e821e640117 1237 sprintf(fmu_buffer, "%s%.1f", TCA_ID_QUERY_IDLE_TIMER, wait_idle_shutdown);
fmanzano_dtk 1:9e821e640117 1238 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1239 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1240 myPC_debug.printf("BLE - Cambio Temp. de Apagado Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 1241 myPC_debug.printf("BLE - Nuevo Temp. Ralendi: %d seg\r\n", fingerprint_id);
fmanzano_dtk 1:9e821e640117 1242 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1243 #endif
fmanzano_dtk 1:9e821e640117 1244 break;
fmanzano_dtk 1:9e821e640117 1245
fmanzano_dtk 1:9e821e640117 1246 case CMD_QUERY_IDLE_SHUTDOWN_T:
fmanzano_dtk 1:9e821e640117 1247 sprintf(fmu_buffer, "%s%.1f", TCA_ID_QUERY_IDLE_TIMER, wait_idle_shutdown);
fmanzano_dtk 1:9e821e640117 1248 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1249 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1250 myPC_debug.printf("BLE - Consulta Temp. de Apagado Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 1251 myPC_debug.printf("BLE - Apagado Ralenti en %.1f seg\r\n", wait_idle_shutdown);
fmanzano_dtk 1:9e821e640117 1252 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1253 #endif
fmanzano_dtk 1:9e821e640117 1254 break;
fmanzano_dtk 1:9e821e640117 1255
fmanzano_dtk 1:9e821e640117 1256
fmanzano_dtk 1:9e821e640117 1257 /** ********************************
fmanzano_dtk 1:9e821e640117 1258 * COMANDOS DE RECORDATORIO DE RALENTI
fmanzano_dtk 1:9e821e640117 1259 * ******************************** */
fmanzano_dtk 1:9e821e640117 1260 case CMD_IDLE_REMINDER_ENABLE:
fmanzano_dtk 1:9e821e640117 1261 functionality_idle_reminder = true;
fmanzano_dtk 1:9e821e640117 1262 ep.write(eprom_AddressArray[EE_Address_IDLE_REMINDER], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1263 sprintf(fmu_buffer, "%s", TCA_ID_IDLE_REMINDER_ENA);
fmanzano_dtk 1:9e821e640117 1264 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1265 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1266 myPC_debug.printf("BLE - Recordatorio por Ralenti Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 1267 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1268 #endif
fmanzano_dtk 1:9e821e640117 1269 break;
fmanzano_dtk 1:9e821e640117 1270
fmanzano_dtk 1:9e821e640117 1271 case CMD_IDLE_REMINDER_DISABLE:
fmanzano_dtk 1:9e821e640117 1272 functionality_idle_reminder = false;
fmanzano_dtk 1:9e821e640117 1273 ep.write(eprom_AddressArray[EE_Address_IDLE_REMINDER], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1274 sprintf(fmu_buffer, "%s", TCA_ID_IDLE_REMINDER_DIS);
fmanzano_dtk 1:9e821e640117 1275 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1276 tick_idle_reminder.detach();
fmanzano_dtk 1:9e821e640117 1277 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1278 myPC_debug.printf("BLE - Recordatorio por Ralenti Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 1279 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1280 #endif
fmanzano_dtk 1:9e821e640117 1281 break;
fmanzano_dtk 1:9e821e640117 1282
fmanzano_dtk 1:9e821e640117 1283 case CMD_IDLE_REMINDER_QUERY:
fmanzano_dtk 1:9e821e640117 1284 if (functionality_idle_reminder) {
fmanzano_dtk 1:9e821e640117 1285 sprintf(fmu_buffer, "%s", TCA_ID_IDLE_REMINDER_ENA);
fmanzano_dtk 1:9e821e640117 1286 } else {
fmanzano_dtk 1:9e821e640117 1287 sprintf(fmu_buffer, "%s", TCA_ID_IDLE_REMINDER_DIS);
fmanzano_dtk 1:9e821e640117 1288 }
fmanzano_dtk 1:9e821e640117 1289 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1290 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1291 myPC_debug.printf("BLE - Consulta Estatus de Recordatorio por Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 1292 myPC_debug.printf("BLE - Recordatorio por Ralenti: %s\r\n", functionality_idle_reminder?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 1293 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1294 #endif
fmanzano_dtk 1:9e821e640117 1295 break;
fmanzano_dtk 1:9e821e640117 1296
fmanzano_dtk 1:9e821e640117 1297 case CMD_CHANGE_IDLE_REMINDER_T:
fmanzano_dtk 1:9e821e640117 1298 ep.write(eprom_AddressArray[EE_Address_IDLE_R_TIME], ((uint16_t) fingerprint_id));
fmanzano_dtk 1:9e821e640117 1299 wait_idle_reminder = fingerprint_id * 1.0;
fmanzano_dtk 1:9e821e640117 1300 sprintf(fmu_buffer, "%s%.1f", TCA_ID_IDLE_REMINDER_TIME, wait_idle_reminder);
fmanzano_dtk 1:9e821e640117 1301 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1302 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1303 myPC_debug.printf("BLE - Cambio Temp. de Recordatorio Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 1304 myPC_debug.printf("BLE - Nuevo Recordatorio Ralendi: %d seg\r\n", fingerprint_id);
fmanzano_dtk 1:9e821e640117 1305 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1306 #endif
fmanzano_dtk 1:9e821e640117 1307 break;
fmanzano_dtk 1:9e821e640117 1308
fmanzano_dtk 1:9e821e640117 1309 case CMD_QUERY_IDLE_REMINDER_T:
fmanzano_dtk 1:9e821e640117 1310 sprintf(fmu_buffer, "%s%.1f", TCA_ID_IDLE_REMINDER_TIME, wait_idle_reminder);
fmanzano_dtk 1:9e821e640117 1311 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1312 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1313 myPC_debug.printf("BLE - Consulta Temp. de Recordatorio Ralenti\r\n");
fmanzano_dtk 1:9e821e640117 1314 myPC_debug.printf("BLE - Recordatorio Ralenti en %.1f seg\r\n", wait_idle_reminder);
fmanzano_dtk 1:9e821e640117 1315 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1316 #endif
fmanzano_dtk 1:9e821e640117 1317 break;
fmanzano_dtk 1:9e821e640117 1318
fmanzano_dtk 1:9e821e640117 1319
fmanzano_dtk 1:9e821e640117 1320 /** ********************************
fmanzano_dtk 1:9e821e640117 1321 * COMANDOS DE TIP DE SEGURIDAD
fmanzano_dtk 1:9e821e640117 1322 * ******************************** */
fmanzano_dtk 1:9e821e640117 1323 case CMD_QUERY_SAFETY_TIP_TIME:
fmanzano_dtk 1:9e821e640117 1324 sprintf(fmu_buffer, "%s%.1f", TCA_ID_QUERY_SAFETY_TIP, time_safety_tip);
fmanzano_dtk 1:9e821e640117 1325 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1326 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1327 myPC_debug.printf("BLE - Consulta Temp. de Tip de Seguridad\r\n");
fmanzano_dtk 1:9e821e640117 1328 myPC_debug.printf("BLE - Tip de Seguridad en %.1f seg\r\n", time_safety_tip);
fmanzano_dtk 1:9e821e640117 1329 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1330 #endif
fmanzano_dtk 1:9e821e640117 1331 break;
fmanzano_dtk 1:9e821e640117 1332
fmanzano_dtk 1:9e821e640117 1333 case CHANGE_SAFETY_TIP_TIME:
fmanzano_dtk 1:9e821e640117 1334 ep.write(eprom_AddressArray[EE_Address_SAFETY_TIP_T], ((uint16_t) fingerprint_id));
fmanzano_dtk 1:9e821e640117 1335 time_safety_tip = fingerprint_id * 1.0;
fmanzano_dtk 1:9e821e640117 1336 sprintf(fmu_buffer, "%s%.1f", TCA_ID_QUERY_SAFETY_TIP, time_safety_tip);
fmanzano_dtk 1:9e821e640117 1337 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1338 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1339 myPC_debug.printf("BLE - Cambio Temp. de Tip de Seguridad\r\n");
fmanzano_dtk 1:9e821e640117 1340 myPC_debug.printf("BLE - Nuevo Temp. para Tip de Seguridad: %d seg\r\n", fingerprint_id);
fmanzano_dtk 1:9e821e640117 1341 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1342 #endif
fmanzano_dtk 1:9e821e640117 1343 break;
fmanzano_dtk 1:9e821e640117 1344
fmanzano_dtk 1:9e821e640117 1345 case CMD_SAFETY_TIP_ENABLE:
fmanzano_dtk 1:9e821e640117 1346 functionality_safety_tip = true;
fmanzano_dtk 1:9e821e640117 1347 ep.write(eprom_AddressArray[EE_Address_SAFETY_TIP], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1348 sprintf(fmu_buffer, "%s", TCA_ID_SAFETY_TIP_ENABLE);
fmanzano_dtk 1:9e821e640117 1349 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1350 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1351 myPC_debug.printf("BLE - Tip de Seguridad Habilitado\r\n");
fmanzano_dtk 1:9e821e640117 1352 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1353 #endif
fmanzano_dtk 1:9e821e640117 1354 break;
fmanzano_dtk 1:9e821e640117 1355
fmanzano_dtk 1:9e821e640117 1356 case CMD_SAFETY_TIP_DISABLE:
fmanzano_dtk 1:9e821e640117 1357 functionality_safety_tip = false;
fmanzano_dtk 1:9e821e640117 1358 ep.write(eprom_AddressArray[EE_Address_SAFETY_TIP], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1359 tick_safety_tip.detach();
fmanzano_dtk 1:9e821e640117 1360 sprintf(fmu_buffer, "%s", TCA_ID_SAFETY_TIP_DISABLE);
fmanzano_dtk 1:9e821e640117 1361 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1362 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1363 myPC_debug.printf("BLE - Tip de Seguridad Deshabilitado\r\n");
fmanzano_dtk 1:9e821e640117 1364 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1365 #endif
fmanzano_dtk 1:9e821e640117 1366 break;
fmanzano_dtk 1:9e821e640117 1367
fmanzano_dtk 1:9e821e640117 1368 /** ********************************
fmanzano_dtk 1:9e821e640117 1369 * COMANDOS DE INFORMACIÓN ICS5
fmanzano_dtk 1:9e821e640117 1370 * ******************************** */
fmanzano_dtk 1:9e821e640117 1371 case CMD_QUERY_HARDWARE_VER:
fmanzano_dtk 1:9e821e640117 1372 sprintf(fmu_buffer, "%s%s", TCA_ID_HARDWARE_VERSION, hardware_version);
fmanzano_dtk 1:9e821e640117 1373 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1374 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1375 myPC_debug.printf("BLE - Consulta por Version de HW\r\n");
fmanzano_dtk 1:9e821e640117 1376 myPC_debug.printf("BLE - HW: %s\r\n", hardware_version);
fmanzano_dtk 1:9e821e640117 1377 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1378 #endif
fmanzano_dtk 1:9e821e640117 1379 break;
fmanzano_dtk 1:9e821e640117 1380
fmanzano_dtk 1:9e821e640117 1381 case CMD_QUERY_FIRMWARE_VER:
fmanzano_dtk 1:9e821e640117 1382 sprintf(fmu_buffer, "%s%s", TCA_ID_FIRMWARE_VERSION, firmware_version);
fmanzano_dtk 1:9e821e640117 1383 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1384 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1385 myPC_debug.printf("BLE - Consulta por Version de Firmware\r\n");
fmanzano_dtk 1:9e821e640117 1386 myPC_debug.printf("BLE - FW: %s\r\n", firmware_version);
fmanzano_dtk 1:9e821e640117 1387 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1388 #endif
fmanzano_dtk 1:9e821e640117 1389 break;
fmanzano_dtk 1:9e821e640117 1390
fmanzano_dtk 1:9e821e640117 1391 /** ********************************
fmanzano_dtk 1:9e821e640117 1392 * COMANDOS DE GEOCERCAS
fmanzano_dtk 1:9e821e640117 1393 * ******************************** */
fmanzano_dtk 1:9e821e640117 1394 case CMD_GEO_WARNING_ENABLE:
fmanzano_dtk 1:9e821e640117 1395 functionality_geo_warning = true;
fmanzano_dtk 1:9e821e640117 1396 ep.write(eprom_AddressArray[EE_Address_GEOZONE], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1397 sprintf(fmu_buffer, "%s", TCA_ID_GEO_WARNING_ENABLE);
fmanzano_dtk 1:9e821e640117 1398 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1399 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1400 myPC_debug.printf("BLE - Habilitar Notificacion de Geocercas Controladas\r\n");
fmanzano_dtk 1:9e821e640117 1401 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1402 #endif
fmanzano_dtk 1:9e821e640117 1403 break;
fmanzano_dtk 1:9e821e640117 1404
fmanzano_dtk 1:9e821e640117 1405 case CMD_GEO_WARNING_DISABLE:
fmanzano_dtk 1:9e821e640117 1406 functionality_geo_warning = false;
fmanzano_dtk 1:9e821e640117 1407 ep.write(eprom_AddressArray[EE_Address_GEOZONE], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1408 sprintf(fmu_buffer, "%s", TCA_ID_GEO_WARNING_DISABLE);
fmanzano_dtk 1:9e821e640117 1409 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1410 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1411 myPC_debug.printf("BLE - Deshabilitar Notificacion de Geocercas Controladas\r\n");
fmanzano_dtk 1:9e821e640117 1412 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1413 #endif
fmanzano_dtk 1:9e821e640117 1414 break;
fmanzano_dtk 1:9e821e640117 1415
fmanzano_dtk 1:9e821e640117 1416 case CMD_GEO_WARNING_QUERY:
fmanzano_dtk 1:9e821e640117 1417 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1418 myPC_debug.printf("BLE - Consulta por Notificacion de Geocercas Controladas\r\n");
fmanzano_dtk 1:9e821e640117 1419 myPC_debug.printf("BLE - Notificacion de Geocercas: %s\r\n", functionality_geo_warning?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 1420 #endif
fmanzano_dtk 1:9e821e640117 1421 if (functionality_geo_warning) {
fmanzano_dtk 1:9e821e640117 1422 sprintf(fmu_buffer, "%s", TCA_ID_GEO_WARNING_QUERY_ON);
fmanzano_dtk 1:9e821e640117 1423 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1424 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1425 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1426 #endif
fmanzano_dtk 1:9e821e640117 1427 } else {
fmanzano_dtk 1:9e821e640117 1428 sprintf(fmu_buffer, "%s", TCA_ID_GEO_WARNING_QUERY_OFF);
fmanzano_dtk 1:9e821e640117 1429 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1430 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1431 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1432 #endif
fmanzano_dtk 1:9e821e640117 1433 }
fmanzano_dtk 1:9e821e640117 1434 break;
fmanzano_dtk 1:9e821e640117 1435
fmanzano_dtk 1:9e821e640117 1436
fmanzano_dtk 1:9e821e640117 1437 /** ********************************
fmanzano_dtk 1:9e821e640117 1438 * COMANDOS DE AUTORESET BLUETOOTH
fmanzano_dtk 1:9e821e640117 1439 * ******************************** */
fmanzano_dtk 1:9e821e640117 1440 case CMD_BLE_AUTORESET_ENABLE:
fmanzano_dtk 1:9e821e640117 1441 functionality_ble_autoreset = true;
fmanzano_dtk 1:9e821e640117 1442 ep.write(eprom_AddressArray[EE_Address_BLE_RESET], ((uint16_t) true));
fmanzano_dtk 1:9e821e640117 1443 tick_autoreset_ble.detach();
fmanzano_dtk 1:9e821e640117 1444 tick_autoreset_ble.attach(&BLE_reset, time_ble_autoreset);
fmanzano_dtk 1:9e821e640117 1445 sprintf(fmu_buffer, "%s", TCA_ID_BLE_AUTORESET_ENA);
fmanzano_dtk 1:9e821e640117 1446 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1447 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1448 myPC_debug.printf("BLE - Habilitar Autoreset de Bluetooth\r\n");
fmanzano_dtk 1:9e821e640117 1449 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1450 #endif
fmanzano_dtk 1:9e821e640117 1451 break;
fmanzano_dtk 1:9e821e640117 1452
fmanzano_dtk 1:9e821e640117 1453 case CMD_BLE_AUTORESET_DISABLE:
fmanzano_dtk 1:9e821e640117 1454 functionality_ble_autoreset = false;
fmanzano_dtk 1:9e821e640117 1455 ep.write(eprom_AddressArray[EE_Address_BLE_RESET], ((uint16_t) false));
fmanzano_dtk 1:9e821e640117 1456 tick_autoreset_ble.detach();
fmanzano_dtk 1:9e821e640117 1457 sprintf(fmu_buffer, "%s", TCA_ID_BLE_AUTORESET_DIS);
fmanzano_dtk 1:9e821e640117 1458 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1459 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1460 myPC_debug.printf("BLE - Deshabilitar Autoreset de Bluetooth\r\n");
fmanzano_dtk 1:9e821e640117 1461 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1462 #endif
fmanzano_dtk 1:9e821e640117 1463 break;
fmanzano_dtk 1:9e821e640117 1464
fmanzano_dtk 1:9e821e640117 1465 case CMD_BLE_AUTORESET_TIME:
fmanzano_dtk 1:9e821e640117 1466 ep.write(eprom_AddressArray[EE_Address_BLE_RESET_T], ((uint16_t) fingerprint_id));
fmanzano_dtk 1:9e821e640117 1467 time_ble_autoreset = fingerprint_id * 1.0;
fmanzano_dtk 1:9e821e640117 1468 if (functionality_ble_autoreset) {
fmanzano_dtk 1:9e821e640117 1469 tick_autoreset_ble.detach();
fmanzano_dtk 1:9e821e640117 1470 tick_autoreset_ble.attach(&BLE_reset, time_ble_autoreset);
fmanzano_dtk 1:9e821e640117 1471 }
fmanzano_dtk 1:9e821e640117 1472 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1473 myPC_debug.printf("BLE - Cambio Temp. Autoreset de Bluetooth\n");
fmanzano_dtk 1:9e821e640117 1474 myPC_debug.printf("BLE - Nuevo Temp. para muestreo: %d seg\r\n", fingerprint_id);
fmanzano_dtk 1:9e821e640117 1475 #endif
fmanzano_dtk 1:9e821e640117 1476 break;
fmanzano_dtk 1:9e821e640117 1477
fmanzano_dtk 1:9e821e640117 1478 case CMD_BLE_AUTORESET_QUERY:
fmanzano_dtk 1:9e821e640117 1479 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1480 myPC_debug.printf("BLE - Consulta por Autoreset de Bluetooth\r\n");
fmanzano_dtk 1:9e821e640117 1481 myPC_debug.printf("BLE - Autoreset de Bluetooth: %s\r\n", functionality_ble_autoreset?"TRUE":"FALSE");
fmanzano_dtk 1:9e821e640117 1482 myPC_debug.printf("BLE - Tiempo Autoreset de Bluetooth: %.1f\r\n", time_ble_autoreset);
fmanzano_dtk 1:9e821e640117 1483
fmanzano_dtk 1:9e821e640117 1484 #endif
fmanzano_dtk 1:9e821e640117 1485 if (functionality_ble_autoreset) {
fmanzano_dtk 1:9e821e640117 1486 sprintf(fmu_buffer, "%s%.0f", TCA_ID_BLE_AUTORESET_qENA, time_ble_autoreset);
fmanzano_dtk 1:9e821e640117 1487 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1488 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1489 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1490 #endif
fmanzano_dtk 1:9e821e640117 1491 } else {
fmanzano_dtk 1:9e821e640117 1492 sprintf(fmu_buffer, "%s%.0f", TCA_ID_BLE_AUTORESET_qDIS, time_ble_autoreset);
fmanzano_dtk 1:9e821e640117 1493 tx_fmu130_message(fmu_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 1494 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1495 myPC_debug.printf("%s\r\n", fmu_buffer);
fmanzano_dtk 1:9e821e640117 1496 #endif
fmanzano_dtk 1:9e821e640117 1497 }
fmanzano_dtk 1:9e821e640117 1498 break;
fmanzano_dtk 1:9e821e640117 1499
fmanzano_dtk 1:9e821e640117 1500 default:
fmanzano_dtk 1:9e821e640117 1501 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1502 myPC_debug.printf("BLE - Comando no identificado\r\n");
fmanzano_dtk 1:9e821e640117 1503 #endif
fmanzano_dtk 1:9e821e640117 1504 break;
fmanzano_dtk 1:9e821e640117 1505 }
fmanzano_dtk 1:9e821e640117 1506
fmanzano_dtk 1:9e821e640117 1507 } else {
fmanzano_dtk 1:9e821e640117 1508 // Error trama incompleta.
fmanzano_dtk 1:9e821e640117 1509 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1510 myPC_debug.printf("BLE - Trama incompleta\r\n");
fmanzano_dtk 1:9e821e640117 1511 #endif
fmanzano_dtk 1:9e821e640117 1512 }
fmanzano_dtk 1:9e821e640117 1513 /* DESHABILITADA LA FUNCIÓN DE SLEEP EN EL LECTOR
fmanzano_dtk 1:9e821e640117 1514 fingerprint.Sleep();
fmanzano_dtk 1:9e821e640117 1515 flag_fingerprint_Sleep = true;
fmanzano_dtk 1:9e821e640117 1516 myPC_debug.printf("BLE - GT521Fx@Sleep\r\n");
fmanzano_dtk 1:9e821e640117 1517 */
fmanzano_dtk 1:9e821e640117 1518 break;
fmanzano_dtk 1:9e821e640117 1519
fmanzano_dtk 1:9e821e640117 1520 default:
fmanzano_dtk 1:9e821e640117 1521 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1522 myPC_debug.printf("BLE - Trama no identificada\r\n");
fmanzano_dtk 1:9e821e640117 1523 myPC_debug.printf("BLE PAYLOAD:\r\n%s\r\n", fmu130_payload);
fmanzano_dtk 1:9e821e640117 1524 #endif
fmanzano_dtk 1:9e821e640117 1525 break;
fmanzano_dtk 1:9e821e640117 1526 }
fmanzano_dtk 1:9e821e640117 1527 } else {
fmanzano_dtk 1:9e821e640117 1528 #ifdef DEBUG_FMU130_CPP
fmanzano_dtk 1:9e821e640117 1529 myPC_debug.printf("BLE - Sin bytes recibidos\r\n");
fmanzano_dtk 1:9e821e640117 1530 #endif
fmanzano_dtk 1:9e821e640117 1531 }
fmanzano_dtk 1:9e821e640117 1532 }