|
1 |
| -## Commander-API library |
2 |
| -**Version V2.1.0** |
| 1 | +[](https://www.commanderapi.org/html/index.html) |
3 | 2 |
|
4 |
| -Commander-API is a simple-to-use parser library, and you can easily use it to process character based commands and link them to a specified function. It is designed mainly to work with low memory capacity devices, for example, __small ARM or AVR processors__. |
| 3 | +# 🚀 About |
5 | 4 |
|
6 |
| -__Key changes in V2.1.0:__ |
7 |
| -* AVR PROGMEM support. |
8 |
| -* Piping |
9 |
| -* Ready to use built-in commands |
| 5 | +Commander-API is an easy-to-use command parser library designed for microcontroller environments. Thanks to its low resource requirements, it runs on almost any microcontroller. It’s **Arduino-compatible out of the box**, making it accessible for hobbyists and beginner programmers alike. |
10 | 6 |
|
11 |
| -__Breaking changes in V2.1.0:__ |
12 |
| -* The response channel is now uses the Stream class. |
13 |
| - This way it is more flexible and you doesn't have to |
14 |
| - create a class for every peripheral. |
| 7 | +# 🔄 What’s New? |
15 | 8 |
|
16 |
| -## Contributing |
17 |
| -Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. |
| 9 | +### 🏗 Argument Handling |
| 10 | +We’re really proud of this feature! Now you can easily and efficiently add arguments to your commands. The argument parser extracts the parameters you need from the raw argument string and even **automatically parses them into strings, floats, and integers** for convenience. |
18 | 11 |
|
19 |
| -Please make sure to update tests as appropriate. |
| 12 | +### 🌍 Environment Variables |
| 13 | +Access and modify C++ variables directly! This makes it much easier to tweak system parameters at runtime. Hopefully, tuning your **PID controller** just got a whole lot easier. 😉 |
20 | 14 |
|
21 |
| -## Video Tutorial |
| 15 | +### 🔧 Major Refactoring |
| 16 | +We know "refactoring" isn’t the most exciting word—especially when it affects backward compatibility—but we believe in improving the project. We put a **huge amount of effort** into optimizing the internal structure (including a new **template-based database**—more on that later) to make Commander-API **faster, cleaner, and more scalable**. |
22 | 17 |
|
23 |
| -[](https://www.youtube.com/watch?v=O2su8kXg1X8) |
| 18 | +### 📂 Database Overhaul |
| 19 | +This was one of our biggest tasks! The command storage system, previously tied to Commander, has been modularized for **broader use cases** (like environment variables). We also removed **recursion** entirely—even during initialization—so **embedded developers can breathe a sigh of relief**. |
24 | 20 |
|
25 |
| -## Documentation |
| 21 | +### ⌨️ Auto-Complete (Experimental) |
| 22 | +We’re working on it! Early results are promising, but for now, **we don’t recommend using it yet**. Stay tuned! |
26 | 23 |
|
27 |
| -The full documentation can be found [here](https://dani007200964.github.io/Commander-API/html/index.html). |
| 24 | +### 🔌 Abstraction Layers |
| 25 | +As the project grew, we realized it was time to **increase abstraction** for better integration into complex systems. That’s why we introduced the **CommandCaller interface**, making it easier to integrate Commander-API into larger projects. |
28 | 26 |
|
29 |
| -## Donation |
30 |
| -If this project help you reduce time to develop, you can give me a cup of coffee :coffee: :coffee: :coffee: |
| 27 | +### 📡 Pipe Module (Almost Ready!) |
| 28 | +We’re finalizing a **refactored version** of the Pipe module, which should be **more stable, easier to configure, and more flexible** than before. We just need a bit more time to document it—stay tuned for updates! |
31 | 29 |
|
32 |
| -[](https://www.paypal.com/donate?hosted_button_id=YFGZD78H6K2CS) |
| 30 | +### 📖 Better Documentation |
| 31 | +We finally invested the time to create **a user-friendly, well-organized, and example-rich documentation**. It’s available as part of the **Shellminator documentation**, so check it out! |
33 | 32 |
|
34 |
| -## License & copyright |
35 |
| -© Daniel Hajnal |
| 33 | +### ❌ Removal of Built-in Commands |
| 34 | +We had to say goodbye to built-in system commands. 😢 The reason? It was nearly impossible to create a **one-size-fits-all** solution for every microcontroller. The implementation became messy, and it wasn’t fun to look at. **The good news:** We have a new approach in mind, and we’re actively working on a solution! |
| 35 | + |
| 36 | +# 📚 Documentation |
| 37 | + |
| 38 | +Commander-API has its own [technical documentation](https://www.commanderapi.org/html/index.html), but **most of the examples are found in the Shellminator documentation**. The Commander-specific docs are for those who want to **dive deep** into how it works under the hood. If you’re impatient, you might even find some **spoilers** about upcoming features! |
| 39 | + |
| 40 | +# 🤝 Feedback and Contributions |
| 41 | + |
| 42 | +We've poured **a lot of time and effort** into making this project **stable and easy to use**, but no software is perfect. Bugs happen. Features can improve. And that’s where you come in! |
| 43 | + |
| 44 | +If you have **feature suggestions, bug reports, or ideas for enhancements**, we’d love to hear from you. Your feedback makes Commander-API better for everyone! |
| 45 | + |
| 46 | +**Ways to contribute:** |
| 47 | +- 🐛 [Submit an issue](https://github.com/dani007200964/Commander-API/issues/new?template=bug_report.md) |
| 48 | +- 💬 [Join discussions](https://github.com/dani007200964/Commander-API/discussions) |
| 49 | +- 🛠 [Share your use cases](https://github.com/dani007200964/Commander-API/discussions/categories/show-and-tell) |
| 50 | + |
| 51 | +Every contribution, big or small, helps us grow! |
36 | 52 |
|
37 |
| - |
| 53 | +# ❤️ Support |
38 | 54 |
|
39 |
| -Licensed under the MIT License |
| 55 | +If this project has been helpful to you and you’d like to **buy us a coffee**, we’d really appreciate it! ☕ Every little bit helps keep this small team motivated. |
| 56 | +[](https://ko-fi.com/danielhajnal) |
| 57 | + |
| 58 | +# 🗨️ Contact |
| 59 | + |
| 60 | +Have a question? Need help? Just want to say hi? |
| 61 | +- 🗨️ [Join the discussions](https://github.com/dani007200964/Commander-API/discussions) |
| 62 | +- 🎧 [Find us on Discord](https://github.com/dani007200964/Commander-API/discussions) |
| 63 | + |
| 64 | +We’d love to hear from you! 🚀 |
| 65 | + |
| 66 | +# 📃 License |
| 67 | + |
| 68 | +Commander-API is licensed under the **MIT License**. |
| 69 | + |
| 70 | +© Daniel Hajnal |
40 | 71 |
|
41 |
| - |
| 72 | + |
0 commit comments