Proyecto ABInBev para la tarjeta Guaria 1/2.

Committer:
fmanzano_dtk
Date:
Thu Jul 07 16:17:25 2022 +0000
Revision:
19:5580a9a54ad5
Parent:
1:9e821e640117
Sincronizacion;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fmanzano_dtk 1:9e821e640117 1 /**
fmanzano_dtk 1:9e821e640117 2 * @file safety_tip_exe.cpp
fmanzano_dtk 1:9e821e640117 3 * @author Felícito Manzano (felicito.manzano@detektor.com.sv)
fmanzano_dtk 1:9e821e640117 4 * @brief
fmanzano_dtk 1:9e821e640117 5 * @version 0.1
fmanzano_dtk 1:9e821e640117 6 * @date 2021-01-26
fmanzano_dtk 1:9e821e640117 7 *
fmanzano_dtk 1:9e821e640117 8 * @copyright Copyright (c) 2021
fmanzano_dtk 1:9e821e640117 9 *
fmanzano_dtk 1:9e821e640117 10 */
fmanzano_dtk 1:9e821e640117 11
fmanzano_dtk 1:9e821e640117 12 #include "mbed.h"
fmanzano_dtk 1:9e821e640117 13 #include "BufferedSerial.h"
fmanzano_dtk 1:9e821e640117 14 #include "playlist.hpp"
fmanzano_dtk 1:9e821e640117 15 #include "voice_cn_pa.hpp"
fmanzano_dtk 1:9e821e640117 16 #include "jq8400_voice.hpp"
fmanzano_dtk 1:9e821e640117 17 #include "teltonika_fmu130.hpp"
fmanzano_dtk 1:9e821e640117 18 #include "safety_tip_exe.hpp"
fmanzano_dtk 1:9e821e640117 19 #include "USBSerial.h"
fmanzano_dtk 1:9e821e640117 20
fmanzano_dtk 1:9e821e640117 21 #define SAFETY_TIP_ID_BEGIN 27 // Del archivo de definición de audios
fmanzano_dtk 1:9e821e640117 22 #define SAFETY_TIP_ID_END 40 // Del archivo de definición de audios
fmanzano_dtk 1:9e821e640117 23
fmanzano_dtk 1:9e821e640117 24 // Variables de Tip de Seguridad
fmanzano_dtk 1:9e821e640117 25 const char TCA_ID_SAFETY_TIP[] = "TCA|134|2";
fmanzano_dtk 1:9e821e640117 26 const char TCA_ID_FRI_ICS5[] = "TCA|150|1";
fmanzano_dtk 1:9e821e640117 27 const char TCA_ID_OFF_ICS5[] = "TCA|150|0";
fmanzano_dtk 1:9e821e640117 28 const char TCA_ID_GPIO_UPDATE[] = "TCA|159|";
fmanzano_dtk 1:9e821e640117 29
fmanzano_dtk 1:9e821e640117 30 const int safety_tip_min = SAFETY_TIP_ID_BEGIN;
fmanzano_dtk 1:9e821e640117 31 const int safety_tip_max = SAFETY_TIP_ID_END;
fmanzano_dtk 1:9e821e640117 32 int safety_tip_id = SAFETY_TIP_ID_BEGIN;
fmanzano_dtk 1:9e821e640117 33 char safety_tip_buffer[64];
fmanzano_dtk 1:9e821e640117 34
fmanzano_dtk 1:9e821e640117 35 // Variables externas
fmanzano_dtk 1:9e821e640117 36 extern BufferedSerial avl_uart;
fmanzano_dtk 1:9e821e640117 37 extern USBSerial myPC_debug;
fmanzano_dtk 1:9e821e640117 38 extern bool estado_actual_ignicion;
fmanzano_dtk 1:9e821e640117 39 extern bool functionality_safety_tip;
fmanzano_dtk 1:9e821e640117 40 extern bool flag_safety_tip;
fmanzano_dtk 1:9e821e640117 41 extern bool flag_fri_ics;
fmanzano_dtk 1:9e821e640117 42
fmanzano_dtk 1:9e821e640117 43 // Entradas digitales externas
fmanzano_dtk 1:9e821e640117 44 extern bool pilot_seatbelt;
fmanzano_dtk 1:9e821e640117 45 extern bool copilot_seatbelt;
fmanzano_dtk 1:9e821e640117 46 extern bool crew_seatbelt;
fmanzano_dtk 1:9e821e640117 47 extern bool rg9_raining;
fmanzano_dtk 1:9e821e640117 48
fmanzano_dtk 1:9e821e640117 49 /**
fmanzano_dtk 1:9e821e640117 50 * @brief
fmanzano_dtk 1:9e821e640117 51 *
fmanzano_dtk 1:9e821e640117 52 */
fmanzano_dtk 1:9e821e640117 53 void play_SafetyTip() {
fmanzano_dtk 1:9e821e640117 54 flag_safety_tip = true;
fmanzano_dtk 1:9e821e640117 55 }
fmanzano_dtk 1:9e821e640117 56
fmanzano_dtk 1:9e821e640117 57
fmanzano_dtk 1:9e821e640117 58 /**
fmanzano_dtk 1:9e821e640117 59 * @brief
fmanzano_dtk 1:9e821e640117 60 *
fmanzano_dtk 1:9e821e640117 61 */
fmanzano_dtk 1:9e821e640117 62 void exe_SafetyTip() {
fmanzano_dtk 1:9e821e640117 63 flag_safety_tip = false;
fmanzano_dtk 1:9e821e640117 64 if (functionality_safety_tip) {
fmanzano_dtk 1:9e821e640117 65 //myPC_debug.printf("\r\nTIP - Reproducir Tip de Seguridad\r\n");
fmanzano_dtk 1:9e821e640117 66 jq8400_addQueue(safety_tip_id);
fmanzano_dtk 1:9e821e640117 67 sprintf(safety_tip_buffer, "%s", TCA_ID_SAFETY_TIP);
fmanzano_dtk 1:9e821e640117 68 //myPC_debug.printf("%s\r\n", safety_tip_buffer);
fmanzano_dtk 1:9e821e640117 69 tx_fmu130_message(safety_tip_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 70 safety_tip_id++;
fmanzano_dtk 1:9e821e640117 71 // Mantenerse dentro de la lista de opciones.
fmanzano_dtk 1:9e821e640117 72 if (safety_tip_id >= SAFETY_TIP_ID_END) {
fmanzano_dtk 1:9e821e640117 73 safety_tip_id = SAFETY_TIP_ID_BEGIN;
fmanzano_dtk 1:9e821e640117 74 }
fmanzano_dtk 1:9e821e640117 75 }
fmanzano_dtk 1:9e821e640117 76 }
fmanzano_dtk 1:9e821e640117 77
fmanzano_dtk 1:9e821e640117 78
fmanzano_dtk 1:9e821e640117 79
fmanzano_dtk 1:9e821e640117 80 /**
fmanzano_dtk 1:9e821e640117 81 * @brief
fmanzano_dtk 1:9e821e640117 82 *
fmanzano_dtk 1:9e821e640117 83 */
fmanzano_dtk 1:9e821e640117 84 void send_fri_ics() {
fmanzano_dtk 1:9e821e640117 85 flag_fri_ics = true;
fmanzano_dtk 1:9e821e640117 86 }
fmanzano_dtk 1:9e821e640117 87
fmanzano_dtk 1:9e821e640117 88
fmanzano_dtk 1:9e821e640117 89
fmanzano_dtk 1:9e821e640117 90 /**
fmanzano_dtk 1:9e821e640117 91 * @brief
fmanzano_dtk 1:9e821e640117 92 *
fmanzano_dtk 1:9e821e640117 93 */
fmanzano_dtk 1:9e821e640117 94 extern bool estado_actual_cinturon_piloto;
fmanzano_dtk 1:9e821e640117 95 extern bool estado_actual_cinturon_copiloto;
fmanzano_dtk 1:9e821e640117 96 extern bool estado_actual_cinturon_tripulante;
fmanzano_dtk 1:9e821e640117 97 extern bool estado_actual_sensor_lluvia;
fmanzano_dtk 1:9e821e640117 98
fmanzano_dtk 1:9e821e640117 99 void tx_fri_ics() {
fmanzano_dtk 1:9e821e640117 100 flag_fri_ics = false;
fmanzano_dtk 1:9e821e640117 101 // TCA|159|4,101:0,102:1,103:0,120:0
fmanzano_dtk 1:9e821e640117 102 //myPC_debug.printf("\r\nFRI - TX Actualizacion GPIO\r\n");
fmanzano_dtk 1:9e821e640117 103 sprintf(safety_tip_buffer, "%s4,101:%d,102:%d,103:%d,120:%d",
fmanzano_dtk 1:9e821e640117 104 TCA_ID_GPIO_UPDATE,
fmanzano_dtk 1:9e821e640117 105 estado_actual_cinturon_piloto, estado_actual_cinturon_copiloto,
fmanzano_dtk 1:9e821e640117 106 estado_actual_cinturon_tripulante, estado_actual_sensor_lluvia);
fmanzano_dtk 1:9e821e640117 107 //myPC_debug.printf("%s\r\n", safety_tip_buffer);
fmanzano_dtk 1:9e821e640117 108 tx_fmu130_message(safety_tip_buffer, &avl_uart);
fmanzano_dtk 1:9e821e640117 109 }