void cameraTest(SmartCar * smartCar) { AIData data[2]; int16_t pos[2]; while (1) { AIData_init(&data[0], &smartCar->camera[0]); AIData_init(&data[1], &smartCar->camera[1]); binarization(&data[0]); binarization(&data[1]); dumpData(data[0].arr, &smartCar->barLED[0]); dumpData(data[1].arr, &smartCar->barLED[1]); pos[0] = findIndexRL(&data[0]); pos[1] = findIndexLR(&data[1]); Segment_print(&smartCar->segment[0], (smartCar->camera[1].average + smartCar->camera[0].average)/2); Segment_print(&smartCar->segment[1], handling(pos[0], pos[1],smartCar->motor.targetSpeed)); Segment_print(&smartCar->segment[2], Camera_getInterval() / 100); switch (board.button.check()) { case 4: Segment_print(&smartCar->segment[0], 0); Segment_print(&smartCar->segment[1], 0); Segment_print(&smartCar->segment[2], 0); return; } } }
/** * dissect/print packet */ void got_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *packetReceived) { static int count = 1; /* packet counter */ u_char *packet; /* Packet Pointer */ printf("\nPacket number %d:\n", count); count++; if (header->caplen != header->len) { printf("Snaplen value is not enough to capture the whole packet as it is on wire \n"); exit(1); } packet= (u_char *) malloc(header->caplen); memcpy(packet,packetReceived,header->caplen); //Insert( packet, L, P ); handling(packet); free(packet); return; } // end of the function got_packet
int main(int argc, char *argv[]) { int s, c, cli_size; struct sockaddr_in srv, cli; if (argc != 2) { fprintf(stderr, "usage: %s port\n", argv[0]); return 1; } s = socket(AF_INET, SOCK_STREAM, 0); if (s == -1) { perror("socket() failed"); return 2; } srv.sin_addr.s_addr = INADDR_ANY; srv.sin_port = htons( (unsigned short int) atol(argv[1])); srv.sin_family = AF_INET; if (bind(s, &srv, sizeof(srv)) == -1) { perror("bind() failed"); return 3; } if (listen(s, 3) == -1) { perror("listen() failed"); return 4; } for(;;) { c = accept(s, &cli, &cli_size); if (c == -1) { perror("accept() failed"); return 5; } printf("client from %s", inet_ntoa(cli.sin_addr)); if (handling(c) == -1) fprintf(stderr, "%s: handling() failed", argv[0]); close(c); } return 0; }