Update SODAQ SFF Board files

PlatformIO supports the SODAQ SFF Board series. However, the provided package is severely outdated and the manufacturer provides current ArduinoCore-samd via Github (Commits · SodaqMoja/SodaqCore-samd · GitHub). What are the appropriate steps to update the PlatformIO package for that board?

Alternatively: Can I bypass PlatformIO’s integrated board configuration and supply a local clone of the board files to my PlatformIO project?

Indeed, per

the used version is 1.6.20 from 4 Jun 2019 per Tags · SodaqMoja/SodaqCore-samd · GitHub, while the newest one is… uhm…

grafik

either 1.8.6-sodaq or 1.8.11… no idea what their versioning scheme here is.

As described in How will the Sodaq Core be updated?.

In general, the procedure is to first request an update of the package (framework-arduino-samd-sodaq here) in the appropriate platform – that is Issues · platformio/platform-atmelsam · GitHub here.

If that is not quick enough, you can either:

  • locally replace the framework files in C:\Users\<user>\.platformio\packages\framework-arduino-samd-sodaq with the latest version
  • use a platform_packages expression to point to a new source for the framework-arduino-samd-sodaq, e.g. a github forked repository with a package.json in it), e.g. with a platformio.ini of
[env:sodaq_one]
platform = atmelsam
board = sodaq_one
framework = arduino
platform_packages = 
    framework-arduino-samd-sodaq@https://github.com/maxgerhardt/SodaqCore-samd.git#v1.8.6-sodaq

you get the 1.8.6-sodaq Arduino core version that I have forked (simple fork + package.json add)

The JSON board configuration files can be supplied via a project-local folder boards as per documentation and documentation.

In most cases that is however unnecessary since the manifest can be changed on the fly in the platformio.ini. If you are e.g. working with board = sodaq_one, then that uses sodaq_one.json, and if you don’t like a value in that, it can be overwritten, so e.g.

board_build.core = arduino
board_build.variant = arduino_zero 

would remap the build information to use the ArduinoCore-SAMD with the arduino_zero variant (which might not make a lot of sense of course, just for illustration purposes).

Thanks @maxgerhardt - also for directing me to your fork. (Currently I am running a hand-patched version of the SODAQ-Core in \framework-arduino-samd-sodaq but that is getting cumbersome …).

I’ve created a GH issue as you proposed https://github.com/platformio/platform-atmelsam/issues/156

However, it seems there is an older issue with the same request, but despite the closing comment it seems that it has not been effectively resolved:

https://github.com/platformio/platform-atmelsam/issues/93