Skip to content

Embedded Utility libraries for both bare metal and RTOS

License

Notifications You must be signed in to change notification settings

wavenumber-eng/e

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e for embedded

Wavenumber core embedded utilities for baremetal and rtos. The initial focus is bare metal to have some simple utilities.

These c utilities are intended to be simple helper functions with minimal surface area.

Some of the uilities are pure software (the byte queue) but others require a "port" to enable timing. For example, the tick functions need to read a timer (ARM systick)

Most embedded applications need the same "stuff". e is the skeleton of the "stuff"

Testing

Useful to install clang on windows (choco install clang)

core functionality

e_tick

Covers the basics of being able to read a timer, check a timeout. there is a simple mechanism to add functions to a list that get call periodically in a main loop or in an isr context

currently focus on simple 1msec ticks w/ 32-bit atomic read for basic task scheduling.

e_queue

A simple byte queue for single producer, single consumer

e_state

A simple statemachine framework.

Notes:

Zephyr

Ports

Bare Metal

MCXA and MCXN is working.

directory struct

cmake

This has some of the helper cmake files, etc

lib/zephyr

Zephyr specific module setups

src

The core .c/.h files

test

Test projects. Current have 1 project for zephyr tick. Will add unity tests, etc.

zephyr

This has the module.yml for using in a zephyr applications

About

Embedded Utility libraries for both bare metal and RTOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published