-
Notifications
You must be signed in to change notification settings - Fork 227
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
LPC11uxx compile issue #378
Comments
might be helpful to post the relevant build failure output log |
If I uncomment the line it compiles fine. |
per the chip docs, LPC11uxx doesn't have PAL_MODE_OUTPUT_PUSHPULL support ( at least, specified in the docs), hence the undef there. However, you are able to compile a working(-ish?) qmk build. Digging a bit deeper, commenting out the undef inherits the default value /**
* @brief Push-pull output pad.
*/
#define PAL_MODE_OUTPUT_PUSHPULL 6U which through qmk's abstraction #define setPinOutputPushPull(pin) palSetLineMode((pin), PAL_MODE_OUTPUT_PUSHPULL) goes all the way down to the LPC GPIO LLD, forwarding the value to void _pal_lld_setpadmode(ioportid_t port, iopadid_t pad, iomode_t mode) { The following condition gets calculated as false if (mode & MODE_DIR_MASK) {
LPC_GPIO->DIR[LPC_IOPORT_NUM(port)] |= (uint32_t) 1U << pad;
} else {
LPC_GPIO->DIR[LPC_IOPORT_NUM(port)] &= ~(((uint32_t)1U) << pad);
} Which in turn sets the pin direction to input The User Manual for the chip family has some directions on selecting GPIO output while not specified by name, it might be possible to enable pushpull output by doing #define PAL_MODE_OUTPUT_PUSHPULL (MODE_DIR_OUT | MODE_AD_DIGITAL) no clue if it will actually work however. Re-writing the matrix scan routines in QMK to be open-drain compatible might be the more appropriate approach for your use-case |
I updated this file |
Currently when compiling for qmk it will not compile unless you uncomment this line.
Is this a bug or am I missing something? I have mentioned it in qmk/qmk_firmware#21621.
The text was updated successfully, but these errors were encountered: