You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Obviously, the krachkiste needs some kind of input device manager.
Prerequisite
Hardware
Input Devices are considered every physical means to interact with the actual device, including buttons / touch sensors, rotary encoders.
These physical input devices will need a digital representation / a driver to include them in the software part.
Remark The web interface may be considered a virtual input device aswell and should (generally speaking) follow the same internal logic.
Software
The project is implemented in loosely coupled functional units (in ESP-IDF's terminology: components). The components work out of the box and do not interact directly with each other.
Instead, the actual main application ties them together and makes them interact with each other.
Each component clearly defines its external interface. This may consist of two core parts:
a) the component may define component-specific events that reveal information about the internal state of the component.
b) the component may expose component-specific commands that may be used by an external actor (e.g. the main application) to trigger certain actions within the component.
Input Device Manager
The input device manager should map the (physical) input devices to actions of available components.
This is highly project-specific, meaning it may differ for every implementation. While the components are as pluggable as possible (see above, loose coupling), they are tied together by the main application.
The main application should then configure the ESP32's I/O ports (GPIO, I2S, I2C, SPI, ...) as per the actual project-specific schematic. One part of this is the mapping of input devices.
The text was updated successfully, but these errors were encountered:
Obviously, the krachkiste needs some kind of input device manager.
Prerequisite
Hardware
Input Devices are considered every physical means to interact with the actual device, including buttons / touch sensors, rotary encoders.
These physical input devices will need a digital representation / a driver to include them in the software part.
Remark The web interface may be considered a virtual input device aswell and should (generally speaking) follow the same internal logic.
Software
The project is implemented in loosely coupled functional units (in ESP-IDF's terminology: components). The components work out of the box and do not interact directly with each other.
Instead, the actual main application ties them together and makes them interact with each other.
Each component clearly defines its external interface. This may consist of two core parts:
a) the component may define component-specific events that reveal information about the internal state of the component.
b) the component may expose component-specific commands that may be used by an external actor (e.g. the main application) to trigger certain actions within the component.
Input Device Manager
The input device manager should map the (physical) input devices to actions of available components.
This is highly project-specific, meaning it may differ for every implementation. While the components are as pluggable as possible (see above, loose coupling), they are tied together by the main application.
The main application should then configure the ESP32's I/O ports (GPIO, I2S, I2C, SPI, ...) as per the actual project-specific schematic. One part of this is the mapping of input devices.
The text was updated successfully, but these errors were encountered: