Skip to content

Commit 824d1cb

Browse files
committed
Documetação da classe SerialProtocol.
1 parent d801cb0 commit 824d1cb

File tree

1 file changed

+62
-1
lines changed

1 file changed

+62
-1
lines changed

CristalLiq-serial/frame.h

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,80 @@
55
#define MAX_STRING 80
66
#define MAX_PROTOCOL_MESSAGE MAX_STRING + 4 // ddd,maior string já desprezados os caracteres de inicio e fim '<' e '>'
77

8+
/**
9+
* @enum machineState
10+
* @brief Estados possíveis da máquina de recepção de frames.
11+
*/
812
enum machineState {START, RECEIVING, ESCAPE, RECEIVED};
913

14+
/**
15+
* @class SerialProtocol
16+
* @brief Gerencia a comunicação serial no protocolo master/slave usado pela TV-Box.
17+
*
18+
* Esta classe é responsável por:
19+
* - Receber e montar mensagens do tipo `<codigo,mensagem,TTL>`.
20+
* - Enviar mensagens serializadas para a TV-Box.
21+
* - Remover caracteres de acento que podem interferir na comunicação.
22+
* - Configurar a taxa de transmissão serial.
23+
*
24+
* @note O buffer `receivedChars` armazena a mensagem recebida,
25+
* `sendChars` armazena a mensagem a ser enviada.
26+
*/
1027
class SerialProtocol {
1128
public:
29+
/**
30+
* @brief Estado atual da máquina de recepção.
31+
*/
1232
byte machState;
33+
/**
34+
* @brief Buffer para armazenar a mensagem recebida.
35+
*/
1336
char receivedChars[MAX_PROTOCOL_MESSAGE+1];
37+
/**
38+
* @brief Buffer para armazenar a mensagem a ser enviada.
39+
*/
1440
char sendChars[MAX_PROTOCOL_MESSAGE+1];
1541

16-
SerialProtocol();
42+
/**
43+
* @brief Construtor padrão da classe SerialProtocol.
44+
*
45+
* Inicializa os buffers e coloca a máquina em estado START.
46+
*/
47+
SerialProtocol();/**
48+
* @brief Destrutor virtual.
49+
*
50+
* Permite que classes derivadas possam sobrescrever o destrutor.
51+
*/
1752
virtual ~SerialProtocol();
53+
/**
54+
* @brief Recebe um frame da TV-Box e atualiza o buffer `receivedChars`.
55+
*
56+
* A máquina de estados interpreta os caracteres de início/fim
57+
* e caracteres de escape.
58+
*
59+
* @see machState
60+
*/
1861
void receiveFrame();
62+
/**
63+
* @brief Envia uma mensagem via serial para a TV-Box.
64+
*
65+
* @param message Mensagem a ser enviada. Deve estar formatada
66+
* de acordo com o protocolo `<codigo,mensagem,TTL>`.
67+
*/
1968
void sendFrame(char* message);
69+
/**
70+
* @brief Remove acentos e caracteres especiais de uma string.
71+
*
72+
* Isso evita problemas de transmissão serial com caracteres acentuados.
73+
*
74+
* @param str String a ser processada.
75+
*/
2076
void removeAccentMarker(char* str);
77+
/**
78+
* @brief Configura a taxa de transmissão serial.
79+
*
80+
* @param baudRate Taxa em bauds (ex.: 9600, 115200).
81+
*/
2182
void setBaudRate(int baudRate);
2283
};
2384

0 commit comments

Comments
 (0)