aboutsummaryrefslogtreecommitdiffstats
path: root/udp2lcm/udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'udp2lcm/udp.c')
-rw-r--r--udp2lcm/udp.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/udp2lcm/udp.c b/udp2lcm/udp.c
index 6c4bd4a..97fb53e 100644
--- a/udp2lcm/udp.c
+++ b/udp2lcm/udp.c
@@ -1,6 +1,6 @@
1#include "udp2lcm.h" 1#include "udp2lcm.h"
2 2
3void udpRecvHandler() { 3void *udpRecvHandler(void *args) {
4 int socketfd = -1; 4 int socketfd = -1;
5 char buffer[MAX_BUFFER_SIZE]; 5 char buffer[MAX_BUFFER_SIZE];
6 struct sockaddr_in serverAddr; 6 struct sockaddr_in serverAddr;
@@ -13,7 +13,7 @@ void udpRecvHandler() {
13 printf("udpRecvHandler\n"); 13 printf("udpRecvHandler\n");
14 if ((socketfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { 14 if ((socketfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
15 fprintf(stderr, "Error: Failed to create socket\n"); 15 fprintf(stderr, "Error: Failed to create socket\n");
16 return; 16 return NULL;
17 } 17 }
18 memset((char *)&serverAddr, 0, sizeof(serverAddr)); 18 memset((char *)&serverAddr, 0, sizeof(serverAddr));
19 memset(buffer, 0, sizeof(buffer)); 19 memset(buffer, 0, sizeof(buffer));
@@ -25,7 +25,7 @@ void udpRecvHandler() {
25 -1) { 25 -1) {
26 fprintf(stderr, "Error: Bind failed\n"); 26 fprintf(stderr, "Error: Bind failed\n");
27 close(socketfd); 27 close(socketfd);
28 return; 28 return NULL;
29 } 29 }
30 30
31 bytesReceived = recvfrom(socketfd, buffer, MAX_BUFFER_SIZE, 0, 31 bytesReceived = recvfrom(socketfd, buffer, MAX_BUFFER_SIZE, 0,
@@ -33,7 +33,7 @@ void udpRecvHandler() {
33 if (bytesReceived == -1) { 33 if (bytesReceived == -1) {
34 fprintf(stderr, "Error: Failed to receive data\n"); 34 fprintf(stderr, "Error: Failed to receive data\n");
35 close(socketfd); 35 close(socketfd);
36 return; 36 return NULL;
37 } 37 }
38 printf("Start message from %s: %s\n", inet_ntoa(clientAddr.sin_addr), 38 printf("Start message from %s: %s\n", inet_ntoa(clientAddr.sin_addr),
39 buffer); 39 buffer);
@@ -57,13 +57,13 @@ void udpRecvHandler() {
57 robotCtrlData.iparams[0] = 1; 57 robotCtrlData.iparams[0] = 1;
58 robot_control_t_publish(lcm, "ROBOT_CONTROL", &robotCtrlData); 58 robot_control_t_publish(lcm, "ROBOT_CONTROL", &robotCtrlData);
59 freeRobotCtrl(&robotCtrlData); 59 freeRobotCtrl(&robotCtrlData);
60 // 随即下达30号命令,开始建图 60 // // 随即下达30号命令,开始建图
61 robotCtrlInit(&robotCtrlData, 0, 30, 0, 1, 1, 0, 0); 61 // robotCtrlInit(&robotCtrlData, 0, 30, 0, 1, 1, 0, 0);
62 robotCtrlData.dparams[0] = 0.05; 62 // robotCtrlData.dparams[0] = 0.05;
63 robotCtrlData.niparams = 1; 63 // robotCtrlData.niparams = 1;
64 robotCtrlData.iparams[0] = 1; 64 // robotCtrlData.iparams[0] = 1;
65 robot_control_t_publish(lcm, "ROBOT_CONTROL", &robotCtrlData); 65 // robot_control_t_publish(lcm, "ROBOT_CONTROL", &robotCtrlData);
66 freeRobotCtrl(&robotCtrlData); 66 // freeRobotCtrl(&robotCtrlData);
67 67
68 /* 68 /*
69 * 开始接收来自手机端的命令 69 * 开始接收来自手机端的命令
@@ -99,13 +99,13 @@ void udpRecvHandler() {
99 } 99 }
100} 100}
101 101
102void udpSendHandler() { 102void *udpSendHandler(void *args) {
103 // 创建UDP套接字 103 // 创建UDP套接字
104 int sockfd = -1; 104 int sockfd = -1;
105 struct sockaddr_in serverAddr; 105 struct sockaddr_in serverAddr;
106 if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { 106 if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
107 fprintf(stderr, "Error: Failed to create socket\n"); 107 fprintf(stderr, "Error: Failed to create socket\n");
108 return; 108 return NULL;
109 } 109 }
110 110
111 memset((char *)&serverAddr, 0, sizeof(serverAddr)); 111 memset((char *)&serverAddr, 0, sizeof(serverAddr));
@@ -114,7 +114,7 @@ void udpSendHandler() {
114 if (inet_aton(clientIP, &serverAddr.sin_addr) == 0) { 114 if (inet_aton(clientIP, &serverAddr.sin_addr) == 0) {
115 fprintf(stderr, "Error: Failed to convert IP address\n"); 115 fprintf(stderr, "Error: Failed to convert IP address\n");
116 close(sockfd); 116 close(sockfd);
117 return; 117 return NULL;
118 } 118 }
119 119
120 while (true) { 120 while (true) {
@@ -124,4 +124,4 @@ void udpSendHandler() {
124 pthread_mutex_unlock(&heartBeatMutex); 124 pthread_mutex_unlock(&heartBeatMutex);
125 sleep(1); 125 sleep(1);
126 } 126 }
127} \ No newline at end of file 127}