# HG changeset patch # User Florian Pose # Date 1203696188 0 # Node ID d02761e14eb0ad79b71e2dc122d96cf77e6935cb # Parent 002fe9ec778fab4146d23d83857cbfb6aee93c46 Introduced ec_datagram_type_string(). diff -r 002fe9ec778f -r d02761e14eb0 master/datagram.c --- a/master/datagram.c Fri Feb 22 15:35:39 2008 +0000 +++ b/master/datagram.c Fri Feb 22 16:03:08 2008 +0000 @@ -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 @@ } /*****************************************************************************/ + +/** 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 -r 002fe9ec778f -r d02761e14eb0 master/datagram.h --- a/master/datagram.h Fri Feb 22 15:35:39 2008 +0000 +++ b/master/datagram.h Fri Feb 22 16:03:08 2008 +0000 @@ -138,7 +138,8 @@ 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 *); /*****************************************************************************/