ahtn / keyplus

An easy to use, wired and wireless modular keyboard firmware
MIT License
246 stars 40 forks source link

Flashing firmware 0.3.2 stuck at empty settings #71

Closed BillyBuerger closed 6 years ago

BillyBuerger commented 6 years ago

I flashed the latest firmware 0.3.2 on my Keyplus Rev03 and it appears to flash fine but the info states "Warning: Empty settings!" Every time I've flashed the firmware I end up with a device ID set to 255. So I go to Device and RF, pick a layout file and set Device id to 0 and generate a new RF settings, then program. This time I get an error "'encoding' is an invalid keyword argument for this function". I am able to flash back to firmware 0.3.1 without any issues and get it back working again.

keyplus0 3 2firmwareerror

emilytrau commented 6 years ago

The device settings resetting every time you flash is an unfortunate side effect of keyplus storing its settings in the flash section of the xmega instead of eeprom.

The 'encoding' is an invalid keyword argument for this function error is likely because Python 2 (which the Windows version of the flasher is built with) version of open() doesn't support the encoding argument introduced in this commit. It should be an easy fix.

emilytrau commented 6 years ago

Try using this build. This is built with my changes in the PR above.

BillyBuerger commented 6 years ago

New error. Same time when programming the Device and RF settings it now says "cannot convert argument to integer".

I just had a thought that maybe I could use the old version to load the device settings and layout. So I used flasher 0.3.1 and it didn't give an error. But, the keyboard wasn't sending out any keys. So I still had to revert back to the 0.3.1 firmware to get it back working.

BillyBuerger commented 6 years ago

Oh, I saw your comment here but actually went to the releases page and dowloaded the flasher "-fix1". I just noticed you posted a different link on here but that link doesn't work. So I'm probably not using the correct flasher version with your fix.

emilytrau commented 6 years ago

I have just updated Keyplus CI to generate builds with Python 3. Hopefully this should prevent some compatibility issues. Try this new build.

BillyBuerger commented 6 years ago

Still getting an error on your link...

HTTP ERROR 404 Problem accessing /job/keyplus-flasher/lastSuccessfulBuild/artifact/keyplus/host-software/dist/keyplus_flasher-0.3.3pre-ef617e6-build33.exe. Reason:

Not Found
emilytrau commented 6 years ago

You should be able to download it from here

BillyBuerger commented 6 years ago

Got it. Seems to crash when I try to program anything with it. No error messages, just goes away. I tried updating the firmware first. When that didn't work, I updated the firmware with the previous version and then tried using this one just to set the device id and layout. Same crash in both cases.

emilytrau commented 6 years ago

The crashing appears to be a bug with Keyplus Flasher's recent port to PyQt5. It seems to be fixed in the latest build from Keyplus CI.

ahtn commented 6 years ago

Sorry for closing the issue, seems like GitHub did it automatically.

I tested the new python3 build and I think I fixed all the remaining issues on Windows. It's here build 0.3.3.

BillyBuerger commented 6 years ago

Thanks, that did it. I was able to flash the 3.3 firmware without issue. And now my volume keys are working. Thanks for the hard work.