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

inputmodule-control led-matrix -v leads to timeout error #131

Open
sjjh opened this issue Dec 4, 2024 · 3 comments
Open

inputmodule-control led-matrix -v leads to timeout error #131

sjjh opened this issue Dec 4, 2024 · 3 comments

Comments

@sjjh
Copy link

sjjh commented Dec 4, 2024

I'm using Ubuntu 24.04.1. I downloaded the inputmodule software from this repo. I've also added the udev rules and run $ sudo udevadm control --reload && sudo udevadm trigger as mentioned in the readme:

$ ls -l /etc/udev/rules.d/50-framework-inputmodule.rules 
-rw-r--r-- 1 root root 446 Nov 30 22:34 /etc/udev/rules.d/50-framework-inputmodule.rules

inputmodule runs and detects the led matrix input modules:

$ inputmodule-control -V
inputmodule-control 0.1.8
$ inputmodule-control -l
/dev/ttyACM0
  VID     0x32AC
  PID     0x0020
  SN      FRAKDEBZ0100000000
  Product LED_Matrix_Input_Module
/dev/ttyACM1
  VID     0x32AC
  PID     0x0020
  SN      FRAKDEBZ0100000000
  Product LED_Matrix_Input_Module

But when queering the modules, I receive a timeout error message (call including full backtrace (RUST_BACKTRACE=full)):

$ inputmodule-control led-matrix -v
Device Version: 0.2.0
thread 'main' panicked at 'Found no data!: Custom { kind: TimedOut, error: "Operation timed out" }', inputmodule-control/src/inputmodule.rs:352:10
stack backtrace:
   0:     0x64a51b9c4ad0 - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x64a51b9c4ad0 - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x64a51b9c4ad0 - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x64a51b9c4ad0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x64a51b96501e - core::fmt::write::h5a4baaff1bcd3eb5
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
   5:     0x64a51b9a0ae4 - std::io::Write::write_fmt::h4bc1f301cb9e9cce
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
   6:     0x64a51b9c5fd7 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x64a51b9c5fd7 - std::sys_common::backtrace::print::h54ca9458b876c8bf
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x64a51b9c5d75 - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
   9:     0x64a51b9c635a - std::panicking::default_hook::ha3500da57aa4ac4f
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:290:9
  10:     0x64a51b9c635a - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:692:13
  11:     0x64a51b9c6184 - std::panicking::begin_panic_handler::{{closure}}::h9e2b2176e00e0d9c
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:583:13
  12:     0x64a51b9c60e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h5739b8e512c09d02
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
  13:     0x64a51b9c60d1 - rust_begin_unwind
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
  14:     0x64a51b8c6d32 - core::panicking::panic_fmt::hf33a1475b4dc5c3e
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
  15:     0x64a51b8c70a2 - core::result::unwrap_failed::hdff5465d74574b44
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1750:5
  16:     0x64a51b8fcd89 - core::result::Result<T,E>::expect::h09ad2071d782a90c
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1047:23
  17:     0x64a51b8fcd89 - inputmodule_control::inputmodule::get_device_version::hb190c9fd686275ce
                               at /home/runner/work/inputmodule-rs/inputmodule-rs/inputmodule-control/src/inputmodule.rs:351:5
  18:     0x64a51b8f85fd - inputmodule_control::inputmodule::serial_commands::haded42d84a5f6028
                               at /home/runner/work/inputmodule-rs/inputmodule-rs/inputmodule-control/src/inputmodule.rs:241:21
  19:     0x64a51b8ff147 - inputmodule_control::main::hd73c270150b5884e
                               at /home/runner/work/inputmodule-rs/inputmodule-rs/inputmodule-control/src/main.rs:63:20
  20:     0x64a51b8e18c3 - core::ops::function::FnOnce::call_once::h60cafe144945ca54
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
  21:     0x64a51b8e18c3 - std::sys_common::backtrace::__rust_begin_short_backtrace::hf44eaa5f7d26e481
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:134:18
  22:     0x64a51b917789 - main
  23:     0x7dae6522a1ca - __libc_start_call_main
                               at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  24:     0x7dae6522a28b - __libc_start_main_impl
                               at ./csu/../csu/libc-start.c:360:3
  25:     0x64a51b8c9d55 - _start
  26:                0x0 - <unknown>
@JorianWoltjer
Copy link

JorianWoltjer commented Dec 7, 2024

I am having the same issue on version 0.2.0. However, other commands do seem to work like:

inputmodule-control led-matrix --percentage 30

After some more testing, these commands do work:

  • --image-bw
  • --start-game
  • --stop-game

But these commands still don't:

  • -v
  • --image-gray

@sjjh
Copy link
Author

sjjh commented Dec 7, 2024

Good to know, that I'm not alone on this. I initially didn't try other commands after -v didn't work for me.
So, tried again: The issue seems to be a bit arbitrary, or maybe a timing issue. I couldn't get --image-gray to work either. I tried --symbols heart a couple of times and sometimes it only appears on one side (having two led-matrix modules here). If I use --brightness 20 and right after -v, the -v does actually work for me. If I wait until the led-matrix modules turn itself off and try -v again, I still get a time out error again (and on one side the heart-symbol appears again...)...

@JorianWoltjer
Copy link

Oh big update for me, I tried doing this in WSL by attaching the COM interface using the method explained here. This seems to work for some commands, but not others.

The solution (for me) is to do it natively on Windows because this project supports it. After building on Windows and using the .exe to control it, all commands appear to work as expected (except still -v for some reason).

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

No branches or pull requests

2 participants