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
Answering incoming call doesn't work on main branch firmware, but does on statusline branch
Moderator: gomeznicole303
Re: Answering incoming call doesn't work on main branch firmware, but does on statusline branch
I threw in some debugging in the firmware and can confirm that the hook button is working at least.
Which produced the following.
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
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;
Code: Select all
OK
AT
OK
hook...
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