Machine Vision Status TCP Server
Dependencies: C12832 EthernetInterface mbed-rtos mbed ConfigFile
Diff: TcpDaemon.cpp
- Revision:
- 4:339a85b66476
- Parent:
- 3:254a2671a8e3
- Child:
- 5:7a32c081a3fa
diff -r 254a2671a8e3 -r 339a85b66476 TcpDaemon.cpp --- a/TcpDaemon.cpp Fri Mar 06 08:20:56 2015 +0000 +++ b/TcpDaemon.cpp Wed Mar 11 10:26:35 2015 +0000 @@ -10,8 +10,8 @@ * * @server_port the port the daemon will be listening on */ - TcpDaemon::TcpDaemon(int server_port, PinName accept_led_pin, PinName receive_led_pin) - : receive_led(receive_led_pin), accept_led(accept_led_pin) { + TcpDaemon::TcpDaemon(int server_port, PinName accept_led_pin, PinName receive_led_pin, PinName trigger_pin) + : receive_led(receive_led_pin), accept_led(accept_led_pin), trigger(trigger_pin) { this->server_port = server_port; this->keepListening = true; this->receive_led = 0; @@ -42,6 +42,16 @@ return true; } } + + void TcpDaemon::checkTrigger(void) { + if (trigger.hasBeenTriggered()) { + if (client.send_all(TRIGGER_MSG, sizeof(TRIGGER_MSG)-1) > 0) { // -1 for removing \0 + Log::v("Successfully send trigger to client\r\n"); + } else { + Log::w("Could not send trigger to client\r\n"); + } + } + } /* * Listen for incoming connections @@ -98,6 +108,8 @@ } else if (total_read_size > 0) { // Increment i_read (max timeouts for message) i_read++; } + + checkTrigger(); } while (client.is_connected() && total_read_size < BUFFER_SIZE && end == NULL && i_read < MAX_READ_TIMEOUTS); if (end == NULL) {