Go Down

Topic: I developed my own IDE for Arduino. Time to share it! (Read 541 times) previous topic - next topic

StreamCast

After some months working on it, the result is very satisfactory. My objective at start was only to rise my computer and arduino programming skills, but in the progress, many ideas have come. It's my second great software for pc, and i decided to share it with the world. To know and download the plataform, acess website:

https://binquantum.wordpress.com/.

I'ts free, and i'm thinking about to create a community version (open source).

Please, gimme your opinions about it, and other ways to share my work with more peoples. Thank's, and enjoy!

pert



pert

Cool! One of the goals for arduino-cli was to make the creation/adaptation of 3rd party IDEs easier.

I'm not sure if you're aware, since it has not yet been documented other than in the code, but arduino-cli now has a gRPC interface in addition to the standard command line interface. This is intended to further facilitate its integration into applications. You can see an example written in Go here:
https://github.com/arduino/arduino-cli/blob/master/commands/daemon/client_test.go
You just have to run:
Code: [Select]
arduino-cli daemon
to start the gRPC server.

zwieblum


TriB

Looks great! Thank you for that :D
Autocompletation for unknown Libraries is a win! And it speedup programming for people, which are new to Arduino. Also it prevents you from dumb typos.

The icons look a bit oldschool. Anything else is amazing and I guess a lot of work :o
I´ll try it :)

PS: VS Code also supports Arduino CLI, but does not support more then a single tab. Choosing boards is not an easy task, also it has several other difficulties.

StreamCast

Cool! One of the goals for arduino-cli was to make the creation/adaptation of 3rd party IDEs easier.

I'm not sure if you're aware, since it has not yet been documented other than in the code, but arduino-cli now has a gRPC interface in addition to the standard command line interface. This is intended to further facilitate its integration into applications. You can see an example written in Go here:
https://github.com/arduino/arduino-cli/blob/master/commands/daemon/client_test.go
You just have to run:
Code: [Select]
arduino-cli daemon
to start the gRPC server.
Tks for your hint! I will check it.

StreamCast

Looks good. Is there a linux version?
Unfortunately not yet.  it's build with vb.Net, and C#. But i am studying the possibility to migrate for .Net Core, for a multi platform version.

StreamCast

Looks great! Thank you for that :D
Autocompletation for unknown Libraries is a win! And it speedup programming for people, which are new to Arduino. Also it prevents you from dumb typos.

The icons look a bit oldschool. Anything else is amazing and I guess a lot of work :o
I´ll try it :)

PS: VS Code also supports Arduino CLI, but does not support more then a single tab. Choosing boards is not an easy task, also it has several other difficulties.
Thank you very much! I tried to use VS Code, and i noticed the difficultires that you have mentioned. So I decided to develop an ide with similar features, but simpler to use. That's a fundamental feature of Arduino, at least for me.

Budvar10

Arduino clone with ATmega1284P   http://forum.arduino.cc/index.php?topic=277260.0

Adrianotiger

Olà StreamCast.

A nice work!
I like the folder structure and the intellisense.
The path to the different libraries is fantastic!

There are many unhalnded exceptions (for example when trying to import the libraries, or when trying to add a board to the favourites).

What I am missing is the possibility to add other boards (example ESP or ATtiny) and libraries directly from the IDE.

If you put it on GitHub, it would be a great project, since the development of Arduino IDE seems to be freezed.

pert

since the development of Arduino IDE seems to be freezed.
Clearly this is not so:
https://github.com/arduino/Arduino/commits/master
Actually a lot of development work is now being doing on arduino-cli:
https://github.com/arduino/arduino-cli
which actually counts as development on the Arduino IDE, since the Arduino IDE will soon be based on arduino-cli.

I think it's great for other options to be available. Certainly the Arduino IDE is not for everyone. However, let's avoid the FUD tactics.

StreamCast

Olà StreamCast.

A nice work!
I like the folder structure and the intellisense.
The path to the different libraries is fantastic!

There are many unhalnded exceptions (for example when trying to import the libraries, or when trying to add a board to the favourites).

What I am missing is the possibility to add other boards (example ESP or ATtiny) and libraries directly from the IDE.

If you put it on GitHub, it would be a great project, since the development of Arduino IDE seems to be freezed.

Olá Adriano Tiger. Thanks for your opinion. You're right, i have tested the favorite board option and an exception due a unauthorized acess occurs. Thanks for this! I will move the "favorite boards" file to "my documents" folder, and release a update. But the error about library import, i can't find it. Did you use "import" button on "Library Manager"? About add boards and libraries, i don't know how to do it. For now, i know how to add a specific board with CLI, but i don't know how to list available boards/libraries to download.


pert

i don't know how to list available boards/libraries to download.
For libraries, you can do:
Code: [Select]
arduino-cli lib search --format json
Unfortunately, the same doesn't work with arduino-cli core search. It requires a keyword argument. I submitted a feature request to make arduino-cli core search work the same as arduino-cli lib search:
https://github.com/arduino/arduino-cli/issues/354
I do notice that the PlatformSearch method of the gRPC interface does not require the search_args request field and when that field is omitted it will list all the boards in the official Arduino boards index file as well as those available from any 3rd party Boards Manager index files you specified in the boardManagerAdditionalUrls request field of the Init method.

Go Up