The entire codebase is divided into several modules. Modules consist of a set of source files containing a bunch of components (classes) which are logically related. Consequently, these classes are also in a separate namespace and directory according to the module name. This follows the physical design philosophy. Components from different modules never directly depend on each other but only on interfaces or concepts.
Chapter | Namespace | Content |
---|---|---|
Interfaces | intf | HTTP, mDNS, UDP, USB |
Middlewares | mw | DCC, OTA, Z21, ZIMO |
Drivers | drv | Peripherals (Analog, RMT, SPI, WiFi, ...) |
Memory | mem | NVS |