Skip to content

Examples

Jakob edited this page Mar 8, 2024 · 14 revisions

Use-cases

jes-core can be used for a variety of applications for and on embedded systems. Since multitasking and CLI are native, it opens up some possibilities for cool cross-platform applications.

Finite state machine

Does your project involve user-triggered tasks with sleep time in between? Perfect for jes-core! Use interrupts to launch jobs that process your requests before going to sleep again. Since jes-core deallocates memory for jobs which are done, you can expect that your sleep-overhead is close to zero.

Sampler with user input

Many devices in the realm of media streaming or measurement require a constant stream of data but also have to react to user input during runtime. Think of a digital oscilloscope which has to adjust its trigger value according to the users input while data is being sampled. jes-core can take care of that. Define a sampler-job with a while(1) and UI-handler job which gets triggered by an interrupt, adjust some values within your trigger-job and exit.

Unit testing

Native CLI support enables easy cross-platform unit-testing. Using pyserial for python you can send commands to jes-core via serial. This way, you can easily test your embedded systems internal calculation processes without being physically present.

Blinky

CLI-driven FSM

Synchronous sampler with asynchronous user input

Advanced unit testing

Clone this wiki locally