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

[Bug] Post-QMK update, split keyboard does not compile "MATRIX_COLS is inconsistent with the size of MATRIX_COL_PINS" #14968

Closed
3 tasks
datapaganism opened this issue Oct 27, 2021 · 4 comments

Comments

@datapaganism
Copy link

I have just update QMK and decided to recompile my firmware.

I have a split design I have been working on and I have successfully compiled the same code previously and even flashed it.

My compiler issue is relating to the COL_PINS since the the split on my keyboard is not symmetrical (custom 75% layout).

Describe the Bug

My config code is this

#define MATRIX_ROWS 12
#define MATRIX_COLS 9

#define SOFT_SERIAL_PIN D3
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_MODS_ENABLE

#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS_RIGHT { D0, D4, C6 , D7, E6, B4}

#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 }
#define MATRIX_COL_PINS_RIGHT { B5, F4, F5, F6, F7, B1, B3, B2, B6 }

#define UNUSED_PINS
#define SPLIT_HAND_PIN D2
#define MASTER_RIGHT

#define SPLIT_USB_DETECT

The error that appears is complaining that COL_PINS (left) is 7 when it is configured to be 9, I have no idea how to add dummy fake pins to pad out the left side of the COL_PINS.

But this has worked perfectly before.

System Information

  • Keyboard: Custom
    • Revision (if applicable):
  • Operating system: manjaro
  • AVR GCC version: 11.1.0
  • ARM GCC version: 11.1.0
  • QMK Firmware version: 0.14.29
  • Any keyboard related software installed?
    • AutoHotKey
    • Karabiner
    • Other:

Additional Context

@sigprof
Copy link
Contributor

sigprof commented Oct 27, 2021

You need to pad MATRIX_COL_PINS with NO_PIN (the new matrix scanning code supports that value properly by ignoring the corresponding column).

@datapaganism
Copy link
Author

datapaganism commented Oct 27, 2021

Thanks, I didn't catch that part in the docs (was reading the beta docs, but I would say NO_PIN would be a good mention at
https://docs.qmk.fm/#/feature_split_keyboard)

However that has spawned a new error down the line, I am using just serial, I feel like its quick fix but I can't figure it out

make[1]: *** No rule to make target 'drivers/avr/i2c_master.c', needed by '.build/obj_afk79s_default/i2c_master.o'.  Stop.

@sigprof
Copy link
Contributor

sigprof commented Oct 28, 2021

Full support for NO_PIN was added in #12238 (before that change NO_PIN could be used only with DIRECT_PINS); however, it seems that the documentation was never updated to reflect that.

I2C driver files were relocated in #13894; you may need to run qmk clean to remove references to the old path from intermediate build files.

@datapaganism
Copy link
Author

Thank you very much, take my issue as a request to update the documentation since I was totally lost with the new QMK version. People updating their firmware will have issues if the docs aren't to scratch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants