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

Add Adafruit Macropad RP2040 #17512

Merged
merged 1 commit into from
Jul 8, 2022
Merged

Conversation

Jpe230
Copy link
Contributor

@Jpe230 Jpe230 commented Jun 30, 2022

Description

Add support for the Adafruit Macropad RP2040.

This PR includes a driver for the SPI OLED that uses a modified version of the core driver with the difference of the transport protocol, users can use this driver the same as the core driver.

Also this board uses Adafruit proprietary VID but the folks over Adafruit were kind to generate a new pair for exclusive use of this board in QMK:
image

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@Jpe230 Jpe230 changed the title Add Adafruit Macropad Add Adafruit Macropad RP2040 Jun 30, 2022
@Jpe230 Jpe230 force-pushed the adafruit_macropad_develop branch from e3234c2 to 040e129 Compare June 30, 2022 15:00
@PeterFalken
Copy link
Contributor

It's great to see the Adafruit Macropad RP2040 get supported in QMK.

Copy link
Member

@zvecr zvecr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change the oled_spi folder to lib so its consistent with other keyboard structures.

keyboards/adafruit/macropad/config.h Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/config_led.h Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/macropad.h Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/macropad.h Outdated Show resolved Hide resolved
@Jpe230 Jpe230 force-pushed the adafruit_macropad_develop branch 2 times, most recently from c347f29 to 3589849 Compare June 30, 2022 22:49
@Jpe230
Copy link
Contributor Author

Jpe230 commented Jun 30, 2022

Solved and rebased :D

keyboards/adafruit/macropad/config_led.c Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/config_led.c Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/rules.mk Outdated Show resolved Hide resolved
@Jpe230 Jpe230 force-pushed the adafruit_macropad_develop branch from 6259d59 to ce5e0db Compare June 30, 2022 23:13
@Jpe230
Copy link
Contributor Author

Jpe230 commented Jun 30, 2022

VScode had a fart and autoclosed the PR :( Sorry for that

@tzarc
Copy link
Member

tzarc commented Jun 30, 2022

For future reference (mainly for others, here) -- so long as there's no proliferation and use of the SPI OLED driver elsewhere, we're okay with it.

Quantum Painter is the preferred display abstraction for ARM devices going forward, and whilst it's unfortunate this SPI OLED isn't yet compatible I do ask that once it is (it's in my pipeline), this gets board swapped over to QP.

EDIT: for clarity -- keymaps within this board are fine; we want to compartmentalise the OLED driver over time.

@Jpe230
Copy link
Contributor Author

Jpe230 commented Jun 30, 2022

For future reference (mainly for others, here) -- so long as there's no proliferation and use of the SPI OLED driver elsewhere, we're okay with it.

Quantum Painter is the preferred display abstraction for ARM devices going forward, and whilst it's unfortunate this SPI OLED isn't yet compatible I do ask that once it is (it's in my pipeline), this gets board swapped over to QP.

EDIT: for clarity -- keymaps within this board are fine; we want to compartmentalise the OLED driver over time.

Thanks for the input Tzarc! Will do once support for this display in QP drops!

keyboards/adafruit/macropad/keymaps/default/keymap.c Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/macropad.c Show resolved Hide resolved
keyboards/adafruit/macropad/readme.md Outdated Show resolved Hide resolved
keyboards/adafruit/macropad/readme.md Show resolved Hide resolved
keyboards/adafruit/macropad/rules.mk Outdated Show resolved Hide resolved
@Jpe230 Jpe230 force-pushed the adafruit_macropad_develop branch from ce5e0db to fffbda8 Compare July 1, 2022 06:16
@Jpe230 Jpe230 force-pushed the adafruit_macropad_develop branch from fffbda8 to d885e5b Compare July 2, 2022 06:36
@Jpe230
Copy link
Contributor Author

Jpe230 commented Jul 2, 2022

Rebased with lastest changes from develop (mainly for EEPROM Emulation) - this required the removal of the transient driver, can confirm from my end that it works wonderfully!

image

@Jpe230 Jpe230 requested review from drashna and zvecr July 2, 2022 06:40
@drashna drashna requested a review from a team July 2, 2022 18:59
@jepler
Copy link
Contributor

jepler commented Jul 6, 2022

I tested this and it's working great! Thank you!

@zvecr zvecr merged commit 13b2b93 into qmk:develop Jul 8, 2022
@Jpe230
Copy link
Contributor Author

Jpe230 commented Jul 9, 2022

Thanks for the merge! ❤️

@Jpe230 Jpe230 deleted the adafruit_macropad_develop branch July 27, 2022 16:58
nolanseaton pushed a commit to nolanseaton/qmk_firmware that referenced this pull request Jan 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants