Commit Graph

5976 Commits (43579a80a7bba63ddf2b3eceb4d05a51727a7cbb)
 

Author SHA1 Message Date
Art Ortenburger 43579a80a7 add support for Orthodox keyboard (#1436)
* Added orthodox

* Modified readme

* Modified readme

* Modified readme

* Updated makefile

* Fixed keymap issues

* Modified serial communications to allow for over 8 columns

* Fixed sizeof command

* Fixed some typing issues

* Testing issue #1191 (n-column split i2c slave)

Based on initial OrthoDox (serial) config by @reddragond and others,
this attempts to add TWI (I2C) support.
Relevant: <https://github.com/qmk/qmk_firmware/issues/1191>

- per @ahtn recommendation, using memcpy for moving slave matrix
  into slave sending buffer
- slave buffer has been enlarged using sizeof(matrix_row_t)
- note: i2c.h now includes matrix.h
- note: matrix.c includes <string.h>

* Added i2c keymap - right col still not working

* orthodox: re-added i2c keymap, based on serial

* orthodox / issue #1191: trying 9-bit serial

- orthodox serial protocol now sends 9 bits per row, instead of 16.
  Technically it's using MATRIX_COLS, so it might work generically.
- ROW_MASK is #defined in serial.c to truncate the checksums to prevent
  overflows causing false errors. This macro should be renamed if it's
  kept.

* Revert "Fixed sizeof command"

This reverts commit f62a5b9939d6a9c0e442ec403de00c14431a55f9.

Changes had been made to the lets_split serial driver for testing which
mirrored the multi-byte-row changes made to support the orthodox. As the
lets_split does not require these changes, and new improvements had
been added to the orthodox port only, this commit reverts them.

Because the new code could potentially reduce latency over the serial
transport, it may be desirable to re-add in the future, by backporting
the current working orthodox code.

* orthodox: default serial keymap improvements

- formatting has been improved
- a few keys have been shifted, mainly in Raise and Lower layers,
  to be more like the default Planck layout
- Now available: F12, Home, End, PgUp, PgDn, Media-Next, Media-Play

Still To Do:
- duplicate for TWI
- Alt modifier
- GUI modifier

* orthodox: failed attempt at 16b/row TWI

- duplicated updated serial keymap for "i2c"
- removed string.h/memcpy, instead
- hardcoded copying of six bytes per update
- still doesn't work; master reports interconnect errors on txled

* orthodox: adjusted default keymap

- this is applied to both 'serial' and 'i2c' keymaps
- Alt and GUI have been added, as they were missing
- comma and period persist across more layers; Home/PgUp and End/PgDn
  have been moved slightly to accommodate

* orthodox: revert TWI support to minimum to debug

- disabled ssd1306 and hardware locking in build configuration
- increased TWI buffer from 0x10 to 0x20 bytes
- decreased TWI clock from 400000 to 100000
- removed hardcoded TWI multi-byte sending/receiving

An 'i2c' build of this was found to work on a rev1 Orthodox, although
slave-side col9 was understandably not working. When testing-time
permits, features will be gradually re-enabled towards getting the full
matrix supported over TWI.

* orthodox: TWI (i2c) is working, kludge for col9

The TWI interconnect ("i2c" in directories and build config) is now
working for the Orthodox, including the slave half's column #9.
This is intended as an interim solution, as it's a kludge, not a fix.

Rather than a working multi-byte implementation, the two col9 keys'
bits are packed-into and unpacked-from the two unused bits in row1.
Furthermore, the TWI clock constant has been reduced to 100000 from
400000, as testing revealed the higher value just didn't work.
Testing also found that (with this kludge) increasing the TWI buffer
was not necessary.

This commit leaves many commented-out lines in matrix.c from previous
testing, which will be removed in a future commit once the
interconnects' multi-byte problems have been debugged more thoroughly.

* orthodox: updated readme.md

The readme for the Orthodox now includes a description of the keyboard,
allusions to its author and availability, a linked photo, and links to
the evolving build guide and the current keymap on KLE.
This update has been prepared with /u/Deductivemonkee's assistance.
8 years ago
Jack Humbert 1a4a66fd01 updates olkb readmes #1362 8 years ago
Jack Humbert 169ede0715 Merge pull request #1427 from blakedietz/master
Add keymaps for ergodox ez, hhkb and jd45 under user blakedietz
8 years ago
Jack Humbert de833659ae Merge pull request #1429 from fredizzimo/fixes_for_emulator
Minor fixes to support the emulator
8 years ago
Fred Sundvik 1e6a3f9e17 Change M_2_PI to 2 * PI as it should be 8 years ago
Blake Dietz daf16535f1 Add keymaps for ergodox ez, hhkb and jd45 under user blakedietz 8 years ago
skullY 62c77e7dbf Remove the DIODE_DIRECTION defines from lets_split so we can close #1067 8 years ago
skullY 582a6ac75c Fix #1135 by changing the default to at90usb1286 8 years ago
Jack Humbert 901a92a2fd Update _summary.md 8 years ago
Jack Humbert f175f5df95 Merge pull request #1425 from kynikos/patch-1
Fix typo
8 years ago
Jack Humbert 6c81656e8e Merge pull request #1426 from rai-suta/master
Add JIS_KEYCODE layout for send_string()
8 years ago
rai-suta 5dae013ff8 Add JIS_KEYCODE layout for send_string() 8 years ago
Dario Giovannetti 30ab4dd14f Fix typo 8 years ago
Jack Humbert c208a6d4e5 update docs for isp 8 years ago
Jack Humbert b9987d65f9 Merge branch 'master' of https://github.com/qmk/qmk_firmware 8 years ago
Jack Humbert 2c65a17752 add other mcu bootloaders 8 years ago
Jack Humbert dfa6417ae3 Merge pull request #1422 from nstickney/master
update ErgoDox "Familiar" layout
8 years ago
Jack Humbert 918aea5b47 Update _summary.md 8 years ago
Jack Humbert b4f2f44a6f Create isp_flashing_guide.md 8 years ago
Jack Humbert 1524c2cb16 Merge pull request #1418 from npoirey/master
Frenchdev v1
8 years ago
npoirey 8ad12b1eb7 Updated frenchdev readme 8 years ago
Fred Sundvik dcf9fa1aaa Update the ugfx submodule 8 years ago
Fred Sundvik f912c74fe7 Change inline to static inline 8 years ago
Fred Sundvik 574ca7f59c Delete emulator drivers 8 years ago
Fred Sundvik da19852964 Add function for getting the LCD backlight brightness 8 years ago
Fred Sundvik ff49259a1a Include config.h from visualizer.h 8 years ago
Fred Sundvik b0094e631e Change remote url of uGFX to relative path 8 years ago
Fred Sundvik 6c9b4743f7 Include config.h before visualizer.h 8 years ago
Stick e43e58aad1 updated README.md 8 years ago
Stick f4e4d6f8d0 Merge remote-tracking branch 'upstream/master' 8 years ago
Stick 37987837b1 added media keys; many bug fixes 8 years ago
npoirey a3f151b8e9 Refactoring frenchdev 8 years ago
npoirey de80e2c756 Moved frenchdev to handwired 8 years ago
Jack Humbert a1ce43781a Merge pull request #1421 from 333fred/update-layout
Update my layout
8 years ago
Jack Humbert 91f3a73a28 Merge pull request #1419 from Wraul/phantom-improvements
Phantom improvements
8 years ago
Fredric Silberberg 6794495336
Doc updates 8 years ago
Fredric Silberberg 2b26abf9a9
Copy/paste additions. 8 years ago
Fredric Silberberg 946f4854c5
Added backlight control keys 8 years ago
Fredric Silberberg a2fbd671ad
Added a few more VS macros and another ctrl 8 years ago
Fredric Silberberg 7389beb18c
Small keymap layout updates 8 years ago
Mathias Andersson dd9b00543b Update Phantom readme
Added basic description of the keyboard and some build and configuration
instructions.

Also moved the RGB underlight modification instructions to the readme.
8 years ago
Mathias Andersson 7ca335cf5b Adjust Phantom for standard PCB
The previous default configuration and keymap was made for a Phantom
modified with RGB underlight.

This commit makes the default more in line with the "official"
configurations provided by the PCB.

The previous default have been moved to a separate keymap named
`rgbmod`. It has also been updated to better match the template keymap.
8 years ago
Mathias Andersson 3522496f24 Update Phantom config to better match template 8 years ago
Mathias Andersson 67b8bf8f70 Move Phantom LED handling to phantom.c
This is more in line with the structure provided by the keyboard
template.
8 years ago
Stick 98373f2fc1 added tapdance locking 8 years ago
npoirey a012c24225 Removed image from git and added references to imgur album for Frenchdev keyboard. 8 years ago
Stick fa96d64f37 Merge remote-tracking branch 'upstream/master' 8 years ago
Jack Humbert 2b98ec67f3 Update _summary.md 8 years ago
Jack Humbert 7b3c9cc8de Create adding_a_keyboard_to_qmk.md 8 years ago
Jack Humbert f32c68ee65 Update porting_your_keyboard_to_qmk.md 8 years ago