Jump to content
techdesk

Seeking Collaboration: Creating a Delphi Component for STM32 Boards

Recommended Posts

Dear Delphi Community,

I'm reaching out to tap into the expertise and passion of this community as I embark on an exciting project.

As you may have noticed, the STM32 microcontroller series by STMicroelectronics has been generating a lot of buzz globally. These powerful chips, found in popular boards like NUCLEO, DISCOVERY, and BLUE-PILL, are revolutionizing embedded systems development.

To simplify the process of interfacing with these boards using Delphi (via RAD Studio), I am keen to develop a free, user-friendly Delphi component. This component would offer seamless integration with STM32Cube IDE commands and parameters, making it effortless for hobbyists and developers in the mechatronics field to interact with these boards.

Here's what I envision for the component:

  1. Easy Integration: A "drop into form" component that allows users to effortlessly incorporate STM32 board functionality into their Delphi projects.

  2. Board Selection: A user-friendly interface featuring a drop-down menu listing popular boards like NUCLEO, DISCOVERY, and BLUE-PILL.

  3. USB Connectivity: Seamless integration with the USB port for communication with the STM32 boards.

  4. Configurability: Comprehensive settings options to configure parameters such as baud rates, data bits, and more.

  5. Command Execution: Once configured, users should be able to execute read and write operations with ease, leveraging familiar STM32Cube IDE commands and parameters.

I believe such a component would greatly benefit the Delphi community, offering a streamlined solution for working with STM32 boards without the complexity often associated with other development environments.

While I have a vision for this component, I recognize that collaboration and expertise from fellow enthusiasts like you would be invaluable in bringing it to fruition. Whether you're a seasoned Delphi developer, an STM32 aficionado, or simply someone eager to contribute to an exciting project, I welcome your input and assistance.

Share this post


Link to post

It seems to me you are attempting to reinvent the wheel. The criterias you listed are basically equal to an IDE... and why do you want to write an IDE as a Delphi component if there is an official one already?

 

Afaik interaction with microcontrollers are still through serial ports (whether native or over USB) and there are even free components for Delphi to talk to a COM port. If you are sure you want to go through with this, I'd start there.

  • Like 1

Share this post


Link to post

It seems there might be a slight misconception here. The STM32Cube IDE indeed provides a comprehensive platform for programming the STM32 chip, but it's worth noting that it's primarily designed for embedded development, focusing on configuring and managing STM32-based projects rather than standalone application development.

Delphi, on the other hand, offers a distinct advantage in its versatility. With Delphi, you have the freedom to write custom code tailored to your specific needs, allowing for a wide range of applications beyond traditional embedded systems. For instance, you could leverage Delphi to craft your own ground station software, complete with specialized commands catered to drones equipped with STM32 chipsets.

The beauty of Delphi lies in its flexibility and extensibility. As a Delphi programmer, you have the power to create bespoke solutions that go beyond the confines of pre-built platforms. Whether you're developing commercial software or tinkering with personal projects, the ability to harness the full potential of the STM32 chip within the Delphi environment opens up a world of possibilities.

And let's not forget the appeal of "free" Delphi components. For Delphi enthusiasts, the availability of free components is a boon, offering valuable resources and tools to enhance their development workflow without breaking the bank. While some may express reservations, it's essential to recognize that the spirit of collaboration and innovation within the Delphi community ultimately drives progress and empowers developers to achieve remarkable feats.

In essence, Delphi empowers you to push the boundaries of what's possible with the STM32 chip, unleashing your creativity and ingenuity to create groundbreaking solutions that defy expectations. So, let's embrace the boundless potential of Delphi and embark on a journey of discovery and innovation together.

 

Share this post


Link to post

Is it just me, or do the posts by techdesk seem to be written by an AI?  I've never seen a developer write such prose.  Lots of words, but says very little. 

 

Angus

  • Haha 1

Share this post


Link to post

Yes I do use AI to spruce up my docs. I believe that if technology exists, use it! Saves me a lot of time 😃

  • Like 1

Share this post


Link to post
2 hours ago, techdesk said:

with specialized commands catered to drones equipped with STM32 chipsets.

Like... through a COM port.

 

2 hours ago, techdesk said:

In essence, Delphi empowers you to push the boundaries of what's possible with the STM32 chip, unleashing your creativity and ingenuity to create groundbreaking solutions that defy expectations.

With an IDE within an IDE? I'm still not convinced.

Share this post


Link to post

I dont understand your post. How does "creating a simple to use VCL component for Delphi"  relate to an IDE within an IDE.
" Quote- "Silence is the shield of fools"..

Share this post


Link to post
10 minutes ago, techdesk said:

I dont understand your post. How does "creating a simple to use VCL component for Delphi"  relate to an IDE within an IDE.
" Quote- "Silence is the shield of fools"..

I had numerous requests from Delphi programmers for a custom designed ground station for a custom flight controller and  some other robotic equipment using custom STM32 chips which could be directly written in Delphi. Although there are OpenSource modules of ground stations, but these module are usually packed in C++ requiring a ton of build and make with a crowd of scattered files. And they are not compatible with Delphi programming.

Share this post


Link to post

I am in the sarcastic/ironic corner today, so ... Is there no AI willing or able to rewrite the C++ code in Delphi?

Share this post


Link to post
1 hour ago, techdesk said:

I dont understand your post. How does "creating a simple to use VCL component for Delphi"  relate to an IDE within an IDE.
" Quote- "Silence is the shield of fools"..

From this:

20 hours ago, techdesk said:

A "drop into form" component that allows users to effortlessly incorporate STM32 board functionality into their Delphi projects.

[...]

A user-friendly interface featuring a drop-down menu listing popular boards like NUCLEO, DISCOVERY, and BLUE-PILL.

[...]

Once configured, users should be able to execute read and write operations with ease, leveraging familiar STM32Cube IDE commands and parameters.

It probable that AI didn't exactly say what you wanted to, but reading what you wrote tells me you want an IDE within an IDE as component and that makes no sense to me.

Share this post


Link to post
3 hours ago, techdesk said:

Yes I do use AI to spruce up my docs. I believe that if technology exists, use it! Saves me a lot of time 😃

Welcome to my /ignore list. Bye

Share this post


Link to post

Is this forum an interrogation platform or a Delphi help desk system- supposedly!
I believe that if boredom has the upper hand then search other platforms to vent that "urge".
For someone to conclude that I am wanting to create an IDE within an IDE is the height of .......!
Simple exercise for you:
Make a standalone program with a Form, Button and Memo with STM32CUBE IDE.
🙈

Share this post


Link to post

So you use a program to even write the question for you and when we don’t get what you wanted at the first place you get frustrated; am I getting this right?

 

Don’t forget that this forum is to discuss, share and help one another; not to do what you don’t/can’t even state clearly.

 

I wish the best of luck with your project. I spent way too much time figuring out what you want.

Share this post


Link to post
6 hours ago, Lars Fosdal said:

Is there no AI willing or able to rewrite the C++ code in Delphi

Or build the desired applications using C++ Builder?

Share this post


Link to post
12 hours ago, techdesk said:

Delphi help desk system

This is NOT a help desk system. Delphi-PraXiS operates independantly from EMBT and the PEOPLE here are are professional software developers and hobbyists.

This is a place that exists for users of Delphi to discuss the challenges they have when developing in the language.

 

Any discussion needs clearly stated and accurate facts about the challenge at hand, for people to be able to contribute with suggestions for a solution. Lack of such detailed facts, will lead to requests for more facts, and AI generated bulldroppings are generally not considered to be facts.
 

12 hours ago, techdesk said:

Make a standalone program with a Form, Button and Memo with STM32CUBE IDE.

We still have no clue to what this actually does or how it is supposed to work. We are not mind readers.

  • Draw a mockup of how you imagine this to look  
  • Describe the functionality in detail 
  • What that Button does
  • What is shown or entered in the Memo

Just dropping a product name does not enlighten us at all.  We've likely never used the product and have no clue what it does or how it is supposed to work.

  • Like 2

Share this post


Link to post

STM32 seems to be an ARM based microcontroller, which is not a supported platform for Delphi. So no Delphi applications will run on it. 

 

The STM32 should be running an OS of some sort, probably several available, which may run an IP stack to support Ethernet or Bluetooth, in which case numerous Delphi components can be used to communicate with it remotely from Windows or other supported Delphi platforms.

 

Angus

 

Share this post


Link to post

I am sorry. But it seems that either I cannot explain properly or there are not experts on this forum to understand exactly what I am requiring.
Let me educate those that need to understand the basics.
The world of computing is divided into two: Soft programming and Hard programming.
Soft programming is what you do with normal program languages to access the internals of a computer to compute within itself to distribute the results to attached peripherals such as screens, printers etc. These peripherals are at your mercy. They execute your program.
Hard programming is when you need to interface with independent  robots. You run your language of choice and the the robots run their own software, their own language etc.  The robot tells you that should you  need to interface with him then you need to use his protocols and language. Like it is just fair that the Chinese ask you to speak Chinese for communication, we cannot force English down their throats. But it is quite in order for you to ask the Chinese for a translator.
All I am simply asking is that as a Delphi programmer, I need a translator to communicate with the "foreign" STM32 chip. My  analogy of the Englishman and Chinese is the same as asking why should a "Delphiman" be compelled to  learn "STM32 language"? If this explanation is not clear enough then please close this subject and I shall move on to other pastures.  


 

Share this post


Link to post
5 minutes ago, techdesk said:

The robot tells you that should you  need to interface with him then you need to use his protocols and language.

Then you want to write a transpiler in Delphi to translate Delphi code to "STM32 language" and back?

But what is "STM32 language" ?

 

Just found something where Pascal is mentioned (link: https://www.st.com/en/development-tools/stm32-ides.html):

Quote

STMicroelectronics' STM32 family of 32-bit ARM Cortex-M core-based microcontrollers is supported by a wide range of software integrated development environments (IDEs) with C, C++, Pascal and JAVA support and debuggers from STMicroelectronics and major 3rd-parties (free versions are available) that are complemented by tools from ST allowing to configure and initialize the MCU or monitor its behavior in run time.

And here (link https://smartsolutions4home.com/how-to-program-stm32/) states: "The only correct option here is C. Don’t bother with other creations."

Share this post


Link to post

STM32 can be configured with its own IDE (STM32CUBE IDE)
But when I write a program (any program for example in Delphi). It runs on my pc. Lets say I designed a game, nothing to do with STM32 devices.
In my Delphi game, I decide to communicate with an outside device which has a STM32 chip, then I need to know how to communicate with it. I cannot simply communicate with it using Delphi code. I need a "translator" between my code and STM32 code.

Share this post


Link to post

 

3 minutes ago, techdesk said:

STM32 can be configured with its own IDE (STM32CUBE IDE)
But when I write a program (any program for example in Delphi). It runs on my pc. Lets say I designed a game, nothing to do with STM32 devices.
In my Delphi game, I decide to communicate with an outside device which has a STM32 chip, then I need to know how to communicate with it. I cannot simply communicate with it using Delphi code. I need a "translator" between my code and STM32 code.

Communicate with STM32 device is one thing, program a STM32 device is TOTALLY another thing.

To program a STM32 (in IDE way) is like to construct a "Delphi Builder" for c language (I mean like Dev C++ that is made with Delphi) mixed with typical automation / building functions and so on.

 

Instead, to communicate with STM32 is simple. There are many options.

But I (we ?) don't understand what is your objective ?

 

I think you desire a environment like some "Automation Builder" and with that you want to program a STM32 device, but this is like construct an new IDE and not a simple communication.

 

Other solution is to have a "base" core support with API in STM32 and you construct you application around those API.

Share this post


Link to post
14 minutes ago, techdesk said:

I cannot simply communicate with it using Delphi code. I need a "translator" between my code and STM32 code.

What is "STM32 code"?

Delphi code is not a communication protocol (similar to a spoken language) but a programing language. With Delhi code or any programing language you can not communicate.

Share this post


Link to post

OK, before this discussion gets out of hand. Might I suggest @techdesk to start a project on Github, SourceForge or any other collaboration site, and then present it here? Anyone interested will surely join you.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×