Electronic devices Software Framework (or Extended Software Framework for electronic devices)
-
components: chip functions and registers (on [component]_io.h). Ex: ds3231.h, ds3231_io.h //! RTC component.
-
drivers: middleware to better using one or more component and/or peripheral. Ex: esf_rtc.h //! controlling internal or external RTC source, with capability to select chip.
-
services: better alias and usage of some drivers. Ex: esf_time.h //! implement calendar and convert between timestamp and Date-Time structure.
-
utils: codes and functions and helpers (no component or driver is using by these directories). Ex: math.h
-
config: definetion require or optional parameters, used on other files.
-
application: user-side codes.
to better design use files by defined level (on top). for example, components are using on a driver, drivers are using on a service, and services are using on application; using components on service or drivers on component are denied. exception: config, utils and *_io are free to use in anywhere.