Consolidate modelm v2 (#14996)

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
nuess0r
2023-05-27 15:12:36 +02:00
committed by GitHub
parent e759230706
commit f98f8eedf0
89 changed files with 293 additions and 105 deletions

View File

@ -41,6 +41,9 @@
"angel64": {
"target": "angel64/alpha"
},
"ashpil/modelm_usbc": {
"target": "ibm/model_m/ashpil_usbc"
},
"at101_blackheart": {
"target": "viktus/at101_bh"
},
@ -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"
},
@ -203,6 +215,9 @@
"handwired/ferris": {
"target": "ferris/0_1"
},
"handwired/ibm122m": {
"target": "ibm/model_m_122/ibm122m"
},
"handwired/p1800fl": {
"target": "team0110/p1800fl"
},
@ -425,6 +440,9 @@
"montsinger/rebound": {
"target": "montsinger/rebound/rev1"
},
"mschwingen/modelm": {
"target": "ibm/model_m/mschwingen"
},
"noxary/268_2": {
"layouts": {
"LAYOUT": "LAYOUT_65_ansi_blocker"
@ -1246,6 +1264,9 @@
"treadstone48/rev2": {
"target": "marksard/treadstone48/rev2"
},
"tronguylabs/m122_3270": {
"target": "ibm/model_m_122/m122_3270"
},
"ua62": {
"target": "nacly/ua62"
},
@ -1306,6 +1327,9 @@
"ymdk_np21": {
"target": "ymdk/np21"
},
"yugo_m/model_m_101": {
"target": "ibm/model_m/yugo_m"
},
"yurei": {
"target": "kkatano/yurei"
},

View File

@ -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

View File

@ -1,16 +0,0 @@
# ibm122m
![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqz.jpg)
This is a keymap for the IBM Model M 122 key terminal keyboard running on a Teensy 2.0++
I wired it to weird pins on mine (mainly to accomodate speakers), so make sure to update the pin arrays.
Keyboard Maintainer: [Luke Stanley](https://github.com/lukexorz)
Hardware Supported: Teensy 2.0++
Hardware Availability: https://www.pjrc.com/store/teensypp.html
Make example for this keyboard (after setting up your build environment):
make handwired/ibm122m:default
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.

View File

@ -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",

View File

@ -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).

View File

@ -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.

View File

@ -56,15 +56,15 @@
#define MODELM_LED2 B6
#define MODELM_LED3 D0
#if defined(KEYBOARD_mschwingen_modelm_led_wired)
#if defined(KEYBOARD_ibm_model_m_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_ibm_model_m_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_ibm_model_m_mschwingen_led_ws2812)
#else
# error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set!
#endif

View File

@ -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",

View File

@ -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 ibm/model_m/mschwingen/led_ffc:default
Flashing example for this keyboard:
make ibm/model_m/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).

View File

@ -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 ibm/model_m/mschwingen/led_wired:default
Flashing example for this keyboard:
make ibm/model_m/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).

View File

@ -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 ibm/model_m/mschwingen/led_ws2812:default
Flashing example for this keyboard:
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)
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).

View File

@ -22,7 +22,7 @@
#include "quantum.h"
#include "spi_master.h"
#include "print.h"
#include "modelm.h"
#include "mschwingen.h"
#define SPI_TIMEOUT 100
@ -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);

View File

@ -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
@ -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_ibm_model_m_mschwingen_led_ws2812
# if RGBLED_NUM < 3
# error we need at least 3 RGB LEDs!
# endif
@ -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_ibm_model_m_mschwingen_led_ws2812
led[0] = black;
led[1] = black;
led[2] = black;
@ -90,7 +89,7 @@ void sleep_led_enable(void) {
}
void keyboard_pre_init_kb(void) {
#ifdef KEYBOARD_mschwingen_modelm_led_ws2812
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
ws2812_setleds(led, RGBLED_NUM);
#else
/* Set status LEDs pins to output and Low (on) */
@ -116,7 +115,7 @@ void keyboard_pre_init_kb(void) {
writePinLow(SR_CLK_PIN);
}
#ifdef KEYBOARD_mschwingen_modelm_led_ws2812
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
static void led_update_rgb(void) {
if (isRecording && blink_state) {
led[0] = white;

View File

@ -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)

View File

@ -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 = ibm/model_m/mschwingen/led_wired

View File

@ -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",

Some files were not shown because too many files have changed in this diff Show More