Page 1 of 1

Answering incoming call doesn't work on main branch firmware, but does on statusline branch

Posted: Tue Dec 23, 2025 2:46 pm
by eppy
Hi RUSP family,

I'm running into a third issue. On the main branch of firmware, it doesn't seem like I can answer the line when a phone call is incoming. However, when I flash the statusline branch, it seems to work fine.

This is the repository I'm working with.

https://github.com/skysedge/rusp_firmware

Here is a video of me trying to answer a call with the main branch and how I'm flashing the firmware. I then flash with the statusline branch and show that I can answer the call. The speaker is disconnected in the video, but that seems to work fine on the statusline firmware.

https://photos.app.goo.gl/SFEXcC6Bkww9v26H8 (newer video)

Any thoughts? Are there other forks of the firmware that folks are working on that you can share?

Thanks,
eppy

Re: Answering incoming call doesn't work on main branch firmware, but does on statusline branch

Posted: Tue Dec 23, 2025 9:24 pm
by eppy
I threw in some debugging in the firmware and can confirm that the hook button is working at least.

Code: Select all

diff --git a/rusp_firmware.ino b/rusp_firmware.ino
index 53264cf..9d0b0de 100644
--- a/rusp_firmware.ino
+++ b/rusp_firmware.ino
@@ -108,6 +108,7 @@ unsigned long last_filament_toggle = 0;
 // tied-to-GND normally-open limit switch that rolls against a cam
 void isr_rotary()
 {
+  Serial.print("rotary...\r\n");
        // only count if the hall triggered
        if (!pulsing) return;
        // debounce
@@ -130,6 +131,7 @@ void isr_rotary()
 
 void isr_hall()
 {
+  Serial.print("hall...\r\n");
        pulsing = true;
        pulses = 0;
        // Capture hook button state immediately (safe in ISR - just reading a pin state)
@@ -140,6 +142,7 @@ void isr_hall()
 
 void isr_hook()
 {
+  Serial.print("hook...\r\n");
        unsigned long hook_cur = millis();
        if (hook_cur - hook_last > 30) {
                hook_last = hook_cur;
Which produced the following.

Code: Select all

OK
AT

OK
hook...
It's interesting, for a moment, it did produce the "hall" output as well. But, I'm not sure what I did. I was tightening the daughterboard screw that holds the mallet in place when it showed and blinked a bunch of lights at the same time. What is the hall sensor for?

Code: Select all

rotary...
hall...
hook...
rotary...
rotary...
rotary...
rotary...
rotary...
rotary...
rotary...
rotary...
rotary...
rotary...
OLED showing digit: 3
ALT mode: n=3, hook_during_dial=0, speed_dial=0
Alt mode: Loading contact page 3
ePaper: Initializing for contacts...
ePaper: Calling init()...
ePaper: Init complete, Serial restarted
Page 3: Showing contacts 19 to 27
Failed to open contacts.txt
Failed to open contacts.txt
Failed to open contacts.txt
Failed to open contacts.txt
Failed to open contacts.txt
Failed to open contacts.txt