Replies: 13 comments 21 replies
-
That's something I was going to look into, or ask Erik about, whether the TinySA sends the whole scan once complete or as it runs. The data retrieval is based on your NanoVNA/TinySA toolset code so maybe that's something you could look at and I can then copy? |
Beta Was this translation helpful? Give feedback.
-
I have already added a 'scan progress' bar to the GUI but it doesn't do anything yet. It could be driven from the data retrieval blocks. |
Beta Was this translation helpful? Give feedback.
-
Sending a a single dot ('.') on a line should cancel it if I remember well |
Beta Was this translation helpful? Give feedback.
-
Maybe @DiSlord knows a trick to interrupt the scan_raw? |
Beta Was this translation helpful? Give feedback.
-
I also meant to ask Erik if Scanraw adds scan points if needed by the sweep span, like I read that the TinySA itself does, or if I need to do something like that as well. From looking at how fast it scans with different settings I think it must add points but it would be nice to know. On the 'number of scan points' I wondered if there were numbers that are impossible, due to synthesiser step size perhaps, or if the TinySA firmware just hops on to the nearest valid frequency. I like the idea of retaining a fairly small number of points because it's very fast. If there are no impossible numbers then it would be neat to change the combo box to an integer spinbox. What limits would you put on it? |
Beta Was this translation helpful? Give feedback.
-
Some comments to the new
The last read
this is the starting 'x' from the 3 byte block ('x', LSB, MSB), it can be used e.g. as another sanity check if we are still in sync:
Please check also my PR that enables unbuffered scanraw, i.e. the 3 byte blocks are transferred immediately. |
Beta Was this translation helpful? Give feedback.
-
Hi Martin, Yes I spotted that it doesn't work for slow scans and had the crashes :-(. I measured the serial port transaction times with 'fast' scans and they are typically 0.1mS but sometimes 120mS. I don't know if this is my PC (which is pretty fast, AMD Ryzen 5) or the TinySA or perhaps both are distracted doing something else. If I emit the signal from the worker thread every 3 bytes, for higher points / lower RBW it overloads the GUI event loop and it becomes unresponsive, so I am experimenting with bigger chunks. Something else it might be worth asking Erik about is if 'scanraw' could have a looping option and send some kind of signal when it's starting a fresh loop, or include the frequency as well as the level in the line-by-line output. It appears to take a long time to re-send the scan command and for the measurement to re-start (but I only measured this once). The problem then would be how to stop it looping. My last read: null = (serialPort.read(3)) # discard the command prompt Wsa intended to read in the b'> '. Perhaps I need to set that to null = (serialPort.read(2))? |
Beta Was this translation helpful? Give feedback.
-
I just pushed my latest version to 'development'. I think the incremental trace is working quite well now. I have made the 3D graph optional to reduce the graphics load. 'History' is now adjustable too, and 'points' is an integer spinbox with a range of 100 to 3500. |
Beta Was this translation helpful? Give feedback.
-
Martin, I think the code would be more efficient if the 'measurement' function read the entire buffer of 20 readings at once, but I haven't figured out how to do that, could you tell me how to do it please? That way there would be no need to count 20 readings before updating the GUI, it could occur once every buffer. I have changed the way the programme starts up so that it will load if the TinySA isn't connected. I would appreciate it if you could check it still works on the 'original' TinySA, then I will update the main branch from development and post something on the TinySA group. Perhaps I should create a 0.1 'release'. Thanks for your help. Ian |
Beta Was this translation helpful? Give feedback.
-
tinySA ultra has spur auto,on and off. Basic only has on,off
Ultra needs auto when scanning above 800MHz
…On Tue, Jul 18, 2023, 20:40 Martin ***@***.***> wrote:
Ian,
On my 1st glance it looks good, my tinySA 'Basic' also is detected and
works fine. One point I would like to modify is the different 'Spur'
behaviour, the Ultra has the commands spur auto and spur off, while the
Basic uses spur on and spur off. I will have a deeper look at the weekend
- also for the blocksize 20 change (maybe it doesn't make a big difference
due to the buffering by the usb kernel code).
Martin
—
Reply to this email directly, view it on GitHub
<#6 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABDIMRDFWRWFNPFJEVX5N6DXQ3KDJANCNFSM6AAAAAAZZNVPNA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi Martin, The time-out calculation is now too short and is causing the app to hang with 'unpack' errors. For example with these settings, when dragging marker 1 |
Beta Was this translation helpful? Give feedback.
-
that was from a long time ago, it seems to be ok as it is so must have been something else |
Beta Was this translation helpful? Give feedback.
-
v0.11.7 now uses the new scanraw auto-repeat option from firmware 1.4.177 which speeds up faster sweeps quite noticeably |
Beta Was this translation helpful? Give feedback.
-
When scanning a wide frequency range with low RBW the response is very slow - regardless of the number of points!
Some time ago I tried to receive point by point by reading only 3 bytes at a time and found out that the tinySA (at least the tinySA Basic) answers in blocks of 20 points. So a wide scan with 20 points that takes e.g. 1 minute sends the complete response (
b'{xXXxXX...xXX}ch> '
) after this minute, while the same frequency range with 600 points sends the 1st answer (20 points) already after 2 seconds.Dunno if it's possible to build the trace step by step like also on the tinySA screen.
Beta Was this translation helpful? Give feedback.
All reactions