From 8c1e83ee8e86819e77b7cc9042b914cd12e5443f Mon Sep 17 00:00:00 2001 From: Andreas Karlsson Date: Fri, 24 May 2019 14:27:41 +0200 Subject: [PATCH] Add extra ERROR on mailbox receive timeout to improv diagnostics possibilities --- soem/ethercatmain.c | 3 ++- soem/ethercattype.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/soem/ethercatmain.c b/soem/ethercatmain.c index e91c7e8..795a21c 100644 --- a/soem/ethercatmain.c +++ b/soem/ethercatmain.c @@ -1097,7 +1097,8 @@ int ecx_mbxreceive(ecx_contextt *context, uint16 slave, ec_mbxbuft *mbx, int tim } else /* no read mailbox available */ { - wkc = 0; + if (wkc > 0) + wkc = EC_TIMEOUT; } } diff --git a/soem/ethercattype.h b/soem/ethercattype.h index 9dc2f84..6b4d17c 100644 --- a/soem/ethercattype.h +++ b/soem/ethercattype.h @@ -45,6 +45,8 @@ extern "C" #define EC_ERROR -3 /** return value too many slaves */ #define EC_SLAVECOUNTEXCEEDED -4 +/** return value request timeout */ +#define EC_TIMEOUT -5 /** maximum EtherCAT frame length in bytes */ #define EC_MAXECATFRAME 1518 /** maximum EtherCAT LRW frame length in bytes */