Table of Contents
WinFormsApp IDE is a powerful Integrated Development Environment designed specifically for STM32 microcontroller development. Built using C# and incorporating ScintillaNET for advanced text editing features, this IDE offers an intuitive and efficient platform for coding, debugging, and managing STM32 projects. Key features include serial port management, automatic device detection, syntax highlighting, and easy project navigation.
Here's why:
- Optimized for STM32: Unlike generic IDEs, WinFormsApp IDE is tailored specifically for STM32 development, offering features and functionalities that align with the needs of STM32 programmers.
- Advanced Serial Port Management: Thanks to System.IO.Ports, our IDE offers sophisticated tools for managing serial communications, crucial for microcontroller programming and data transfer.
- Real-Time Device Management: Utilizing System.Management, the IDE provides real-time monitoring and management of connected STM32 devices, enhancing the development workflow.
- Customized User Experience: Built with user experience in mind, the IDE boasts a customizable interface, syntax highlighting, and other features that make coding more intuitive and less prone to errors.
- Streamlined Workflow: With integrated tools for editing, compiling, and debugging, developers can manage their entire STM32 project lifecycle within a single environment.
- Community and Open Source Spirit: Being open-source, itβs continuously evolving with contributions from a community passionate about STM32 development.
-
Customized STM32 Development Environment: Tailored specifically for STM32 projects, offering specialized tools and features for these microcontrollers such as Directory Tree.
-
Real-Time Serial Port Management: Efficient communication with STM32 devices, including automatic detection and management of serial connections.
-
Advanced Code Editor Building the program: Integrating ScintillaNET for an enhanced coding experience with features like syntax highlighting, code folding, and auto-completion specifically tuned for C#. and control over connected STM32 devices, enhancing the development and debugging process.
-
Integrated Programming Tools: Streamlined tools for building and debugging STM32 applications directly within the IDE, simplifying the development workflow.
In this project, I have used some C# libraries. These libraries can be added by using Nuget Package installer.
- C# - Programming language
- .NET 6.0 - Framework
- CliWrap- Library for running command-line processes
- ScintillaNET - Text editor component
- System.Management - Namespace for handling events
- System.IO.Ports - Namespace for managing serial ports
Moreover, it is necessary to use some softwares for building and loading C embedded code.
- OpenOCD - On-chip programmer
- ST-Link CLI - Software interface for programming STM32 microcontrollers.
- Windows Operating System
- .NET 6.0 or later
- Required libraries: ScintillaNET, CliWrap, etc.
- ST-LINK drivers for STM32 microcontroller programming
- Clone the repository:
git clone https://github.com/AlirezaBeigiMech/STM32_IDE/
- Navigate to the cloned directory.
- Open the solution file in Visual Studio.
- Restore NuGet packages and build the solution.
- Run the application from Visual Studio or build an executable.
- Creating a New Project: Click on 'New Project' and select the project type suitable for STM32 development.
- Opening Existing Projects: Use the 'Open Project' option to load existing projects into the IDE.
- Editing Code: The ScintillaNET editor provides syntax highlighting and other text editing features.
- Compiling and Debugging: Integrated tools for compiling and debugging STM32 code.
- Serial Port Management: Automatically detect and manage serial ports for connected STM32 devices.
- Add directory tree for adding the file in code editor
- Add code editor
- Add multi-device Management port
- Add saving feature to save the change in *.c files
- Add Multi-tab feature
- Add Textbox to monitor the application
- Add connection to CLI to perform command
- Add responsive page
- Add load feature to program the microcontroller
- Add new file handling
- Add shortcut handling
- Add new directory tree
- Add auto-complete feature
- Modify tab features
- Remove star if change is remove
- Add close button
- Add autoscale Maximize and minimize
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Your Name - [email protected], [email protected]
Project Link: AlirezaBeigiMech/STM32_IDE