Board Manager again

Development environment specific, Arduino, Eclipse, VS2013,Em::Blocks etc
Post Reply
User avatar
ddrown
Posts: 136
Joined: Sat Jan 09, 2016 4:49 am

Board Manager again

Post by ddrown » Sat Jan 09, 2016 5:11 am

I created board manager packages for the stm32duino code: http://dan.drown.org/stm32duino/package ... index.json

If you want to use it, put that URL in File->Preferences->Additional Boards Manager URLs. And then under Tools->Board->Boards Manager, find the stm32f* entry you need and hit the install button on it.

I'm interested in feedback and any criticism.

Edit: updated for 2016.9.20 release
Last edited by ddrown on Wed Sep 21, 2016 2:36 am, edited 2 times in total.

User avatar
mrburnette
Posts: 1829
Joined: Mon Apr 27, 2015 12:50 pm
Location: Greater Atlanta
Contact:

Re: Board Manager again

Post by mrburnette » Sat Jan 09, 2016 2:29 pm

I surely will not critize, your effort and sharing is appreciated.

But the issues were never technical construction of the XML but rather the continued maintenance of the XML document with every core change. Then there is the 3 platforms that STM32duino core supports: Windows, iOS, and Linux so the forum would need to be prepared to have experts in those OS's identified as the validators/go-to members for difficulties.

We do not have a strict SDLC here; changes are via github pull request and those changes soak in the "development" branch, At some point, Rogers mergers the code into "master". Therefore 2 XML docs are required to manage automation.

But there gave been no volunteers. And, you are not volunteering, so I really do not see the value provided here when a ZIP download of STM32duino can be expanded into /Arduino/hardware.

One very positive thing I see is you have identified the changes in the core structure to support 1.6.7 and that is significant, IMO.

Kind regards and welcome to the forum,

Ray

RonC
Posts: 12
Joined: Mon Sep 21, 2015 7:32 pm

Re: Board Manager again

Post by RonC » Sat Jan 09, 2016 10:45 pm

I surely will not critize, your effort and sharing is appreciated.
While I understand the resource issue to get such things done, a passive-aggressive post saying to the effect, "I'm not going to criticize you but everything you've done is a waste of time" isn't likely to motivate the participation I'm sure we'd all like to see. I, for one, have some contributions I've held off releasing here for exactly this reason.

You clearly have a significant amount of time to post on this forum and you certainly don't hold back on letting posters know what they've done wrong. To be frank though, it doesn't seem very productive. At the same time you clearly have a lot of knowledge and seem to be very invested in STM32Duino and want to see it successful therefore I hope you can agree that it might draw more flies by encouraging such efforts and not focusing on finding fault so much. I don't know if you own the forum (seems like perhaps you do). If so, you can do whatever you wish I guess.

Fact is, the new board manager stuff will need to be dealt with eventually if STM32Duino is to get a broader base of users - regardless of the resource issue. For instance, the Eclipse folks have an official arduino plug-in that's pretty clean and it's supported. However, it doesn't work with STM32Duino because it uses the board manager JSON architecture to install board support.

I, for one, find the work ddrown has done to a useful start that I can leverage and expand upon so I can make the Eclipse plug-in work. Perhaps with several folks making some incremental effort and having that effort contributed back to the group, it can eventually reach a point were it's mostly complete and someone will step forward to provide longer-term maintenance. Of course if all the partial contributions get stamped out before they get started we'll never know.....

User avatar
primateio
Posts: 61
Joined: Sun Sep 20, 2015 11:17 pm
Location: Midland, Tx
Contact:

Re: Board Manager again

Post by primateio » Sun Jan 10, 2016 1:36 am

ddrown wrote: This has my changes in it to work under the 1.6.7 IDE - https://github.com/ddrown/Arduino_STM32/commits/master (the important ones are "fix include paths and new ar arguments" and "set library categories")
I like how you just put this in passing, ha ha. I have stuck with 1.6.5 because teensy and esp8266 took some time to make the changes to work with 1.6.6/1.6.7, but they both seem to be working now. I keep holding off until I can get STM32duino on it as well. I tested your modifications and they work great on 1.6.7, the only issue is, it breaks in 1.6.5.

Code: Select all

arm-none-eabi-g++: error: C:\Users\JARETB~1\AppData\Local\Temp\build231274304196725352.tmp/core.a: No such file or directory
Error compiling.
Any idea how to make it compatible with both?

User avatar
RogerClark
Posts: 7160
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia
Contact:

Re: Board Manager again

Post by RogerClark » Sun Jan 10, 2016 9:44 am

@ddrown

Its good to know that the core does work with 1.6.6

I have looked at using the Boards Manager and created a test package that worked with 1.5.5 some time ago, but I just don't have time to create an automated build system for packages with some way to manage version numbers etc.

On average I think there is at least one change to the core per week, plus we have the Master (stable) and the Development (cutting edge) branches, both of which would need a package.

From what I recall, there were other issues with 1.6.6 and newer as its quite picky about the meta data for the libraries (though I did fix some of the issues with the libs).


Re: package for 1.6.5 and 1.6.6 (or newer)
I'm not sure its possible to have a version which works for both

Last time I looked at the ESP8266 fix it had a side effect of making the IDE rebuild every file every time you compile, which greatly increases the build time on 2nd and subsequent builds, But perhaps they found a better workaround.

With Teensy, I thought Paul was now distributing his own customized version of the Arduino IDE, but I could be wrong.



I'm also starting to question the need to constantly get a new version of the IDE every month. I know some of the changes are bug fixes, but I generally now just use the IDE to build and upload, and I'm using an external editor as the IDE is not a good coding editor.
So I suspect most of the changes in 1.6.6 and 1.6.7 would not be noticeable to me.

zmemw16
Posts: 1449
Joined: Wed Jul 08, 2015 2:09 pm
Location: St Annes, Lancs,UK

Re: Board Manager again

Post by zmemw16 » Sun Jan 10, 2016 11:51 am

@Roger
I generally now just use the IDE to build and upload, and I'm using an external editor as the IDE is not a good coding editor.
would you please expand on that? i'm rather curious about how you do that.

re the xml aspect, a major version jump would have been better, 1.7.0 for example
along with a big 'this breaks things, but it is the way we'd like to go' message.
ps 1.6.5r5 is the last revision, bar security fixes :D

stephen

User avatar
mrburnette
Posts: 1829
Joined: Mon Apr 27, 2015 12:50 pm
Location: Greater Atlanta
Contact:

Re: Board Manager again

Post by mrburnette » Sun Jan 10, 2016 4:16 pm

RonC wrote:
I surely will not critize, your effort and sharing is appreciated.
While I understand the resource issue to get such things done, a passive-aggressive post saying to the effect, "I'm not going to criticize you but everything you've done is a waste of time" isn't likely to motivate the participation I'm sure we'd all like to see. I, for one, have some contributions I've held off releasing here for exactly this reason.

You clearly have a significant amount of time to post on this forum and you certainly don't hold back on letting posters know what they've done wrong. To be frank though, it doesn't seem very productive.
<...>
"Passive-Aggressive" ... Have not heard that one since the daughter graduated and moved on to her new life.

I've lived long enough to realize that ever good thing often has a negative consequence. All forums are little pockets made up by real people. Some people need to be positively stroked like an old house cat, other are totally independent, and others roles develop over time.
- This is not my forum; I do not pay the bills
- An initial goal of the forum was to offer a 32-bit experience to Arduino users who were approaching the ceiling (speed, SRAM, flash) of 8-bit Arduino all at a significant lower expenditure than Due.
- As an early adopter, I came over from Arduino.cc when this forum opened.
- To my knowledge, "growing the forum" has never been something the forum owner indicated as a priority. Rather, growing the forum has some negative implications on increasing hosting costs and on moderation needs. Currently, Roger Clark is managing all operations, wearing all hats, and paying the bills.

So, to put my "passive-agressive" nature into prospective, I am standing on Speakers' Corner and debating the Yin & Yang of Board Manager and simply suggesting that having the capability to install through the XML is not (may not be) in the best interest of the forum unless that offer carries full-support for the evolution, testing, and deployment of same.

Anyone here interested in volunteering to take on that effort ... seems much of the work has been done: how hard could the future maintenance be?

For all members here:
We have an obligation to remember that we have this forum currently as a free venue - but that could change in the future. We need to police ourselves as there is currently only one sheriff in town and he wears multiple hats... the forum is not #1 on his list of priorities. Evolution of STM32duino doesnot necessarily suggest that Board Manager is immediately necessary to implement.

Ray

User avatar
mrburnette
Posts: 1829
Joined: Mon Apr 27, 2015 12:50 pm
Location: Greater Atlanta
Contact:

FYI ArduinoIDE 1.7.8 from Arduino.org

Post by mrburnette » Sun Jan 10, 2016 7:59 pm

- Standard unZIP of STM32duino from mid-December Master github
- Standard installation in /Arduino/hardware/STM32
- Test platform Windows 8.1 fully patched, 4G ram


Summary: compiled successfully a variety of examples, personal sketches, and forum posts totaling over 20 examples which included SPI and I2C libraries.

More here

Ray

User avatar
ddrown
Posts: 136
Joined: Sat Jan 09, 2016 4:49 am

Re: Board Manager again

Post by ddrown » Sun Jan 10, 2016 11:44 pm

Ok, this posting generated a lot more activity then I was expecting. Thank you to everyone that is helping with the testing.

To make creating packages easier, I wrote a program to do it: https://github.com/ddrown/Arduino_STM32 ... er/package

It pushes packages to a "testing" url: http://dan.drown.org/arduino/testing/pa ... index.json

If everything checks out, then this program can be run to promote it from the testing to the normal URL: https://github.com/ddrown/Arduino_STM32 ... te-version

I've tested it on Windows 10 and Fedora 22. In Fedora, I had to install the 32 bit compatibility libraries (glibc.i686 and libusbx.i686). I do not have a MacOSX system handy to test it on, so it'd be nice if someone could test that.

Here's what changed in the versions so far:

1.0.1 - include the Arduino's arm gcc in the install, include the git submodule projects
1.0.2 - experiment with automated package generation, correct the tools paths
1.0.3 - generate separate tools packages per OS, and use .tar.gz for the Linux/MacOSX tools packages to preserve permissions
1.0.4 - fix the MacOSX package

I could also create packages for the development branch on a different url, right now it's just the master branch.

User avatar
RogerClark
Posts: 7160
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia
Contact:

Re: Board Manager again

Post by RogerClark » Mon Jan 11, 2016 12:59 am

@ddrown

I will read the links when I get time (sorry very busy with work at the moment)

Re:zmemw16

There is a preference setting called Use External Editor, when you tick it, all the code windows turn grey and you can no longer edit them.
If you change a file externally, and save it, then go back into the IDE, it updates what you see.
I don't think it does anything else.

So I just open the .ino file in Notepad++ and set the language to C++ and use that as my editor.

There may be better programming editors out there, but Notepad++ has c++ highlighting (albeit not the IDE built in commands or objects like Serial) (but there may be a plugin to do this)

There are probably better coding editors available.

I still do some development work using Adobe's ActionScript 3, and there is an excellent external editor called FlashDevelop, which has loads of really good features, like code completion and easy ways to find function definitions etc etc etc that I also have grown used to using on MS Visual Studio.

I guess I could probably use MS Visual studio as an external editor and get some of those functions, but I don't want the massive bloat that installing VS would cause

Post Reply