From 1bb9697a154734dccdfefe240924307f23eca6d6 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Fri, 22 Feb 2008 16:03:08 +0000 Subject: [PATCH] Introduced ec_datagram_type_string(). --- master/datagram.c | 35 +++++++++++++++++++++++++++++++++++ master/datagram.h | 3 ++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/master/datagram.c b/master/datagram.c index 0fe61111..ae0379f5 100644 --- a/master/datagram.c +++ b/master/datagram.c @@ -63,6 +63,30 @@ /*****************************************************************************/ +/** Array of datagram type strings used in ec_datagram_type_string(). + * + * \attention This is indexed by ec_datagram_type_t. + */ +static const char *type_strings[] = { + "?", + "APRD", + "APWR", + "APRW", + "FPRD", + "FPWR", + "FPRW", + "BRD", + "BWR", + "BRW", + "LRD", + "LWR", + "LRW", + "ARMW", + "FRMW" +}; + +/*****************************************************************************/ + /** Constructor. */ void ec_datagram_init(ec_datagram_t *datagram /**< EtherCAT datagram. */) @@ -473,3 +497,14 @@ void ec_datagram_output_stats( } /*****************************************************************************/ + +/** Returns a string describing the datagram type. + */ +const char *ec_datagram_type_string( + const ec_datagram_t *datagram /**< EtherCAT datagram. */ + ) +{ + return type_strings[datagram->type]; +} + +/*****************************************************************************/ diff --git a/master/datagram.h b/master/datagram.h index 41b6bd1a..daf1b1ec 100644 --- a/master/datagram.h +++ b/master/datagram.h @@ -138,7 +138,8 @@ int ec_datagram_lwr(ec_datagram_t *, uint32_t, size_t, uint8_t *); int ec_datagram_lrw(ec_datagram_t *, uint32_t, size_t, uint8_t *); void ec_datagram_print_wc_error(const ec_datagram_t *); -void ec_datagram_output_stats(ec_datagram_t *datagram); +void ec_datagram_output_stats(ec_datagram_t *); +const char *ec_datagram_type_string(const ec_datagram_t *); /*****************************************************************************/