This repository was archived by the owner on Nov 29, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdroneTCs.h
More file actions
99 lines (85 loc) · 2.33 KB
/
droneTCs.h
File metadata and controls
99 lines (85 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/**
* \file
*
* @author Rafael B. Januzi (rjanuzi@gmail.com)
* @date 16/11/2016
*/
#ifndef DRONETCS_H_
#define DRONETCS_H_
/* Bibliotecas basicas */
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <string.h>
/* Util */
#include <util_udp.h>
/* Threads */
#include <pthread.h>
/* Sockets */
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
/* Drone */
#include "droneDefines.h"
/* General defines */
#define droneTcs_VERBOSE 1
typedef struct {
pthread_t tcRespReceiverThread;
} droneTcs_threads;
/**
* @date 06/11/2016
* @autho Rafael B. Januzi (rjanuzi@gmail.com)
*
* Thread para receber e tratar as respostas enviadas pelo Drone para telecomandos
* executados.
*
* @param arg: Nao utilizado, apenas existe por padronizacao de Threads.
*/
void* droneTcs_tcRespReceiverThread(void *arg);
/**
* @date 06/11/2016
* @autho Rafael B. Januzi (rjanuzi@gmail.com)
*
* Inicializa o modulo de envio de telecomandos ao Drone, basicamente
* cria a Thread de recepcao de respostas de telecomandos.
*
* @return true caso inicializacao concluida com sucess e false caso contrario.
*/
bool droneTcs_init();
/**
* @date 06/11/2016
* @autho Rafael B. Januzi (rjanuzi@gmail.com)
*
* Recupera os handles das Threads do modulo de telecomandos.
*
* @return Estrutura de dados com o handle das Threads do modulo de telecomandos.
*/
droneTcs_threads droneTcs_getThreadsIds();
/**
* @date 06/11/2016
* @autho Rafael B. Januzi (rjanuzi@gmail.com)
*
* Envia um comando AT ao Drone.
* Dica: Utilizar as macros definidas no arquivo \ref droneAtCommands.h (ATCMD_CREATE_AT_*) para
* a criacao dos comandos AT corretamente.
*
* @param cmd: String com o comando AT para enviar.
*
* @return true se o comando foi enviado corretamente e false caso contrario.
*/
bool droneTcs_sendAtCmd(const char* cmd);
/**
* @date 21/11/2016
* @autho Rafael B. Januzi (rjanuzi@gmail.com)
*
* O Drone necessita que os comandos AT enviado possuam um valor crescente de Sequence Number,
* essa funcao fornece o proximo Sequence Number a ser utilizado, baseando-se na quantidade de
* comandos AT enviados utilizando o modulo.
*
* @return O proximo Sequence Number a ser utilizados nos comandos AT.
*/
uint32_t droneTcs_getNextSeqNmbr();
#endif /* DRONETCS_H_ */