qmk_firmware
qmk_firmware copied to clipboard
YaMseK: yet another modular split ergonomic keyboard
created waaay back in 2017, based on/inspired by dactyl end ergodox like keyboards: curved ortholinear layout, with one MCU connected over TRRS to another half with an I2C-portexpander
a couple of small pcbs where designed around SMD chips - to be usable as modular platform for putting together similar keyboards: breakouts for ioexpanders, i2c buffer chips, ...
see the hackaday.io project page for futher build-instructions (to be updated...)
at the time the MCU of choice is/was a A-Star 32U4 Micro chosen for its diminutive size - but now that there are similar boards with an RP2040 out in the wild - and the support for these is slowly coming to QMK... :-D
Description
Types of Changes
- [ ] Core
- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement/optimization
- [x] Keyboard (addition or update)
- [ ] Keymap/layout/userspace (addition or update)
- [ ] Documentation
Issues Fixed or Closed by This PR
Checklist
- [x] My code follows the code style of this project: C, Python
- [x] 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).
this PR was waiting on #18178 which was merged... but.. @drashna what's the background that lead to the revert PR #18709 ? :-S
Basically, re-initing everything isn't the proper way to handle this. There are a couple of boards using the mcp code that can be used as examples to better handle detection, etc.
There are a couple of boards using the mcp code
sadly there are multiple versions... the ergodox-derived ones do their own i2c handling (and reset everything everytime?), and only very few actually seem to use drivers/gpio/mcp23018
as evident by who uses init_mcp23018 == ergodox family; vs. drivers/gpio/mcp23018::mcp23018_init
did you have any specific "good examples" in mind?
The ergodone uses /drivers/gpio/mcp23018.c for the I/O expander code, and has detection/error handling.
Note: the [core] I2C_PAL_MODE addition has it's own PR: #19286
ok, compared the MCP23018 handling to how it's done in the ergodone (thanks for the hint) seems pretty similar: calling mcp23018_init only once during startup; and as soon as i2c-errors accumulate, do a "weak" reinitialization by calling mcp23018_set_config
what else would be missing for this PR to be merged? (-:
thanks for the info.json related hints : ) see last commit - comme ca?
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
un-stale: by rebasing onto current develop (-:
since the i2c changes/dependencies are now removed; the "core" label can be dropped
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
rebase onto develop
Q: is there anything i can or need to do to help this PR get merged? :-)
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
no changes, just a rebase onto origin/master
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug
, awaiting review
, breaking_change
, in progress
, or on hold
to prevent the issue from being re-flagged.
Thank you for your contribution! This pull request has been automatically closed because it has not had activity in the last 30 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. // [stale-action-closed]