From ea8754c1dd923050b145b851b779b3ee930e062d Mon Sep 17 00:00:00 2001 From: bernd Date: Mon, 25 Jul 2011 08:50:33 +0200 Subject: [PATCH] Implemented time counter in simulat0r --- firmware/basic/idle.c | 5 +++++ simulat0r/simcore/Makefile | 2 +- simulat0r/simcore/timecounter.c | 11 +++++++++++ simulat0r/tui/Makefile | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 simulat0r/simcore/timecounter.c diff --git a/firmware/basic/idle.c b/firmware/basic/idle.c index 7625abb..a4154a7 100644 --- a/firmware/basic/idle.c +++ b/firmware/basic/idle.c @@ -4,7 +4,12 @@ #include "lcd/print.h" QUEUE the_queue; +#ifdef ARM volatile uint32_t _timectr=0; +#else +extern uint32_t simTimeCounter(); +#define _timectr (simTimeCounter()) +#endif /**************************************************************************/ diff --git a/simulat0r/simcore/Makefile b/simulat0r/simcore/Makefile index 1bd0cb5..2040209 100644 --- a/simulat0r/simcore/Makefile +++ b/simulat0r/simcore/Makefile @@ -5,7 +5,7 @@ CFLAGS += -I../firmware CFLAGS += -I../firmware/core # for gpio.h including projectconfig.h without path CFLAGS += -I../simcore -OBJS = simcore.o misc.o +OBJS = simcore.o misc.o timecounter.o .PHONY : all clean all : $(OBJS) diff --git a/simulat0r/simcore/timecounter.c b/simulat0r/simcore/timecounter.c new file mode 100644 index 0000000..b00e242 --- /dev/null +++ b/simulat0r/simcore/timecounter.c @@ -0,0 +1,11 @@ +#include +#include +#include + +volatile uint32_t _timectr; // to satisfy linker + +volatile uint32_t simTimeCounter() { + struct timeval tv; + gettimeofday(&tv,NULL); + return (tv.tv_sec*1000000+tv.tv_usec)/100; +} diff --git a/simulat0r/tui/Makefile b/simulat0r/tui/Makefile index e410559..6d798d8 100644 --- a/simulat0r/tui/Makefile +++ b/simulat0r/tui/Makefile @@ -25,7 +25,7 @@ LIBS += ../firmware/basic/libbasic.a -OBJS+=../simcore/simcore.o ../simcore/misc.o +OBJS+=../simcore/simcore.o ../simcore/misc.o ../simcore/timecounter.o .PHONY : all all : simulat0r