qmk / qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families
https://qmk.fm
GNU General Public License v2.0
18.09k stars 38.89k forks source link

[Bug] input_club/ergodox_infinity unresponsive on latest version #24417

Closed etdub closed 1 week ago

etdub commented 2 weeks ago

Describe the Bug

input_club/ergodox_infinity doesn't work when compiling against HEAD. Display lights up but doesn't render anything. No output when connected.

QMK works when compiling from cd0043de8f (0.24.7)

Keyboard Used

input_club/ergodox_infinity

Link to product page (if applicable)

No response

Operating System

Windows

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.5
Ψ QMK home: C:/Users/ericw/qmk_firmware
Ψ Detected Windows 10 (10.0.22631).
Ψ QMK MSYS version: 1.9.0
Ψ Userspace enabled: False
Ψ Git branch: master
Ψ Repo version: 0.26.4
⚠ Git has unstashed/uncommitted changes.
Ψ - Latest master: 2024-09-20 02:28:57 +0100 (61778f6136) -- Fix a_jazz/akc084 render (#24411)
Ψ - Latest upstream/master: 2024-09-20 02:28:57 +0100 (61778f6136) -- Fix a_jazz/akc084 render (#24411)
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: 2024-09-20 02:28:57 +0100 (61778f6136) -- Fix a_jazz/akc084 render (#24411)
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 12.2.0
Ψ Found avr-gcc version 12.2.0
Ψ Found avrdude version 7.0
Ψ Found dfu-programmer version 1.1.0
Ψ Found dfu-util version 0.11
Would you like to clone the submodules? [Y/n] y
Ψ Submodule status:
Ψ - lib/chibios: 2024-02-17 19:20:06 +0000 --  (be44b3305)
Ψ - lib/chibios-contrib: 2024-04-03 20:39:24 +0800 --  (77cb0a4f)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

Other keyboard-related software installed

No response

Additional Context

No response

tzarc commented 1 week ago

You'll have to git bisect on your own I'm afraid -- none of the maintainers have access to this board.

etdub commented 1 week ago

Understandable. I'll see if I can find the commit.

etdub commented 1 week ago

git bisect was able to narrow it down to this commit. I'm not familiar with QMK and microcontrollers in general. Happy to test any patches and provide more debugging info. [daa777d6fb655c5fe16df4b3f1e89a37ab35dc57] [WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439)

git bisect start
# status: waiting for both good and bad commits
# bad: [61778f6136cac6f73ad042a1fb85b6bb548a7c1c] Fix a_jazz/akc084 render (#24411)
git bisect bad 61778f6136cac6f73ad042a1fb85b6bb548a7c1c
# status: waiting for good commit(s), bad commit known
# good: [cd0043de8ffaa1cdbeb86f242b250c8d23f5a231] Fix Layout_Arrow 3rd key in bottom row (#23443)
git bisect good cd0043de8ffaa1cdbeb86f242b250c8d23f5a231
# good: [c60554e0903b77b30eb2c85a463b7817460e6e14] Merge remote-tracking branch 'origin/master' into develop
git bisect good c60554e0903b77b30eb2c85a463b7817460e6e14
# good: [4d4ccdc41a34ac74081eea4d530da281a9da5f00] Merge remote-tracking branch 'origin/master' into develop
git bisect good 4d4ccdc41a34ac74081eea4d530da281a9da5f00
# bad: [59c275afbc2f01dbee750c0a59e20ada2913252b] Check LED flags for Pixel Fractal effect (#23881)
git bisect bad 59c275afbc2f01dbee750c0a59e20ada2913252b
# good: [fd44e9611033ed5baf33585dc72decbe78939c00] Merge remote-tracking branch 'origin/master' into develop
git bisect good fd44e9611033ed5baf33585dc72decbe78939c00
# bad: [23e7d93d0e30de2dea0fc2d541e4aa41edddc809] Merge remote-tracking branch 'origin/master' into develop
git bisect bad 23e7d93d0e30de2dea0fc2d541e4aa41edddc809
# bad: [5a0112df089727b3c2321cc2373921afb856f7dc] Migrate half-duplex `SERIAL_USART_TX_PIN` to DD (#24143)
git bisect bad 5a0112df089727b3c2321cc2373921afb856f7dc
# good: [35356c4623ac767f81342fd49f90a193ab9afcf3] Merge remote-tracking branch 'origin/master' into develop
git bisect good 35356c4623ac767f81342fd49f90a193ab9afcf3
# bad: [daa777d6fb655c5fe16df4b3f1e89a37ab35dc57] [WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439)
git bisect bad daa777d6fb655c5fe16df4b3f1e89a37ab35dc57
# good: [275e9de350d3588ddab058fda6536111b7a27fdc] Remove pointless `RGB_MATRIX_LED_COUNT`s (#24133)
git bisect good 275e9de350d3588ddab058fda6536111b7a27fdc
# good: [e69be076fc1da66e7cebbb5f4f7ad9ddb851d687] Merge remote-tracking branch 'origin/master' into develop
git bisect good e69be076fc1da66e7cebbb5f4f7ad9ddb851d687
# first bad commit: [daa777d6fb655c5fe16df4b3f1e89a37ab35dc57] [WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439)
sigprof commented 1 week ago

Looks like the ST7565 LCD driver calls spi_start() without spi_stop() in st7565_render(). Adding a spi_stop(); line before st7565_on(); might fix things (st7565_on() may call spi_start() again, so the spi_stop() call needs to be done before).

(Apparently input_club/ergodox_infinity is the only user of that ST7565 driver.)

etdub commented 1 week ago

It looks like adding a spi_stop() did the trick. Able to compile from HEAD and keyboard seems to be working.

Appreciate the help especially when this is the only keyboard using this driver!