Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consolidate modelm v2 #14996

Merged
merged 26 commits into from
May 27, 2023
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
9a7cf62
Putting all IBM Model M projects under one folder
nuess0r May 3, 2021
54ce10e
Add readme files for the different mschwingen targets
nuess0r May 16, 2021
01ea546
Move Model M SSK controller based on Teensy++ 2.0 to consolidated folder
nuess0r Oct 26, 2021
0a250e2
Fix readme and URL for moved SSK project
nuess0r Oct 31, 2021
f3bd956
Move Model M controller based on Teensy 2.0 to consolidated folder
nuess0r Aug 15, 2022
bf409ba
Fix readme and URL for moved Teensy 2.0 project
nuess0r Aug 15, 2022
d03c5c9
Readding modelm101_teensy2.c and renaming to teensy2.c
nuess0r Aug 15, 2022
26810ee
Adding ChangeLog file describing the changes
nuess0r Oct 27, 2022
be20876
For teensypp_ssk adjust file names according to new folder name
nuess0r Oct 27, 2022
1858f91
Enhance PR14996 changelog
nuess0r Oct 29, 2022
319c8cb
Adding moved keyboards to keyboard_aliases.hjson to not break histori…
nuess0r Nov 13, 2022
b787c90
Fix misspelled alias target for modelm/mschwingen
nuess0r Nov 13, 2022
9ade528
Move m122_3270 based from tronguylabs consolidated folder
nuess0r Jan 27, 2023
e7e2759
Remove merge conflict residues
nuess0r Feb 11, 2023
9f73753
Update keyboards/modelm/ibm122m/readme.md
nuess0r Feb 13, 2023
157fbbf
Update keyboards/modelm/mschwingen/led_ffc/readme.md
nuess0r Feb 13, 2023
8110936
Update keyboards/modelm/mschwingen/led_wired/readme.md
nuess0r Feb 13, 2023
2cdf138
Update keyboards/modelm/mschwingen/led_ws2812/readme.md
nuess0r Feb 13, 2023
34c8d31
Update keyboards/modelm/teensypp/readme.md
nuess0r Feb 13, 2023
44958de
Delete useless .noci file found in review by fauxpark
nuess0r Feb 13, 2023
6767b95
Move all Model M's under keyboards/ibm
nuess0r Apr 29, 2023
2cb4d7f
Update URLs and paths for all moved Model M variants
nuess0r Apr 29, 2023
be55388
Update pull-request files
nuess0r Apr 29, 2023
bd6242e
Fixed unresolved merge conflict found by keyboard-magpie
nuess0r May 22, 2023
ee9cb2f
Merge remote-tracking branch 'upstream/develop' into consolidate_mode…
tzarc May 27, 2023
108191e
Fixup build errors.
tzarc May 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions data/mappings/keyboard_aliases.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@
"angel64": {
"target": "angel64/alpha"
},
"ashpil/modelm_usbc": {
"target": "ibm/model_m/ashpil_usbc"
},
"at101_blackheart": {
"target": "viktus/at101_bh"
},
Expand Down Expand Up @@ -113,6 +116,15 @@
"cmm_studio/saka68": {
"target": "cmm_studio/saka68/solder"
},
"converter/modelm101": {
"target": "ibm/model_m/teensypp"
},
"converter/modelm101_teensy2": {
"target": "ibm/model_m/teensy2"
},
"converter/modelm_ssk": {
"target": "ibm/model_m_ssk/teensypp_ssk"
},
"cospad": {
"target": "kprepublic/cospad"
},
Expand Down Expand Up @@ -203,6 +215,9 @@
"handwired/ferris": {
"target": "ferris/0_1"
},
"handwired/ibm122m": {
"target": "ibm/model_m_122/ibm122m"
},
"handwired/p1800fl": {
"target": "team0110/p1800fl"
},
Expand Down Expand Up @@ -419,6 +434,9 @@
"montsinger/rebound": {
"target": "montsinger/rebound/rev1"
},
"mschwingen/modelm": {
"target": "ibm/model_m/mschwingen"
},
"noxary/268_2": {
"layouts": {
"LAYOUT": "LAYOUT_65_ansi_blocker"
Expand Down Expand Up @@ -1234,6 +1252,9 @@
"treadstone48/rev2": {
"target": "marksard/treadstone48/rev2"
},
"tronguylabs/m122_3270": {
"target": "ibm/model_m_122/m122_3270"
},
"ua62": {
"target": "nacly/ua62"
},
Expand Down Expand Up @@ -1294,6 +1315,9 @@
"ymdk_np21": {
"target": "ymdk/np21"
},
"yugo_m/model_m_101": {
"target": "ibm/model_m/yugo_m"
},
"yurei": {
"target": "kkatano/yurei"
},
Expand Down
21 changes: 21 additions & 0 deletions docs/ChangeLog/20230528/PR14996.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# QMK Breaking Changes - 2023 May 28 Changelog

## Notable Features :id=notable-features

### Consolidate modelm ([#14996](https://github.com/qmk/qmk_firmware/pull/14996)

Several build targets for the IBM Model M were cluttered in different folders.
The maintainers of several Model M replacement controller projects agreed to
consolidate them under one common folder.

List of the consolidations now in keyboards/modelm/:

- ashpil_usbc
- ibm122m
- mschwingen
- teensy2 (renamed from modelm101_teensy2)
- teensypp (renamed from modelm101)
- teensypp_ssk (renamed from modelm_ssk)
- ibm122m
- m122_3270
- yugo_m
16 changes: 0 additions & 16 deletions keyboards/handwired/ibm122m/readme.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"keyboard_name": "IBM Model M 101/102",
"manufacturer": "ashpil",
"url": "https://github.com/ashpil/qmk_firmware/tree/master/keyboards/ashpil/modelm_usbc",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/ashpil_usbc",
"maintainer": "ashpil",
"usb": {
"vid": "0xFEED",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ This is a configuration of QMK intended to be used with the [USB C Model M alt c

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

make ashpil/modelm_usbc:default
make ibm/model_m/ashpil_usbc:default

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
24 changes: 24 additions & 0 deletions keyboards/ibm/model_m/modelm/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# IBM Model M

This is the parent directory for all projects that replace the controller
of IBM's Model M Keyboard and then run QMK on it.

These controllers differ in their use of microcontrollers, connection (mainly
USB) optional speakers etc.

Some of them can be bought fully assembled others are do-it-yourself.

## Warning - Model M Variants

**Not all of these projects will fit into your keyboard!**

As the Model M was produced over several years there are many variants of the
controller PCB. Check what fits your keyboard before you build/order one.

The variants built for PCs differ in:
* PCB size
* Connectors (8/12 pin flex, location)
* Ground wire connector location

Additionally IBM built Model M variants for terminals with 122 keys, the
space saving keyboard (SSK, 84-key) etc.
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,15 @@
#define MODELM_LED2 B6
#define MODELM_LED3 D0

#if defined(KEYBOARD_mschwingen_modelm_led_wired)
#if defined(KEYBOARD_modelm_mschwingen_led_wired)
# define MODELM_LED_CAPSLOCK MODELM_LED1
# define MODELM_LED_SCROLLOCK MODELM_LED2
# define MODELM_LED_NUMLOCK MODELM_LED3
#elif defined(KEYBOARD_mschwingen_modelm_led_ffc)
#elif defined(KEYBOARD_modelm_mschwingen_led_ffc)
# define MODELM_LED_CAPSLOCK MODELM_LED2
# define MODELM_LED_SCROLLOCK MODELM_LED3
# define MODELM_LED_NUMLOCK MODELM_LED1
#elif defined(KEYBOARD_mschwingen_modelm_led_ws2812)
#elif defined(KEYBOARD_modelm_mschwingen_led_ws2812)
#else
# error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set!
#endif
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"keyboard_name": "IBM Model M 101/102",
"keyboard_name": "atmega32U4 board for IBM Model M",
"manufacturer": "mschwingen",
"url": "",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/mschwingen",
"maintainer": "mschwingen",
"usb": {
"vid": "0xFEED",
Expand Down
21 changes: 21 additions & 0 deletions keyboards/ibm/model_m/mschwingen/led_ffc/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# atmega32U4 board for IBM Model M, LEDs connected with flexible flat cable (FFC)

![modelm](https://raw.githubusercontent.com/mschwingen/hardware/master/modelm-usb/images/PCB.jpg)

This is a configuration of QMK intended to be used with the [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb).

* Keyboard Maintainer: [Michael Schwingen](https://github.com/mschwingen/)
* Hardware Supported: [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb)
* Hardware Availability: need to build your own.

Make example for this keyboard (after setting up your build environment), run one of:

make modelm/mschwingen/led_ffc:default

Flashing example for this keyboard:

make modelm/mschwingen/led_ffc:default:flash

Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader)

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
21 changes: 21 additions & 0 deletions keyboards/ibm/model_m/mschwingen/led_wired/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# atmega32U4 board for IBM Model M, LEDs connected with wires

![modelm](https://raw.githubusercontent.com/mschwingen/hardware/master/modelm-usb/images/PCB.jpg)

This is a configuration of QMK intended to be used with the [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb).

* Keyboard Maintainer: [Michael Schwingen](https://github.com/mschwingen/)
* Hardware Supported: [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb)
* Hardware Availability: need to build your own.

Make example for this keyboard (after setting up your build environment), run one of:

make modelm/mschwingen/led_wired:default

Flashing example for this keyboard:

make modelm/mschwingen/led_wired:default:flash

Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader)

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
21 changes: 21 additions & 0 deletions keyboards/ibm/model_m/mschwingen/led_ws2812/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# atmega32U4 board for IBM Model M, old LEDs replaces with WS2812 RGB LEDs

![modelm](https://raw.githubusercontent.com/mschwingen/hardware/master/modelm-usb/images/PCB.jpg)

This is a configuration of QMK intended to be used with the [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb).

* Keyboard Maintainer: [Michael Schwingen](https://github.com/mschwingen/)
* Hardware Supported: [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb)
* Hardware Availability: need to build your own.

Make example for this keyboard (after setting up your build environment), run one of:

make modelm/mschwingen/led_ws2812:default

Flashing example for this keyboard:

make modelm/mschwingen/led_ws2812:default:flash

Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader)

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#include "quantum.h"
#include "spi_master.h"
#include "print.h"
#include "modelm.h"
#include "mschwingen.h"

#define SPI_TIMEOUT 100

Expand Down Expand Up @@ -93,7 +93,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)

void matrix_init_custom(void) {
unselect_cols();

// set 4MHz SPI clock
SPSR = 0;
SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPOL);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <util/delay.h>
#include "modelm.h"
#include "mschwingen.h"
#include "uart.h"
#include "print.h"
#include "sendchar.h"
#include "ws2812.h"
#include "modelm.h"
#include "sleep_led.h"

#ifdef UART_DEBUG
Expand All @@ -36,7 +35,7 @@ static uint16_t blink_cycle_timer;
static bool blink_state = false;
static uint8_t isRecording = 0;

#ifdef KEYBOARD_mschwingen_modelm_led_ws2812
#ifdef KEYBOARD_modelm_mschwingen_led_ws2812
# if RGBLED_NUM < 3
# error we need at least 3 RGB LEDs!
# endif
Expand Down Expand Up @@ -81,7 +80,7 @@ void sleep_led_disable(void) {
void sleep_led_enable(void) {
suspend_active = true;
writePinLow(MODELM_STATUS_LED);
#ifdef KEYBOARD_mschwingen_modelm_led_ws2812
#ifdef KEYBOARD_modelm_mschwingen_led_ws2812
led[0] = black;
led[1] = black;
led[2] = black;
Expand All @@ -90,7 +89,7 @@ void sleep_led_enable(void) {
}

void keyboard_pre_init_kb(void) {
#ifdef KEYBOARD_mschwingen_modelm_led_ws2812
#ifdef KEYBOARD_modelm_mschwingen_led_ws2812
ws2812_setleds(led, RGBLED_NUM);
#else
/* Set status LEDs pins to output and Low (on) */
Expand All @@ -116,7 +115,7 @@ void keyboard_pre_init_kb(void) {
writePinLow(SR_CLK_PIN);
}

#ifdef KEYBOARD_mschwingen_modelm_led_ws2812
#ifdef KEYBOARD_modelm_mschwingen_led_ws2812
static void led_update_rgb(void) {
if (isRecording && blink_state) {
led[0] = white;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ This is a configuration of QMK intended to be used with the [Model M USB PCB](ht

Make example for this keyboard (after setting up your build environment), run one of:

make mschwingen/modelm/led_wired:default
make mschwingen/modelm/led_ffc:default
make mschwingen/modelm/led_ws2812:default
make ibm/model_m/mschwingen/led_wired:default
make ibm/model_m/mschwingen/led_ffc:default
make ibm/model_m/mschwingen/led_ws2812:default

flash:

make mschwingen/modelm/led_wired:default:flash
make mschwingen/modelm/led_ffc:default:flash
make mschwingen/modelm/led_ws2812:default:flash
make ibm/model_m/mschwingen/led_wired:default:flash
make ibm/model_m/mschwingen/led_ffc:default:flash
make ibm/model_m/mschwingen/led_ws2812:default:flash

Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ OPT_DEFS += -DSLEEP_LED_ENABLE # we need our own sleep callbacks to turn of WS28

LTO_ENABLE = yes

DEFAULT_FOLDER = mschwingen/modelm/led_wired
DEFAULT_FOLDER = modelm/mschwingen/led_wired
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"keyboard_name": "IBM Model M 101/102",
"manufacturer": "wangfuco",
"url": "https://github.com/wangfuco/qmk_firmware/tree/modelm101_teensy2/keyboards/converter/modelm101_teensy2",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensy2",
"maintainer": "wangfuco",
"usb": {
"vid": "0xFEED",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

![IBM Model M 101 ANSI/102 ISO](https://user-images.githubusercontent.com/46733695/161862805-c891735b-e2e8-418a-ad82-d71c00570eab.jpg)

This is based on the modelm101 keyboard by iw0rm3r. The difference is that Teensy 2.0 board (produced by PJRC) is used instead of the Teensy 2.0++ due to the availability issues. Only CapsLock LED is supported since Teensy 2.0 only has 25 digital I/0 pins.
This is based on the modelm101 teensypp keyboard by iw0rm3r. The difference is that Teensy 2.0 board (produced by PJRC) is used instead of the Teensy++ 2.0 due to the availability issues. Only CapsLock LED is supported since Teensy 2.0 only has 25 digital I/0 pins.

Configuration is build for the Atmel ATmega32U4 controller, which you can easily use on the Teensy 2.0 board (produced by PJRC).

Expand All @@ -18,12 +18,12 @@ Status LEDs: CapsLock +5V ScrollLock NumLock
Pins: E6 5V - -
```

Keyboard Maintainer: [wangfuco](https://github.com/wangfuco)
Keyboard Maintainer: [wangfuco](https://github.com/wangfuco)
Hardware Supported: Teensy 2.0 board by PJRC
Hardware Availability: https://www.pjrc.com/store/teensy.html

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

make converter/modelm101_teensy2:default:teensy
make ibm/model_m/teensy2:default:teensy

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
16 changes: 16 additions & 0 deletions keyboards/ibm/model_m/teensy2/teensy2.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* Copyright 2019 iw0rm3r
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "teensy2.h"
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"keyboard_name": "IBM Model M 101/102",
"manufacturer": "iw0rm3r",
"url": "https://github.com/iw0rm3r/qmk_firmware/tree/modelm101/keyboards/converter/modelm101",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensypp",
"maintainer": "iw0rm3r",
"usb": {
"vid": "0xFEED",
Expand Down
Loading