# AdamLib-open **Repository Path**: temporary-666/adam-lib-open ## Basic Information - **Project Name**: AdamLib-open - **Description**: 大灰狼的开源库 抽象代码层, 可轻松移植各种单片机 - **Primary Language**: C - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-04-14 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Adam-Lib-Open Adam-Lib-Open is an embedded development library that provides a series of modules to simplify the development process of embedded systems. This library includes functional modules such as button handling, menu management, and encoder support, making it suitable for a variety of embedded application scenarios. ## Directory Structure - `free_button/` - Button handling module that provides button event detection and callback registration functionality. - `free_menu/` - Menu management module that supports creation, navigation, and interaction with menu items. - `free_sw_encoder/` - Software encoder module used to process rotary encoder input. - `examples/` - Example code demonstrating the basic usage of each module. ## Key Functional Modules ### Free_Button Provides button event handling functionality, including: - Button state detection - Event callback registration - Support for managing multiple buttons ### Free_Menu Menu management module that supports: - Creation and navigation of menu items - Injection of menu events - Integration with file systems (via `free_menu_and_fatfs`) ### Free_Sw_Encoder Software encoder module used to process rotary encoder input, providing: - Encoder initialization - Retrieval of encoder count and delta values ## Example Code Example code is located in the `examples.c` files of each module, including: - `free_button/free_button_examples.c` - Button event handling example - `free_menu/free_menu_examples.c` - Menu navigation and interaction example - `free_sw_encoder/free_sw_encoder_examples.c` - Encoder input handling example ## Usage Instructions 1. Clone the repository: ```bash git clone https://gitee.com/AdamLoong/adam-lib-open.git ``` 2. Import the project into your development environment (e.g., Keil, IAR, or another embedded IDE). 3. Include the appropriate header files and call the library functions as needed. 4. Compile and flash the code to the target device. ## Contribution Guidelines Code contributions or improvement suggestions are welcome. Please follow these steps: 1. Fork the repository 2. Create a new branch 3. Submit a Pull Request ## License This project is licensed under the MIT License. For details, please refer to the LICENSE file. --- Please adjust the README.md file according to the actual project content to ensure the accuracy and completeness of the information.