Skip to content

Firmware Design

Tarek Al Ayoubi edited this page Nov 21, 2021 · 5 revisions

1 File Structure

The repository is split into 3 folders (Common, ESP32 and Particle)

1.1 Common

Includes header and source files that are compiled for all boards. In other words, these files are common to all boards.

1.2 ESP32

Includes header and source files that are compiled only for ESP32 as well as symbolic links to files in Common folder.

1.3 Particle

Includes header and source files that are compiled only for Particle as well as symbolic links to files in Common folder.

1.4 Symbolic Links

A symbolic link is a file that points to another file. They work like shortcuts in Windows. They are used in Particle and ESP32 folders to point to files in Common. In Windows, symbolic links can be created using mklink in command line. The process of creating symbolic links in this repository is automated via scripts. Running these scripts deletes and recreates the symbolic links. To do so, in Windows, open cmd as administrator. Then navigate to the repository path and run .\create-all-symlinks.bat.

2 Sensors

3 Hardware Modules

4 Software Modules: PersistentData, Logger

5 Main and Pin Config

Clone this wiki locally