55
66#if PBDRV_CONFIG_MOTOR_DRIVER_VIRTUAL_SIMULATION
77
8- #include <arpa/inet.h>
9- #include <stdint.h>
10- #include <stdio.h>
11- #include <stdlib.h>
12- #include <string.h>
13- #include <sys/wait.h>
14- #include <unistd.h>
15- #include <unistd.h>
16-
178#include <contiki.h>
189
1910#include <pbdrv/clock.h>
@@ -185,27 +176,6 @@ pbio_error_t pbdrv_motor_driver_set_duty_cycle(pbdrv_motor_driver_dev_t *driver,
185176 return PBIO_SUCCESS ;
186177}
187178
188- static int data_socket = -1 ;
189- static struct sockaddr_in serv_addr ;
190-
191- static void animation_socket_connect (void ) {
192-
193- data_socket = socket (AF_INET , SOCK_DGRAM , 0 );
194- if (data_socket < 0 ) {
195- perror ("socket() failed" );
196- return ;
197- }
198-
199- serv_addr .sin_family = AF_INET ;
200- serv_addr .sin_port = htons (5002 );
201- if (inet_pton (AF_INET , "127.0.0.1" , & serv_addr .sin_addr ) <= 0 ) {
202- perror ("inet_pton() failed" );
203- close (data_socket );
204- data_socket = -1 ;
205- return ;
206- }
207- }
208-
209179PROCESS (pbdrv_motor_driver_virtual_simulation_process , "pbdrv_motor_driver_virtual_simulation" );
210180
211181PROCESS_THREAD (pbdrv_motor_driver_virtual_simulation_process , ev , data ) {
@@ -223,25 +193,6 @@ PROCESS_THREAD(pbdrv_motor_driver_virtual_simulation_process, ev, data) {
223193 for (;;) {
224194 PROCESS_WAIT_EVENT_UNTIL (ev == PROCESS_EVENT_TIMER && etimer_expired (& tick_timer ));
225195
226- // If data parser pipe is connected, output the motor angles.
227- if (data_socket >= 0 && timer_expired (& frame_timer )) {
228- timer_reset (& frame_timer );
229- uint8_t buf [sizeof (uint32_t ) * PBDRV_CONFIG_MOTOR_DRIVER_NUM_DEV + 1 ] = { 3 };
230- // Output motor angles on one line.
231- for (dev_index = 0 ; dev_index < PBDRV_CONFIG_MOTOR_DRIVER_NUM_DEV ; dev_index ++ ) {
232- driver = & motor_driver_devs [dev_index ];
233- pbio_set_uint32_le (& buf [dev_index * sizeof (uint32_t ) + 1 ], (uint32_t )(driver -> angle / 1000 ));
234- }
235-
236- // Send the constructed message
237- ssize_t sent = sendto (data_socket , buf , sizeof (buf ), 0 , (struct sockaddr * )& serv_addr , sizeof (serv_addr ));
238- if (sent < 0 ) {
239- perror ("send() failed" );
240- close (data_socket );
241- data_socket = -1 ;
242- }
243- }
244-
245196 for (dev_index = 0 ; dev_index < PBDRV_CONFIG_MOTOR_DRIVER_NUM_DEV ; dev_index ++ ) {
246197 driver = & motor_driver_devs [dev_index ];
247198
@@ -317,11 +268,6 @@ void pbdrv_counter_init(void) {
317268void pbdrv_motor_driver_init (void ) {
318269 simulation_init ();
319270
320- // Skip if no data parser is given.
321- if (getenv ("PBIO_TEST_CONNECT_SOCKET" )) {
322- animation_socket_connect ();
323- }
324-
325271 if (simulation_enabled ) {
326272 process_start (& pbdrv_motor_driver_virtual_simulation_process );
327273 }
0 commit comments