keyboardio / Chrysalis

Graphical configurator for Kaleidoscope-powered keyboards
https://github.com/keyboardio/Chrysalis#chrysalis
GNU General Public License v3.0
496 stars 64 forks source link

Add bossa firmware update #380

Closed mattvenn closed 2 years ago

mattvenn commented 5 years ago

Dygma Raise uses the SAMD21 chip from Atmel. The bootloader is based on the Arduino Zero, which uses bossa to upload new hex files.

Currently this is the line in the makefile that updates the firmware:

bossac -i -d --port=${DEVICE_PORT} -e -w ${BUILD_PATH}/${FIRMWARE}.bin -R

bossac will need to be packaged for windows, linux and mac.

Added complication: The SAMD21 doesn't have EEPROM, it does "emulated EEPROM". Which means that before flashing new firmware, the settings need to be read out of EEPROM and stored. Then after flashing the new firmware, restoring the settings.

mattvenn commented 5 years ago

found a pure javascript implementation of sam-ba here: https://github.com/synthetos/node-sam-ba/blob/master/sam_ba.js will test on the Raise

obra commented 5 years ago

(license for this is GPL3. @algernon - how does that play with the license regime for chrysalis?) ᐧ

On Tue, Jun 4, 2019 at 7:16 PM matt venn notifications@github.com wrote:

found a pure javascript implementation of sam-ba here: https://github.com/synthetos/node-sam-ba/blob/master/sam_ba.js will test on the Raise

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/keyboardio/Chrysalis/issues/380?email_source=notifications&email_token=AAALC2BAU6T5KDL24ONV6W3PYZFJHA5CNFSM4HJL3EA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW4HSIA#issuecomment-498628896, or mute the thread https://github.com/notifications/unsubscribe-auth/AAALC2H6P2FWJBOY2PTMTRDPYZFJHANCNFSM4HJL3EAQ .

algernon commented 5 years ago

chrysalis-api (and Chrysalis itself) is GPL-3-only, that plays nice with GPL3+, so as far as licensing is concerned, node-sam-ba is fine.

mattvenn commented 5 years ago

we are now testing a fix for this - will submit a PR once we're happy

algernon commented 2 years ago

We have recently removed Raise support from Chrysalis, so this issue is moot now. If/when we re-introduce support for the Raise (or any other keyboard that uses Bossa), we'll add the appropriate flasher too.