Micro Motor Community

Silverware Tools for macOS - new version!


I just released a new version of my Silverware Tools.


@chime13 I split the Programmer up into two separate tools. Does that work for you? :wink:


I’ll give it a test in a few hours, thanks for your hard work. :metal:


This is the greatest news of the week!
Im looking fw to testing it tonight at home!

Thank you so much @sier !
Do you think gcc will get an update soon?


There’s not much the gcc team can do about it.

My hope is, as ARM owns Keil, that they see an opportunity here and open source the optimized libraries.
Keil uses LLVM under the hood, so we should be able to replicate the toolchain on macOS.


Thank you @sier! Will check it out now - Awesome work!

You made it more flexible without sacrificing simplicity! Brilliant!


would it be hard/possible to implement something like this on windows?

I only do microcontroller programming, it’s why I’m asking. gcc + ocd + make can be used on windows too, but connecting it all…


Tested the 3 tools: work like a charm!
It’s crazy how simple it is compared to the whole keil, etc… process :slight_smile:

Thank you @sier!


@sier I have a problem…
Trying to modify src to use with the Dedicated Brushless Silverware fc with the NRF24 rx chip and I came across this error.

…/…/…/src/rx_nrf24_bayang_telemetry.c:400:5: error: variably modified ‘rxdata’ at file scope
int rxdata[17 + 2*crc];
cc1plus: warning: command line option ‘-std=gnu99’ is valid for C/ObjC but not for C++
make: *** [silverware.elf] Error 1

Any idea what I can do to remedy this?


Does that only happen in this toolset?


@silver13 I’m relying on things that are specific to macOS. It’s possible, but not exactly trivial, to port the code.

But I haven’t touched Windows in over 15 years. What do I know? :joy:


I just tried v0.3 and replaced src with my modified one and I get the same error so it must be something with the changes I made.


@sier I got a successful compile by removing the NRF24 define in the config.h file. It’s the only change I made that it doesn’t like and one I really need. The correct file for that radio protocol is in /src so I thought just adding the define would be enough. I wonder if the rx file is wrong, I’ll download a copy from Silvers repo and try.


More feedback.
I downloaded a new copy of Silvers Bwhoop firmware and only altered config.h to define the NRF protocol line 181. No other changes made and I got the same error about line 400 in /src/rx_nrf24_bayang_telemetry.c
This might be a GCC problem in that .c file @silver13 what do you think?
Anything else I can check or provide?


@sier - works here on High Sierra. Compiled existing sources without issues.

Full disclosure: Due to the fact that I want to explore Kalman filters and gcc has apparent issues,
I have been ultimately using keil to compile - The FlasherApp is fantastic, though.

Hopefully ARM will hear of your accomplishments on the mac side and cough up their optimized libraries for use with macs.

Thank you!


@silver13 Just a thought: Keil uses LLVM, macOS ships with LLVM. Could we setup a LLVM makefile and get rid of GCC altogether? It would make the download around 500MB smaller, and maybe it even fixes the looptime issues.


I’m not sure if it’s relevant but during installing the new version of the toolset I updated the xcode command line tools as a prompt came up after starting your installer.
There’s a good chance I’m the only person who has a Silverware fc running the NRF24 rx chip and using OSX so finding a fix will only benefit me. But I’ll be really grateful :smiley:


I’m a bit out of my depth with this LLVM, I thought the keil compiler is some proprietary thing. I’ll have a look into it, some bench shows the same size binary which implies same speed


must be that gcc dislikes the use of a constant there, replace crc with “1” in the file to compile


@silver13 problem solved, that was all it took. Just flashed the brushless board using the tool. BTW the range problem I was having was a bad antenna.
@sier this all works fine with that slight change.


I just released version 0.5.

@silver13 This release contains the flash viewer tool we talked about over on RCGroups. It shows the current PIDs in scientific notation, and also the acc calibration data.

@Chaotix The bug where PIDs tuned by gestures would be overriden by a flash should be fixed :+1: