Hi,
It took a lot of "exercise" to get the rotary dial to reliably rotate. However, it does not seem to create numbers at all on the OLED. At first, I thought the cam gear might be misaligned, but it was spot on. I listened very carefully to the switch and determined that it wasn't clicking at all when the cam rotated. I could depress the switch with a screw driver and make it click, though.
So, I carefully bent the switch arm slightly so that it would engage better with the cam. Now, at rest, the switch is fully depressed and "clicks" with each rotation of the dial. I think this is the desired outcome. However, it still does not register any numbers on the OLED when I rotate the dial.
I tried flashing the statusline branch of the firmware, but that didn't change the behavior, either. Here is a quick video showing the issue.
https://photos.app.goo.gl/zxpAQtxXPUcgc33bA
Any ideas?
Thanks,
eppy
Rotary Dial does not seem to make numbers appear
Moderator: gomeznicole303
Re: Rotary Dial does not seem to make numbers appear
Well, I added some code to the firmware and confirmed that the rotary is registering in hardware.
Which now produces this in the serial window when I rotate the dial.
So, I think bending the switch lever helped. I'm not sure why it isn't registering the numbers, yet, but I'll have to look further through the firmware to determine how that is done. I've definitely got a long way to go to understand the code, right now I'm just messing around.
Hope everyone has a fun holiday!
Thanks,
eppy
Code: Select all
diff --git a/rusp_firmware.ino b/rusp_firmware.ino
index 53264cf..dc2fcca 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
Code: Select all
OK
rotary...
rotary...
rotary...
rotary...
rotary...
rotary...
Hope everyone has a fun holiday!
Thanks,
eppy