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 jq8400_voice.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-09-22
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 "BufferedSerial.h"
fmanzano_dtk 1:9e821e640117 14 //#include "queue.h"
fmanzano_dtk 1:9e821e640117 15 #include "playlist.hpp"
fmanzano_dtk 1:9e821e640117 16
fmanzano_dtk 1:9e821e640117 17 //VOLUME
fmanzano_dtk 1:9e821e640117 18 /**
fmanzano_dtk 1:9e821e640117 19 * @brief
fmanzano_dtk 1:9e821e640117 20 *
fmanzano_dtk 1:9e821e640117 21 */
fmanzano_dtk 1:9e821e640117 22 const char SET_VOLUME_MUTE[] = {0xAA, 0x13, 0x01, 0x00, 0xBE};
fmanzano_dtk 1:9e821e640117 23 const char SET_VOLUME_VERY_LOW[] = {0xAA, 0x13, 0x01, 0x05, 0xC3};
fmanzano_dtk 1:9e821e640117 24 const char SET_VOLUME_LOW[] = {0xAA, 0x13, 0x01, 0x0A, 0xC8};
fmanzano_dtk 1:9e821e640117 25 const char SET_VOLUME_MEDIUM[] = {0xAA, 0x13, 0x01, 0x0F, 0xCD};
fmanzano_dtk 1:9e821e640117 26 const char SET_VOLUME_HIGH[] = {0xAA, 0x13, 0x01, 0x14, 0xD2};
fmanzano_dtk 1:9e821e640117 27 const char SET_VOLUME_VERY_HIGH[] = {0xAA, 0x13, 0x01, 0x19, 0xD7};
fmanzano_dtk 1:9e821e640117 28 const char SET_VOLUME_MAXIMUM[] = {0xAA, 0x13, 0x01, 0x1E, 0xDC};
fmanzano_dtk 1:9e821e640117 29 extern queue colaPlaylist;
fmanzano_dtk 1:9e821e640117 30
fmanzano_dtk 1:9e821e640117 31 /**
fmanzano_dtk 1:9e821e640117 32 * @brief
fmanzano_dtk 1:9e821e640117 33 *
fmanzano_dtk 1:9e821e640117 34 * @param id_file
fmanzano_dtk 1:9e821e640117 35 * @param puertoCOM
fmanzano_dtk 1:9e821e640117 36 * @return true
fmanzano_dtk 1:9e821e640117 37 * @return false
fmanzano_dtk 1:9e821e640117 38 */
fmanzano_dtk 1:9e821e640117 39 bool jq8400_playID(int id_file, BufferedSerial *puertoCOM) {
fmanzano_dtk 1:9e821e640117 40 const int id_track = id_file;
fmanzano_dtk 1:9e821e640117 41 char char_play[6] = {0xAA,0x07,0x02,0x00,char (id_track),char (id_track+0xB3)};
fmanzano_dtk 1:9e821e640117 42 puertoCOM->write(char_play, sizeof(char_play));
fmanzano_dtk 1:9e821e640117 43 return(true);
fmanzano_dtk 1:9e821e640117 44 }
fmanzano_dtk 1:9e821e640117 45
fmanzano_dtk 1:9e821e640117 46 /**
fmanzano_dtk 1:9e821e640117 47 * @brief
fmanzano_dtk 1:9e821e640117 48 *
fmanzano_dtk 1:9e821e640117 49 * @param id_volume
fmanzano_dtk 1:9e821e640117 50 * @param puertoCOM
fmanzano_dtk 1:9e821e640117 51 * @return true
fmanzano_dtk 1:9e821e640117 52 * @return false
fmanzano_dtk 1:9e821e640117 53 */
fmanzano_dtk 1:9e821e640117 54 bool jq8400_iniVol(int id_volume, BufferedSerial *puertoCOM) {
fmanzano_dtk 1:9e821e640117 55
fmanzano_dtk 1:9e821e640117 56 switch (id_volume) {
fmanzano_dtk 1:9e821e640117 57 case 1:
fmanzano_dtk 1:9e821e640117 58 puertoCOM->write(SET_VOLUME_VERY_LOW, sizeof(SET_VOLUME_VERY_LOW));
fmanzano_dtk 1:9e821e640117 59 break;
fmanzano_dtk 1:9e821e640117 60
fmanzano_dtk 1:9e821e640117 61 case 2:
fmanzano_dtk 1:9e821e640117 62 puertoCOM->write(SET_VOLUME_LOW, sizeof(SET_VOLUME_LOW));
fmanzano_dtk 1:9e821e640117 63 break;
fmanzano_dtk 1:9e821e640117 64
fmanzano_dtk 1:9e821e640117 65 case 3:
fmanzano_dtk 1:9e821e640117 66 puertoCOM->write(SET_VOLUME_MEDIUM, sizeof(SET_VOLUME_MEDIUM));
fmanzano_dtk 1:9e821e640117 67 break;
fmanzano_dtk 1:9e821e640117 68
fmanzano_dtk 1:9e821e640117 69 case 4:
fmanzano_dtk 1:9e821e640117 70 puertoCOM->write(SET_VOLUME_HIGH, sizeof(SET_VOLUME_HIGH));
fmanzano_dtk 1:9e821e640117 71 break;
fmanzano_dtk 1:9e821e640117 72
fmanzano_dtk 1:9e821e640117 73 case 5:
fmanzano_dtk 1:9e821e640117 74 puertoCOM->write(SET_VOLUME_VERY_HIGH, sizeof(SET_VOLUME_VERY_HIGH));
fmanzano_dtk 1:9e821e640117 75 break;
fmanzano_dtk 1:9e821e640117 76
fmanzano_dtk 1:9e821e640117 77 case 6:
fmanzano_dtk 1:9e821e640117 78 puertoCOM->write(SET_VOLUME_MAXIMUM, sizeof(SET_VOLUME_MAXIMUM));
fmanzano_dtk 1:9e821e640117 79 break;
fmanzano_dtk 1:9e821e640117 80 }
fmanzano_dtk 1:9e821e640117 81 return(true);
fmanzano_dtk 1:9e821e640117 82 }
fmanzano_dtk 1:9e821e640117 83
fmanzano_dtk 1:9e821e640117 84
fmanzano_dtk 1:9e821e640117 85 /**
fmanzano_dtk 1:9e821e640117 86 * @brief
fmanzano_dtk 1:9e821e640117 87 *
fmanzano_dtk 1:9e821e640117 88 * @param id_volume
fmanzano_dtk 1:9e821e640117 89 * @param puertoCOM
fmanzano_dtk 1:9e821e640117 90 * @return true
fmanzano_dtk 1:9e821e640117 91 * @return false
fmanzano_dtk 1:9e821e640117 92 */
fmanzano_dtk 1:9e821e640117 93 bool jq8400_setVol(int *id_volume, BufferedSerial *puertoCOM) {
fmanzano_dtk 1:9e821e640117 94
fmanzano_dtk 1:9e821e640117 95 switch (*id_volume) {
fmanzano_dtk 1:9e821e640117 96 case 0:
fmanzano_dtk 1:9e821e640117 97 puertoCOM->write(SET_VOLUME_MUTE, sizeof(SET_VOLUME_MUTE));
fmanzano_dtk 1:9e821e640117 98 break;
fmanzano_dtk 1:9e821e640117 99
fmanzano_dtk 1:9e821e640117 100 case 1:
fmanzano_dtk 1:9e821e640117 101 puertoCOM->write(SET_VOLUME_VERY_LOW, sizeof(SET_VOLUME_VERY_LOW));
fmanzano_dtk 1:9e821e640117 102 break;
fmanzano_dtk 1:9e821e640117 103
fmanzano_dtk 1:9e821e640117 104 case 2:
fmanzano_dtk 1:9e821e640117 105 puertoCOM->write(SET_VOLUME_LOW, sizeof(SET_VOLUME_LOW));
fmanzano_dtk 1:9e821e640117 106 break;
fmanzano_dtk 1:9e821e640117 107
fmanzano_dtk 1:9e821e640117 108 case 3:
fmanzano_dtk 1:9e821e640117 109 puertoCOM->write(SET_VOLUME_MEDIUM, sizeof(SET_VOLUME_MEDIUM));
fmanzano_dtk 1:9e821e640117 110 break;
fmanzano_dtk 1:9e821e640117 111
fmanzano_dtk 1:9e821e640117 112 case 4:
fmanzano_dtk 1:9e821e640117 113 puertoCOM->write(SET_VOLUME_HIGH, sizeof(SET_VOLUME_HIGH));
fmanzano_dtk 1:9e821e640117 114 break;
fmanzano_dtk 1:9e821e640117 115
fmanzano_dtk 1:9e821e640117 116 case 5:
fmanzano_dtk 1:9e821e640117 117 puertoCOM->write(SET_VOLUME_VERY_HIGH, sizeof(SET_VOLUME_VERY_HIGH));
fmanzano_dtk 1:9e821e640117 118 break;
fmanzano_dtk 1:9e821e640117 119
fmanzano_dtk 1:9e821e640117 120 case 6:
fmanzano_dtk 1:9e821e640117 121 puertoCOM->write(SET_VOLUME_MAXIMUM, sizeof(SET_VOLUME_MAXIMUM));
fmanzano_dtk 1:9e821e640117 122 break;
fmanzano_dtk 1:9e821e640117 123 }
fmanzano_dtk 1:9e821e640117 124 return(true);
fmanzano_dtk 1:9e821e640117 125 }
fmanzano_dtk 1:9e821e640117 126
fmanzano_dtk 1:9e821e640117 127 /**
fmanzano_dtk 1:9e821e640117 128 * @brief
fmanzano_dtk 1:9e821e640117 129 *
fmanzano_dtk 1:9e821e640117 130 * @param id_voice_file
fmanzano_dtk 1:9e821e640117 131 * @return true
fmanzano_dtk 1:9e821e640117 132 * @return false
fmanzano_dtk 1:9e821e640117 133 */
fmanzano_dtk 1:9e821e640117 134 bool jq8400_addQueue(int id_voice_file) {
fmanzano_dtk 1:9e821e640117 135 colaPlaylist.enqueue(id_voice_file);
fmanzano_dtk 1:9e821e640117 136 return(true);
fmanzano_dtk 1:9e821e640117 137 }