Skip to content

Meeting Notes (2020 08 04)

Alex McLain edited this page Aug 6, 2020 · 5 revisions

Meeting Notes

Upgrade Nerves system to v2.0.0-rc.0

  • Requires Nerves.Runtime.validate_firmware() to be run from IEx on the target if upgrading a pre-2.0.0 system via SSH.
  • Not an issue if burning an SD card.

UI design discussion

  • Wireframes
  • Animations
    • First iteration can launch as enable/disable sliders.
    • Users should be able to customize and store animation configurations in this screen.
    • Users should be able to duplicate animations and set different configurations. They could create two hue wave animations that animate in different directions when they start playing.
    • Users should be able to choose the animation that plays when Xebow first starts (the startup animation).
  • Key bindings
    • AFK scancodes
    • First iteration can launch with a static list of AFK codes that the user can select from.
    • Need a way to group functionality or the list could become difficult to navigate.
    • Could also implement a search function.
    • What happens if a user unmaps all of their keys?
      • They need to drag and drop the key codes back in with the mouse.
      • They may not be able to access a web browser at this point.
      • Should we have a default profile that acts like a standard keyboard that the user can fall back to in case they end up in this situation?
        • Have a key combination they can hold at device startup that sets this default profile as the active one.
  • Console
    • Nerves Hub is implementing a web-based CLI. We may be able to take a look at this code to figure out how to do it.
    • There is a potential security vulnerability with exposing a web-based console if it does not require authentication.
  • Add the ability to change the USB Ethernet endpoint mode (Auto/RNDIS/NCM).

Building a keyboard

  • A 14"x5.25" PCB is very reasonably priced from JLCPCB.
  • We could make a prototype PCB and avoid populating all of the components (i.e. keys) to save cost while iterating on the software.
  • TI makes the LM8330, a keypad controller that supports a full 104 key keyboard and has builtin debouncing.
  • We need to brush up on the article on how to build a mechanical keyboard PCB in KiCad.

Action Items

  • (Alex) Convert next iteration of wireframes to feature tickets.
  • (Jesse) Open a PR for the animation config work.
  • (Chris) Find the article on building a mechanical keyboard PCB.
  • Learn KiCad, possibly in a workshop session.

Resources