diff --git a/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/Makefile b/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/Makefile index c5d3b165c7..1e889cbc4a 100644 --- a/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/Makefile +++ b/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/Makefile @@ -42,7 +42,7 @@ BUILDDIR = build OBJDIR = $(BUILDDIR)/obj DEPDIR = $(BUILDDIR)/dep -DEF += -DNDEBUG -DCHIP_LPC11CXX -DCORE_M0 -DTHUMB_NO_INTERWORKING +DEF += -DNDEBUG -DCHIP_LPC11CXX -DCORE_M0 -DTHUMB_NO_INTERWORKING -U__STRICT_ANSI__ FLAGS = -mthumb -mcpu=cortex-m0 -mno-thumb-interwork diff --git a/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/src/main.cpp b/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/src/main.cpp index 716ffb8718..444c610329 100644 --- a/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/src/main.cpp +++ b/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/src/main.cpp @@ -2,6 +2,7 @@ * Pavel Kirienko, 2014 */ +#include #include #include #include @@ -22,6 +23,7 @@ int main() uavcan_lpc11c24::clock::init(); uavcan::MonotonicTime prev_mono; + uavcan::MonotonicTime prev_time_pub_at; while (true) { @@ -52,5 +54,19 @@ int main() { board::setStatusLed(false); } + + if ((ts_mono - prev_time_pub_at).toMSec() >= 1000) + { + prev_time_pub_at = ts_mono; + + uavcan::CanFrame frm; + frm.dlc = 8; + std::fill_n(frm.data, 8, 0); + snprintf(reinterpret_cast(frm.data), 8, "%u", unsigned(ts_mono.toMSec())); + + frm.id = ts_mono.toMSec() | uavcan::CanFrame::FlagEFF; + + ENFORCE(1 == uavcan_lpc11c24::CanDriver::instance().send(frm, ts_mono, 0)); + } } }