Arduino-Proffieboard Plugin v3.6 beta

Changes compared to the 2.2 plugin:

  • Proffieboard V3 suport
  • 16k more FLASH for V1/V2 boards
  • 8k more RAM for V1/V2 boards
  • Minor bugfixes

For now you need the beta package manger URL to install it:

https://profezzorn.github.io/arduino-proffieboard/package_proffieboard_beta_index.json

EDIT: BETA testing is over, no need to use the URL specified here anymore, just go find the normal arduino-proffieboard install instructions and follow those.

3 Likes

Is this only for the testers or can anyone upgrade and get the bug fixes?

Anybody can use the 3.0 plugin.
Just beware that while there are some bugfixes, they may also be new bugs, that’s why it’s in beta.

Roger that

Has anyone found it taking a long time for the Boards Manager to show something after searching “proffie” ? with the beta plugin URL set in preferences? I’m still blank after a long while here.

Try it now?
(May need to wipe out some files in your arduino15 folder if Arduino doesn’t notice any difference.)

Yup. Works fine now. No file wiping needed. Thanks.

@profezzorn Just another FYI Arduino messages area is giving me this after installation. I have not tried any compiling yet, so it might be benign, not sure though.

Skipping contributed index file /Users/bconner/Library/Arduino15/package_proffieboard_beta_index.json, parsing error occured:
com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('{' (code 123)): was expecting comma to separate Array entries
 at [Source: (FileInputStream); line: 283, column: 14]
 at [Source: (FileInputStream); line: 282, column: 39] (through reference chain: cc.arduino.contributions.packages.ContributionsIndex["packages"]->java.util.ArrayList[0]->cc.arduino.contributions.packages.ContributedPackage["platforms"]->java.util.ArrayList[11]->cc.arduino.contributions.packages.ContributedPlatform["boards"])
Skipping contributed index file /Users/bconner/Library/Arduino15/package_proffieboard_beta_index.json, parsing error occured:
com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('{' (code 123)): was expecting comma to separate Array entries
 at [Source: (FileInputStream); line: 283, column: 14]
 at [Source: (FileInputStream); line: 282, column: 39] (through reference chain: cc.arduino.contributions.packages.ContributionsIndex["packages"]->java.util.ArrayList[0]->cc.arduino.contributions.packages.ContributedPackage["platforms"]->java.util.ArrayList[11]->cc.arduino.contributions.packages.ContributedPlatform["boards"])

That’s what I was fixing yesterday.
You might still need to delete those files in your arduino15 (and any similar files in the arduino15/cache directory)

Ok. Now this:

Arduino: 1.8.13 (Mac OS X), Board: "Proffieboard V3, Serial, SDCARD (SPI), 80 MHz, Smallest Code"

/Users/bconner/Library/Arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld:/Users/bconner/Library/Arduino15/packages/proffieboard/hardware/stm32l4/3.0.0/variants/STM32L452RE-ProffieboardV3/linker_scripts/STM32L452RE_FLASH.ld:224: warning: memory region `SRAM2' not declared
/Users/bconner/Library/Arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: cannot find -lstm32l452
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Proffieboard V3.

Will check it out shortly.

Ok, it should compile now.
It still does the SRAM2 warning, but I think it works.
The version is 3.1 now.

Confirmed, good now.
woohoo! A usual compile for a V2 board at 99% now only 48%. Sweet.

3 Likes

Well, this is why I was so nervous about doing the upgrades in Arduino…I initially upgraded to 1.8.15. I have to program Teensyboards for MiComs. TeensyDuino plugin not yet supported on 1.8.15, so I had to revert to 1.8.13! I have typed in the Proffieboard beta address so many times to add the 3.3 plugin, that I have it memorized. End of story: I think my computer is set up ready to zap the new Proffieboard. I have the saber mostly installed. I’ll work on the initial config and flash the board tomorrow night, and finalize the install on Monday night live. I’m excited to get going, but Brian’s post in the beta thread had me a little nervous.

Fredrik, I’m hoping I can still program Proffie 1.5’s and Proffie 2.2’s on the beta version of the plugin. Is it stable for those boards or is the new plugin totally in beta?

1 Like

The changes for V1/V2 boards are mostly incidental. There could be problems, but it’s not expected.

1 Like

Don’t be nervous, nothing blows up because of software and it’s always revertible…you know that.
I physically wired stuff possibly wonky and just undid it to be safe.
The plug-in stuff is just part of beta. It’s good I found some stuff, and it got fixed amazingly quickly I must add.

1 Like

@profezzorn Is it possible Optimize: fast and fastest are reversed?
Results are:
Smallest Code = 57%
fast = 98%
faster = 92%
fastest = 90%

No. But those labels are a bit misleading.
“Fast” means that the we’ll use the -O0 flag when calling gcc, which means “don’t do any optimization at all”.
“Faster” means we’ll use the -O2 flag which means, “do lots of optimizations”.
“Fastests” means use -O3, which means more optimizations. (Although it should probably be -Ofast instead, which turns on all the optimizations.)
“Smallest code” uses the -Os flag, which is similar to -O2, but the goal of the optimizations is to make the code smaller instead of making the code faster.

So maybe the labels should be like “… for size”, “no”, “yes” and “more” :slight_smile:
gcc have a million flags we could play with to get other levels of optimizations as well.

Oh ok thanks that makes sense.
Yeah maybe the labels should be changed and reordered in resulting size, something like:
“more - fastest”
“some - faster”
“none - fast”
“smallest size”
…wait I have that wrong? No I think that’s right haha
And yes, -Ofast sounds like a good plan

I know that size is important, but it’s not really how these flags work.
For a better description maybe read the actual documentation:
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html