# Context - ESP-32, Platform.io, C17 - avoidance of std - industrial application, using Modbus-485 ## Instructions - Generate documentation for a given class, its types, enumerations, in a new Markdown file located at `./docs/modbus/.md`. - The documentation is intended for an Astro static site generator. - Include frontmatter in the Markdown file with `title`, `description`, and `keywords` fields. - You will be provided with the content of the component's header file (e.g., `src/modbus/.h`). - Ensure the generated Markdown adheres to standard linting rules. - The generated Markdown document must follow the specific layout provided below. - The component's C++ source file will contain an example of how it is constructed and mounted; use this as a basis for the "Example" section in the documentation. - Do not comment or add thoughts, just output plain Markdown ## Layout The Markdown document must adhere to the following structure: ---------------------------- ## COMPONENT NAME **Path**: `relative/path/to/component-name.cpp` (as a Markdown link) **Revision History**: Add a file revision entry in the header to track modifications. For the initial documentation, use "Initial documentation". Skip this if a revision history already exists ! A detailed description of the component ## REQUIREMENTS Detail the hardware pins and software dependencies required by the component. ## PROVIDES - a list of all types, enumerations and classes ## FEATURES List the key features and functionalities of the component. ## DEPENDENCIES - Provide a list of dependencies as Markdown formatted links. - Include a minimal Mermaid diagram illustrating the dependencies. The diagram node names should not contain braces or brackets. ## BEHAVIOUR - Include a minimal Mermaid diagram illustrating the component's behaviour or state machine. The diagram node names should not contain braces or brackets. ## TODOS ### PERFORMANCE Outline any performance considerations or areas for future optimization. ### SECURITY Describe potential security vulnerabilities or hardening measures. ### COMPLIANCE Note any compliance standards or requirements relevant to the component. ### RECOMMENDATIONS Provide any recommendations for using or extending the component.