From e779036fe278eb8396ae095fc6a9cf04c85de3bd Mon Sep 17 00:00:00 2001 From: helge <helgewurst@web.de> Date: ćšć, 04 11æ 2021 22:12:27 +0800 Subject: [PATCH] introduce weak connectivity and error events --- examples/test-LwIP-netconn/scpi_server.c | 27 ++++++++++++++++++++++++--- 1 files changed, 24 insertions(+), 3 deletions(-) diff --git a/examples/test-LwIP-netconn/scpi_server.c b/examples/test-LwIP-netconn/scpi_server.c index df1ebbf..95d5ac7 100644 --- a/examples/test-LwIP-netconn/scpi_server.c +++ b/examples/test-LwIP-netconn/scpi_server.c @@ -113,11 +113,10 @@ iprintf("**ERROR: %ld, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err)); if (err != 0) { /* New error */ - /* Beep */ - /* Error LED ON */ + SCPI_Event_ErrorIndicatorOn(context, err); } else { /* No more errors in the queue */ - /* Error LED OFF */ + SCPI_Event_ErrorIndicatorOff(context, err); } return 0; } @@ -248,6 +247,7 @@ netconn_delete(newconn); } else { /* connection established */ + SCPI_Event_DeviceConnected(newconn); iprintf("***Connection established %s\r\n", inet_ntoa(newconn->pcb.ip->remote_ip)); user_data->io = newconn; } @@ -275,6 +275,7 @@ static void closeIo(user_data_t * user_data) { /* connection closed */ + SCPI_Event_DeviceDisconnected(user_data->io); netconn_close(user_data->io); netconn_delete(user_data->io); user_data->io = NULL; @@ -423,3 +424,23 @@ xReturned = xTaskCreate(scpi_server_thread, "SCPI", DEFAULT_THREAD_STACKSIZE, NULL, SCPI_THREAD_PRIO, &xHandle); LWIP_ASSERT("scpi_server_init failed", xReturned == pdPASS); } + +/* Called by processIoListen() for additional reporting. Override on demand. */ +void __attribute__((weak)) SCPI_Event_DeviceConnected(struct netconn * conn) { + /* Remote or Eth LED ON */ +} + +/* Called by closeIO() for additional reporting. Override on demand. */ +void __attribute__((weak)) SCPI_Event_DeviceDisconnected(struct netconn * conn) { + /* Remote or Eth LED OFF */ +} + +/* Called by SCPI_Error() for reporting. Override on demand. */ +void __attribute__((weak)) SCPI_Event_ErrorIndicatorOn(scpi_t * context, int_fast16_t err) { + /* New error : Beep, Error LED ON */ +} + +/* Called by SCPI_Error() for reporting. Override on demand. */ +void __attribute__((weak)) SCPI_Event_ErrorIndicatorOff(scpi_t * context, int_fast16_t err) { + /* No more errors in the queue : Error LED OFF */ +} -- Gitblit v1.9.1