-
How many ifdefs are you talking about?
The whole diff is here https://github.com/fanoush/ds-d6/blob/master/espruino/SDK11.diff most of it is in makefiles. bluetooth used call from API 3 without check and in jshardware.c there are couple of ifdefs and macros that differ.
I'm fed up having the repo full of Nordic SDK libraries so I plan to move towards putting the newer SDKs in https://github.com/espruino/EspruinoBuildTools
Sounds good :-)
Nordic have told me in the past that SDK11 does have some bugs
sdk is bunch of sources so they can be fixed if they documented it (unless it is inside softdevice, for that there is 2.0.1 with some bugfixes), so far it works just fine
Can you think of any good reasons to support it
well there is a bit more ram and flash free so if no advanced BLE feature is needed the rest works the same
your use-case of wanting to use an older device without having to spend an extra 5 minutes of DFU time as well?
as there is no reset button and the update of bootloader and soft device is quite invasive there is risk of 'bricking' it, so far I did not succeeded to produce working DFU update package. Your version of bootloader hangs for me now after DFU update (possibly happily jumping to missing application?) I am working on bootloader that would work when upgraded from old one. Your Espruino bootloader works fine when flashing as part of whole hex via SWD but not when used as part of DFU package for old bootloader.
So it is not just extra 5 minutes but also building working bootloader possibly with oled support and dual BLE/serial DFU like the old one. Also I am not that happy with signing everything with espruino key (which can get lost after years), current old bootloader accepts everything.
Unfortunately Nordic stopped supporting nRF51 after SDK12 so I'm always going to have to keep builds for that going as long as I support nRF51, but the plan is eventually to support SDK15 as well.
Having said that I'm fed up having the repo full of Nordic SDK libraries so I plan to move towards putting the newer SDKs in https://github.com/espruino/EspruinoBuildTools and using the provision script to pull them in and apply patches as we do for ESP8266/32 - so really if there was SDK11 support I'd want to do it that way.
How many ifdefs are you talking about? Nordic have told me in the past that SDK11 does have some bugs, and from my point of view there doesn't seem to be a great reason to support it if doing so is going to cause me any future headaches at all.
Can you think of any good reasons to support it other than your use-case of wanting to use an older device without having to spend an extra 5 minutes of DFU time as well?