Author Topic: xwhatsit firmware modding  (Read 2107 times)

0 Members and 1 Guest are viewing this topic.

Offline Melvang

  • Exquisite Lord of Bumfluff
  • * Maker
  • Thread Starter
  • Posts: 4398
  • Location: Waterloo, IA
  • Melvang's Desktop Customs
xwhatsit firmware modding
« on: Thu, 22 December 2016, 00:57:24 »
So, I want to start working on designing a keyboard from the ground up.  However, I want to use the xwhatsit firmware and utility package, but designed for momentary switches.  I have spoken with xwhatsit himself in the past and he said it would be easy to do.  The majority of the work in the code would be deleting a bunch of stuff, tweaking some pin assignments, and adjusting the debouncing.

At this point I am not ready to really start working on firmware, but looking to see how difficult or what routes I would need to take to get a copy of the firmware and utility source code to work off of.  He gave me a basic run down on what would need to happen, but my last message to him on DT is still sitting in my outbox like he hasn't read it.  This was sent in June of 2015.
OG Kishsaver, Razer Orbweaver clears and reds with blue LEDs, and Razer Naga Epic.   "Great minds crawl in the same sewer"  Uncle Rich

Offline Melvang

  • Exquisite Lord of Bumfluff
  • * Maker
  • Thread Starter
  • Posts: 4398
  • Location: Waterloo, IA
  • Melvang's Desktop Customs
Re: xwhatsit firmware modding
« Reply #1 on: Thu, 22 December 2016, 00:58:53 »
Side note, would anyone be willing to take on this project?

Here is the quote from The Man himself.

Quote
It would be relatively straightforward to port the codebase to a Teensy; they use the ATmega32U4, don't they? In which case it's a bigger and fancier microcontroller, so more of a matter of pin reassignment and recompilation I should think. Even the program flashing would pretty much just work, although the "Enter bootloader" code might need to be handled slightly differently. In terms of writing scancodes/layers/other settings over USB, that's all handled in the firmware, not the bootloader, so nothing would change there.

If you did want to get into the code and adapt it, most of your time would be spent deleting things. You wouldn't need nearly half the code which handles the capsense stuff (and setting analogue voltages via the DAC etc.); you could pretty much just rewrite a few of the methods in scan.c and rip out the autocalibration stuff in kbd.c. You might need to invert the polarity of a few things here and there because you don't have open-collector LM339s inverting your row signals etc..

Planned controller platform would be the Teensy 2.0++ for extra pins for larger matrix possibilities.
OG Kishsaver, Razer Orbweaver clears and reds with blue LEDs, and Razer Naga Epic.   "Great minds crawl in the same sewer"  Uncle Rich

Offline Melvang

  • Exquisite Lord of Bumfluff
  • * Maker
  • Thread Starter
  • Posts: 4398
  • Location: Waterloo, IA
  • Melvang's Desktop Customs
Re: xwhatsit firmware modding
« Reply #2 on: Thu, 22 December 2016, 20:33:07 »
So, I have found a link for source code.  If anyone could take a look at it and at least tell me what programming language it is in, that would be great.  Planning on sending out some feelers on FB. 

https://github.com/BASLQC/xwhatits-capsense-controller
OG Kishsaver, Razer Orbweaver clears and reds with blue LEDs, and Razer Naga Epic.   "Great minds crawl in the same sewer"  Uncle Rich

Offline Tactile

  • Posts: 1435
  • Location: Portland, OR
Re: xwhatsit firmware modding
« Reply #3 on: Thu, 22 December 2016, 22:52:02 »
So, I have found a link for source code.  If anyone could take a look at it and at least tell me what programming language it is in, that would be great.  Planning on sending out some feelers on FB. 

https://github.com/BASLQC/xwhatits-capsense-controller

It looks to be a mix of C & C++
REΛLFORCE

Offline pr0ximity

  • Posts: 2706
  • Location: Maine
Re: xwhatsit firmware modding
« Reply #4 on: Fri, 23 December 2016, 06:00:02 »
Momentary Hall Effect switches?  :cool:
| Flickr | KMAC 1.2 | Koala | GSKT-00-Z | GSKT-00-AEK | GON NerD60 | Jane V2 CE | Whale | J80S | Ibis | Pro2 | Pro1 | 356mini | 356CL DGE | G80-5000 HAMDE | IBM 1390120 | IBM F AT | IBM F122 | IBM 3101 | Zenith Z-150