Proyecto ABInBev para la tarjeta Guaria 1/2.

Committer:
fmanzano_dtk
Date:
Tue Jul 05 10:58:23 2022 -0600
Revision:
8:a174cef25049
Parent:
7:01141979e5f2
Child:
9:46112570c850
Se agregan todos los #IF para soportar dos tipos de sensores

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