RNode serial communication strangeness. #440
-
I'm trying to get a serial command system for RNode testing. I'm getting some strange results from C#, and I'm not sure if it's my code, the ESP32, the firmware, or a serial error. This is my terminal session:
Here's the important bits, remembering this is a slap-dash tool I made for personal use:
This returns 36 8C 00 00 instead of 36 8C D8 00, or 915,144,704 instead of 915,200,000. There is a similar error in the bandwidth system.
Same issue, returning 00 01 00 00 instead of 00 01 E8 48 . It's suspicious in both cases that the lower two bytes are zero. However:
The radio comes up correctly, and the waterfall functions correctly. This confuses me in a few ways. Does anyone familiar with the firmware or serial control mechanisms have any thoughts on where the error lies or any good ways forward? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 6 replies
-
Is this happening on firmware compiled from the source repo, or installed from the binary releases? |
Beta Was this translation helpful? Give feedback.
-
I'm having a lot of Windows issues right now. I think that's the root of a lot of it. I'll try sending this over to a Linux system, but I don't think any of my current test systems have Mono. I'll be a hot second. Anyway, hooked up the SDR, and it seems to broadcast correctly (proper center frequency, actually exceptionally accurate, correct bandwidth, etc.). However I get maybe one or two announces before I get major problems in Sideband (which works on Windows? That surprised me) and rnsd --verbose shows that it's having the same problems, just failing gracefully.
This is exactly the issue I had with my C# RNode Interface. It would fail out with the lowest two bites being unset. It usually came up on a warm boot but not a cold one. Since it's happening ion the reference implementation, I think we can rule out my implementation and C#. I'll do a Linux Python test just to make sure, then move on to Linux C#.
It doesn't help that I can't reliably reproduce this issue. It seems that the Python implementation seems to work through reboots, etc. after the first failure of the . . . whatever. Even through power cycles. I need to write a test transmission routine, then will report back. |
Beta Was this translation helpful? Give feedback.
-
Yup. Looks like the bandwidth autocorrects to 250k or 125k but center frequency is at ~915.138 MHz, so it looks like the readback of the registers is correct. However, to have this make even less sense, if I change the frequency or BW while the radio is up, the bandwidth does exactly what I tell it to do, and the frequency goes to 915MHz, but refuses to go to 915.2. In fact it snaps from .144 (request .200) to .275 (request ,280). Am I missing a register for fine frequency control or something? That would explain some of this, but not why it needs to be configured to be brought up, then needs to be reconfigured while up. |
Beta Was this translation helpful? Give feedback.
sigh
Wrote:
Meant:
Situation resolved. PEBCAK.