This repository is a template to create a new module firmware for Jacdac.
The full build instructions are available at https://github.com/jacdac/jacdac-stm32x0/blob/main/README.md. This is also where you learn more about this repo.
To pull the submodule sources, run
git submodule update --init --recursive && git pull
Follow these steps to update the file structure to reflect your module.
- update
jacdac-stm32
andjacdac-c
submodules (eg., withmake update-submodules
) - copy
targets/_example/
totargets/buzzer-v1.0/
(replacingbuzzer-v1.0
with the name of the module or series of modules) - edit
targets/buzzer-v1.0/board.h
to match your module - you likely do not need to edit
targets/buzzer-v1.0/config.mk
, unless using F0 chip - edit
targets/buzzer-v1.0/profile/module.c
to include your module name and used services (follow comments inmodule.c
); see jd_services.h for list of services - rename
module.c
to match the type of module (eg.buzzer.c
) - if you have several modules with non-conflicting
board.h
definitions, you can create more files undertargets/buzzer-v1.0/profile/
; otherwise you'll need to createtargets/thermocouple-v1.0
or something similar - edit
Makefile.user
to setTRG
, eg.TRG = targets/buzzer-v1.0/profile/buzzer.c
- run
make
; this will generate a new unique identifier and place as an argument ofFIRMWARE_IDENTIFIER
macro
make sure to never change the firmware identifier number, as that will break future firmware updates
Erase this section once you are done with the setup
This project welcomes contributions and suggestions.