unsigned WINAPI task_client(void * parameters) { csp_packet_t * packet; csp_conn_t * conn; while (1) { /** * Try ping */ Sleep(1000); int result = csp_ping(MY_ADDRESS, 100, 100, CSP_O_NONE); printf("Ping result %d [ms]\r\n", result); Sleep(1000); /** * Try data packet to server */ /* Get packet buffer for data */ packet = csp_buffer_get(100); if (packet == NULL) { /* Could not get buffer element */ printf("Failed to get buffer element\n"); return 0; } /* Connect to host HOST, port PORT with regular UDP-like protocol and 1000 ms timeout */ conn = csp_connect(CSP_PRIO_NORM, MY_ADDRESS, MY_PORT, 1000, CSP_O_NONE); if (conn == NULL) { /* Connect failed */ printf("Connection failed\n"); /* Remember to free packet buffer */ csp_buffer_free(packet); return 0; } /* Copy dummy data to packet */ char *msg = "Hello World"; strcpy((char *) packet->data, msg); /* Set packet length */ packet->length = strlen(msg); /* Send packet */ if (!csp_send(conn, packet, 1000)) { /* Send failed */ printf("Send failed\n"); csp_buffer_free(packet); } /* Close connection */ csp_close(conn); } return 0; }
void csp_client(void *p) { (void) p; csp_packet_t * packet; csp_conn_t * conn; portBASE_TYPE status; int signal; /** * Try ping */ csp_sleep_ms(200); #ifdef TARGET_LIKE_MSP430 blink(K_LED_RED); #else blink(K_LED_ORANGE); #endif int result = csp_ping(MY_ADDRESS, 100, 100, CSP_O_NONE); if (result) { #ifdef TARGET_LIKE_MSP430 blink(K_LED_RED); #else blink(K_LED_ORANGE); #endif } /** * Try data packet to server */ while (1) { status = xQueueReceive(button_queue, &signal, portMAX_DELAY); if (status != pdTRUE) { continue; } /* Get packet buffer for data */ packet = csp_buffer_get(100); if (packet == NULL) { /* Could not get buffer element */ return; } /* Connect to host HOST, port PORT with regular UDP-like protocol and 1000 ms timeout */ blink(K_LED_RED); conn = csp_connect(CSP_PRIO_NORM, MY_ADDRESS, MY_PORT, 1000, CSP_O_NONE); if (conn == NULL) { /* Connect failed */ /* Remember to free packet buffer */ csp_buffer_free(packet); return; } blink(K_LED_RED); /* Copy dummy data to packet */ char *msg = "Hello World"; strcpy((char *) packet->data, msg); /* Set packet length */ packet->length = strlen(msg); /* Send packet */ if (!csp_send(conn, packet, 1000)) { /* Send failed */ csp_buffer_free(packet); } blink(K_LED_RED); /* Close connection */ csp_close(conn); } }