Giter VIP home page Giter VIP logo

stm32_ide's Introduction

WinFormsApp_ide

STM32 IDE built-in with C#

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

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.

(back to top)

Key Features

  • Customized STM32 Development Environment: Tailored specifically for STM32 projects, offering specialized tools and features for these microcontrollers such as Directory Tree. Tree View Feature in WinFormsApp IDE

  • Real-Time Serial Port Management: Efficient communication with STM32 devices, including automatic detection and management of serial connections. Tree View Feature in WinFormsApp IDE

  • 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. Tree View Feature in WinFormsApp IDE

  • Integrated Programming Tools: Streamlined tools for building and debugging STM32 applications directly within the IDE, simplifying the development workflow. Tree View Feature in WinFormsApp IDE

Built With

In this project, I have used some C# libraries. These libraries can be added by using Nuget Package installer.

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.

(back to top)

Getting Started

Prerequisites

  • Windows Operating System
  • .NET 6.0 or later
  • Required libraries: ScintillaNET, CliWrap, etc.
  • ST-LINK drivers for STM32 microcontroller programming

Installation

  1. Clone the repository: git clone https://github.com/AlirezaBeigiMech/STM32_IDE/
  2. Navigate to the cloned directory.
  3. Open the solution file in Visual Studio.
  4. Restore NuGet packages and build the solution.
  5. Run the application from Visual Studio or build an executable.

(back to top)

Usage

  • 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.

Roadmap

  • 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

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Your Name - [email protected], [email protected]

Project Link: AlirezaBeigiMech/STM32_IDE

(back to top)

stm32_ide's People

Contributors

alirezabeigimech avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.