49 #include <avr/pgmspace.h>
50 #define PRINTA(FORMAT,args...) printf_P(PSTR(FORMAT),##args)
52 #define PRINTA(...) printf(__VA_ARGS__)
59 PRINTA(
"S %d.%d clock %lu tx %lu rx %lu rtx %lu rrx %lu rexmit %lu acktx %lu noacktx %lu ackrx %lu timedout %lu badackrx %lu toolong %lu tooshort %lu badsynch %lu badcrc %lu contentiondrop %lu sendingdrop %lu lltx %lu llrx %lu\n",
62 rimestats.tx, rimestats.rx,
63 rimestats.reliabletx, rimestats.reliablerx,
64 rimestats.rexmit, rimestats.acktx, rimestats.noacktx,
65 rimestats.ackrx, rimestats.timedout, rimestats.badackrx,
66 rimestats.toolong, rimestats.tooshort,
67 rimestats.badsynch, rimestats.badcrc,
68 rimestats.contentiondrop, rimestats.sendingdrop,
69 rimestats.lltx, rimestats.llrx);
71 PRINTA(
"E %d.%d clock %lu cpu %lu lpm %lu irq %lu gled %lu yled %lu rled %lu tx %lu listen %lu sensors %lu serial %lu\n",
74 energest_total_time[ENERGEST_TYPE_CPU].current,
75 energest_total_time[ENERGEST_TYPE_LPM].current,
76 energest_total_time[ENERGEST_TYPE_IRQ].current,
77 energest_total_time[ENERGEST_TYPE_LED_GREEN].current,
78 energest_total_time[ENERGEST_TYPE_LED_YELLOW].current,
79 energest_total_time[ENERGEST_TYPE_LED_RED].current,
80 energest_total_time[ENERGEST_TYPE_TRANSMIT].current,
81 energest_total_time[ENERGEST_TYPE_LISTEN].current,
82 energest_total_time[ENERGEST_TYPE_SENSORS].current,
83 energest_total_time[ENERGEST_TYPE_SERIAL].current);