~ruther/qmk_firmware

723d338c624015dd68d5e7e7a0f96b3986151285 — MechMerlin 7 years ago 0fa1920
Keyboard: E6V2 LE Improvements (#3486)

* fix for that stupid LED

* formatting changes and add firmware flashing warning to readmes

* update readme with more info

* add LAYOUT_60_ansi thanks to help from phlop

* add configurator support for 60_ansi

* add 60_ansi for community layout support
M keyboards/e6v2/le/info.json => keyboards/e6v2/le/info.json +4 -0
@@ 7,6 7,10 @@
    "layouts": {
        "LAYOUT": {
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.75}, {"label":"Ctrl", "x":1.75, "y":4, "w":1.25}, {"label":"Win", "x":3, "y":4, "w":1.25}, {"label":"Alt", "x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4, "w":2.75}, {"x":8.25, "y":4, "w":1.75}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
        },

        "LAYOUT_60_ansi": {
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
        }
    }
}
\ No newline at end of file

M keyboards/e6v2/le/le.c => keyboards/e6v2/le/le.c +8 -19
@@ 21,24 21,13 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
	return process_record_user(keycode, record);
}

void led_set_kb(uint8_t usb_led) {
	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
	DDRB |= (1<<7);
	if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
			// output low
			DDRB |= (1<<2);
			PORTB &= ~(1<<2);
		} else {
			// Hi-Z
			DDRB &= ~(1<<2);
			PORTB &= ~(1<<2);
		}
	if (usb_led == 0){
		PORTB |= (1<<7);
void led_set_user(uint8_t usb_led) {
	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
		DDRB |= (1 << 7); 
		PORTB &= ~(1 << 7);
	} else {
		DDRB &= ~(1 << 7); 
		PORTB &= ~(1 << 7);
	}
	else{
		PORTB &= ~(1<<7);
	}

	led_set_user(usb_led);
}


M keyboards/e6v2/le/le.h => keyboards/e6v2/le/le.h +15 -0
@@ 18,4 18,19 @@
  { K40, KC_NO, K42, K43, K44, KC_NO, KC_NO, K47, KC_NO, K49, K4A, K4B, K4C, K4D, K4E   }, \
}

#define LAYOUT_60_ansi( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0D, \
    K10,      K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
    K20,      K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,      \
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,      \
    K40,           K43, K44,           K47,           K4A, K4B,      K4D, K4E  \
)\
{\
  { K00, K01,   K02,   K03, K04, K05,   K06,   K07, K08,   K09,   K0A, K0B, K0C,   K0D, KC_NO }, \
  { K10, KC_NO, K12,   K13, K14, K15,   K16,   K17, K18,   K19,   K1A, K1B, K1C,   K1D, K1E   }, \
  { K20, KC_NO, K22,   K23, K24, K25,   K26,   K27, K28,   K29,   K2A, K2B, K2C,   K2D, KC_NO }, \
  { K30, KC_NO, K32,   K33, K34, K35,   K36,   K37, K38,   K39,   K3A, K3B, KC_NO, K3D, KC_NO }, \
  { K40, KC_NO, KC_NO, K43, K44, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E   }, \
}

#endif
\ No newline at end of file

M keyboards/e6v2/le/readme.md => keyboards/e6v2/le/readme.md +6 -4
@@ 1,10 1,12 @@
# E6-V2 Last Edition (LE)

These docs are for the QMK version of the PCB. [More info on qmk.fm](http://qmk.fm/)
These docs are for the QMK version of the E6-V2 PCB. [More info on qmk.fm](http://qmk.fm/)

Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: E6-V2 LE Mid Port rev.qmk
Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)  
Hardware Supported: E6-V2 LE Mid Port rev.qmk  
Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)  

**Please do not flash LE firmware on OE hardware.** 

Make example for this keyboard (after setting up your build environment):


M keyboards/e6v2/le/rules.mk => keyboards/e6v2/le/rules.mk +2 -0
@@ 66,3 66,5 @@ MIDI_ENABLE = no            # MIDI controls
UNICODE_ENABLE = no         # Unicode
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no           # Audio output on port C6

LAYOUTS = 60_ansi
\ No newline at end of file

M keyboards/e6v2/oe/readme.md => keyboards/e6v2/oe/readme.md +6 -4
@@ 1,10 1,12 @@
# E6-V2 Original Edition (OE)

These docs are for the QMK version of the PCB. [More info on qmk.fm](http://qmk.fm/)
These docs are for the QMK version of the E6-V2 PCB. [More info on qmk.fm](http://qmk.fm/)

Keyboard Maintainer: [amnesia0287](https://github.com/amnesia0287)
Hardware Supported: E6-V2 OE Mid Port rev.qmk
Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
Keyboard Maintainer: [amnesia0287](https://github.com/amnesia0287)  
Hardware Supported: E6-V2 OE Mid Port rev.qmk  
Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)  

**Please do not flash OE firmware on LE hardware.** 

Make example for this keyboard (after setting up your build environment):


M keyboards/e6v2/readme.md => keyboards/e6v2/readme.md +13 -2
@@ 1,9 1,20 @@
# E6-V2

These docs are for the QMK version of the PCB. [More info on qmk.fm](http://qmk.fm/)
The E6-V2 is a 60% keyboard manufactured by Exclusive. 

### Round 1:
- ps2avrGB PCB and QMK powered PCB option (OE PCB)  
- Center mount and side mount USB  

### Round 2
- ps2avrGB PCB and QMK powered PCB option (LE PCB)
- Only center mount USB offered
- All brass option

These docs are for the QMK version of the E6-V2 PCB. [More info on qmk.fm](http://qmk.fm/)

The E6V2 has been available with either a bootmapper client or QMK powered PCB. During the second round, the QMK powered PCB was redesigned and used different ports and a different switch matrix. 

Please use the appropriate version when making your firmware. 
Please use the appropriate version when making your firmware. Flashing one in place of the other, can brick your PCB. Please be certain whether you have a OE or LE  PCB. 

See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.