2019-08-24 Workman for the Atreus keyboard, again

I’m giving this another try and want to leave some notes to my future self so I don’t break it again.

To upload the firmware, I need to use the Apple laptop. The Purism laptop somehow doesn’t do this correctly is what my old notes say. So I mailed myself the blob.

To build the blob, use make atreus:workman PCBDOWN=yes in the qmk_firmware working directory. The PCBDOWN option is required because I have the old layout.

To but the keyboard in reset mode when everything is borked, open it up and connect two pins right of the middle: number 6 with the lone number 7. The result is a slow pulsing yellow LED that lights up.

Atreus inside: A-STAR

To check whether it’s working, check for new devices in a loop. Here’s a simple example:

ls /dev > /tmp/off
for n in $(seq 3600); do ls /dev > /tmp/on; diff /tmp/off /tmp/on; sleep 1; done

On my system, I’m looking for cu.usbmodem411.

When it appears, I have 8s to run the following command:

avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_workman.hex -P /dev/cu.usbmodem411

Sadly, it doesn’t quite work as expected: the modifiers were borked:

  1. the key I assigned KC_LGUI acts as Control key
  2. the key I assigned KC_LCTR acts as Meta key
  3. the key I assigned KC_LALT acts as GUI key

The solution was to quickly flash an extra hex file, then re-flash my own. Here’s the explanation by user drashna:

The reason that this has happened is that a new block is being used for the EEPROM. Unfortunately, because it’s a block that wasn’t used previously, it has not been zeroed out properly, so it has a random value. This means that the Ctrl-GUI swap may be enabled, because the bit used for it was on, randomly.

Alright! With this done, I think my workman branch is based on the current upstream master and it works.

If your Control and Meta keys are still swapped, then you have an old A-STAR board like I do and the PCBDOWN=true option doesn’t quite work as intended. There’s a patch by @technomancy out that I submitted. It will get fixed. Anyway. If you feel strongly about it, use the workman_fix branch which simply swaps the two keys. 😆

In any case, keymap layout files are available.



All the patches have been merged! Yay. 🙂

– Alex Schroeder 2019-09-02 21:10 UTC

Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.