20 KLog(
const uint32_t &t):
Logger(), time(t) {}
24 ret.
len = snprintf((
char*)ret.buf, ret.
size,
"(@%" PRIu32
"ms): ", time);
30 const uint32_t &
time{time_};
34 new(&log) KLog{
time, snk};
37 void tick(uint32_t dt_ms) {
75 friend void sighandler(
int);
simple kernel for running tool-libs based applications
Definition kern.h:17
void exit(int code=0)
stop kernel
Definition kern.h:52
int run()
kernel entry point
Definition kern.h:43
void initLog(Sink< Buffer< uint8_t > > &snk)
point logger to new sink
Definition kern.h:33
void tick(uint32_t dt_ms)
call every ms
Definition kern.h:37
void setTimeStep(uint16_t dt_us)
implement in simulation backend to be able to speed up time.
Definition hal.cpp:26
const uint32_t & time
const access to global uptime
Definition kern.h:30
void idle()
implement to not burn unnecessary cpu cycles
Definition hal.cpp:18
dynamically allocated, but fixed-size buffer template
Definition buffer.h:18
size_t size
total capacity of buffer
Definition buffer.h:23
size_t len
number of items stored in buffer
Definition buffer.h:21
simple printf-style logging infrastructure
Definition logger.h:21
registry of recurring calls
Definition timed.h:65
round robin, because we're not smart enough for anything else
Definition schedule.h:47
bool schedule(uint32_t time, Schedule::Registry ®)
schedule all registered schedulables of registry if necessary
Definition schedule.h:52
void run()
run scheduled calls
Definition schedule.h:60
generic object sink, i.e.
Definition streams.h:15