Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
- Tinysa
- Messages
Search
Re: New FW release: Improved correction curves for ZS406
toggle quoted message
Show quoted text
|
||||
Re: New FW release: Improved correction curves for ZS406
Hi Erik - thanks for all the hard work, much appreciated. Do these new FW upgrades that are specifically identified as being for the new ZSXXX series of analyzers also apply to the original Ultra devices prior to the new series being introduced?
?
Dino |
||||
measure>harmonics, some remarks
So measuring harmonics uses the multiband feature and span sets the measuring span around the fixed harmonics calculated from the center frequency.
But after setting measure 'off' multiband is still enabled. Is this a possible bug?
?
Also: if you have a personal set of multiband measurements don't forget to save this to sd, because measuring harmonics will replace your settings.
?
BTW: Something I noticed on my sa: there is a signal on 60 MHz around -100 dBm with all harmonics present that seems to be internal. Only visible if you set a small RBW to lower the noise floor.?
Some internal xtal? |
||||
Re: Pre-sale, tinySA ULTRA plus
Was the older 405-model also upgraded to an IPS display, I remember talks about 1? year back, but not sure if it was effected in practise.
The unit most people have is likely the old TFT LCD display variant, which has TFT's infamous off-axis contrast & color-shifting, so the move to IPS LCDs is positive if it's a good IPS panel without too much glow/blooming. |
||||
Re: Issues with TinySA USB Connection in C#
i have the same orre on the latest version of TinySA firmware
tinySA4_v1.4-192-g73fe677
HW Version:V0.4.5.1 ? ? ? 2025-01-07 18:23:07: 1: (-66.8, 97976963.0)?
2025-01-07 18:23:09: 2: (-65.0, 32418392.0)? 2025-01-07 18:23:12: 3: (-65.3, 97881867.0)? 2025-01-07 18:23:14: 4: (-64.8, 98086843.0)? 2025-01-07 18:23:16: 5: (-63.0, 33212113.0)? 2025-01-07 18:23:18: 6: (-63.8, 98083796.0)? 2025-01-07 18:23:20: 7: (-63.5, 34743875.0)? 2025-01-07 18:23:22: 8: (-64.8, 98208663.0)? 2025-01-07 18:23:24: 9: (-63.5, 33492749.0)? 2025-01-07 18:23:27: 10: (-65.0, 32733354.0)? 2025-01-07 18:23:29: 11: (-65.2, 98325254.0)? 2025-01-07 18:23:31: 12: (-70.7, 371754465.0)? 2025-01-07 18:23:33: 13: (-65.2, 98178823.0)? 2025-01-07 18:23:35: 14: (-66.7, 98162583.0)? 2025-01-07 18:23:37: 15: (-63.5, 32824419.0)? 2025-01-07 18:23:40: 16: (-63.0, 33520768.0)? 2025-01-07 18:24:12: 17: (-65.2, 98137148.0)? An error occurred: could not convert string to float: '1 19 33606812 -6.10e+01' reseted An error occurred: Write timeout Traceback (most recent call last): ? File "C:\Source\TinyPyton\TinySAServer1.py", line 18, in run_server ? ? freq_data = device.get_freq_data() ? File "C:\Source\TinyPyton\TinySAModule.py", line 240, in get_freq_data ? ? return self._fetch_frequencies() ? ? ? ? ? ?~~~~~~~~~~~~~~~~~~~~~~~^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 129, in _fetch_frequencies ? ? x.append(float(line)) ? ? ? ? ? ? ?~~~~~^^^^^^ ValueError: could not convert string to float: '1 19 33606812 -6.10e+01' During handling of the above exception, another exception occurred:
Traceback (most recent call last):
? File "C:\Source\TinyPyton\TinySAServer1.py", line 18, in run_server ? ? freq_data = device.get_freq_data() ? File "C:\Source\TinyPyton\TinySAModule.py", line 240, in get_freq_data ? ? return self._fetch_frequencies() ? ? ? ? ? ?~~~~~~~~~~~~~~~~~~~~~~~^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 124, in _fetch_frequencies ? ? self._send_command("frequencies\r") ? ? ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 81, in _send_command ? ? self.serial.write(cmd.encode()) ? ? ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ ? File "C:\Users\User\AppData\Local\Programs\Python\Python313\Lib\site-packages\serial\serialwin32.py", line 325, in write ? ? raise SerialTimeoutException('Write timeout') serial.serialutil.SerialTimeoutException: Write timeout During handling of the above exception, another exception occurred:
Traceback (most recent call last):
? File "C:\Source\TinyPyton\TinySAServer1.py", line 41, in <module> ? ? start_server() ? ? ~~~~~~~~~~~~^^ ? File "C:\Source\TinyPyton\TinySAServer1.py", line 11, in start_server ? ? run_server(device) ? ? ~~~~~~~~~~^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAServer1.py", line 38, in run_server ? ? run_server(device) ? ? ~~~~~~~~~~^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAServer1.py", line 36, in run_server ? ? device._send_command("reset\r") ? ? ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 83, in _send_command ? ? _ = self.serial.readline() ?# discard empty line ? File "C:\Users\User\AppData\Local\Programs\Python\Python313\Lib\site-packages\serial\serialwin32.py", line 275, in read ? ? raise SerialException("ClearCommError failed ({!r})".format(ctypes.WinError())) serial.serialutil.SerialException: ClearCommError failed (PermissionError(13, 'The device does not recognize the command.', None, 22)) |
||||
Re: Failing Self Test after v1.4-159 upgrade
#firmware_update
#tinysa
#ultra
See FAQ in WiKi
--
Designer of the tinySA For more info go to |
||||
Re: Failing Self Test after v1.4-159 upgrade
#firmware_update
#tinysa
#ultra
And what LNA is used in TinySA Ultra? It seems mine is also out of order. It does not pass tests 10 and 14. |
||||
Re: Mesure IMD with Two Tone and TinySA Ultra
Which brings up a good point.? When testing for weak signals such as IMD you should first look for the strongest signal that your device will be exposed to.? That includes other signals that may be present at the location you are at.? My Anritsu Sitemaster and Cellmaster both alert me with a tone to warn me that a high level signal above it's allowable level is present.? This may be a high powered FM or TV station at the site.? Also, you may be tempted to reduce attenuation to be able to see the IMD, only to allow another signal to cause damage to your device.
toggle quoted message
Show quoted text
Joe, K1ike On 1/5/2025 4:19 AM, MaxPi via groups.io wrote:
Firstly, 100 watts is 50 dBm, so the output power after your attenuator (50dBm - 40dB = 10dBm) will exceed the permitted 6 dBm for the TinySA. Although I would highly recommend not to exceed 0dBm at the input, for all signals including harmonics. |
||||
Re: Issues with TinySA USB Connection in C#
I have this verion of TinySAUltra
?
tinySA4_v3.1.1-0-g216dfe30
HW Version:V0.4.5.1 ?
I created this script which use this Python class for the tinySA Ultra at??.
import time import datetime
import TinySAModule
def start_server():
? ?
? ? device = TinySAModule.tinySA()
? ? device.open()
? ? version = device.get_version()
? ? print(version)
? ? run_server(device)
def run_server(device):
? ? i = 0
? ? while True:
? ? ? ? try:
? ? ? ? ? ? i=i+1 ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? freq_data = device.get_freq_data()
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ? data1= device._data(1)
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ? data2= device._data(2)
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ? marker = device.get_marker_value()
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ?
? ? ? ? ? ? timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") ? ? ? ? ? ?
? ? ? ? ? ? print(f"{timestamp}: {i}: {marker} ")
? ? ? ? ? ?
? ? ? ? ?
? ? ? ? except Exception as e:
? ? ? ? ? ? print(f"An error occurred: {e}")
? ? ? ? ? ? device._send_command("reset\r")
? ? ? ? ? ? print(f"reseted")
? ? ? ? ? ? run_server(device) ? ? ? ? ?
if __name__ == "__main__":
? ? start_server()
After few iterations I get this error 2025-01-07 14:44:08: 51: (-56.9, 2412312214.0)?
An error occurred: could not convert string to float: '1 236 2412310036 -5.67e+01' reseted An error occurred: Write timeout Traceback (most recent call last): ? File "C:\Source\TinyPyton\TinySAServer1.py", line 19, in run_server ? ? freq_data = device.get_freq_data() ? File "C:\Source\TinyPyton\TinySAModule.py", line 240, in get_freq_data ? ? return self._fetch_frequencies() ? ? ? ? ? ?~~~~~~~~~~~~~~~~~~~~~~~^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 129, in _fetch_frequencies ? ? x.append(float(line)) ? ? ? ? ? ? ?~~~~~^^^^^^ ValueError: could not convert string to float: '1 236 2412310036 -5.67e+01' During handling of the above exception, another exception occurred:
Traceback (most recent call last):
? File "C:\Source\TinyPyton\TinySAServer1.py", line 19, in run_server ? ? freq_data = device.get_freq_data() ? File "C:\Source\TinyPyton\TinySAModule.py", line 240, in get_freq_data ? ? return self._fetch_frequencies() ? ? ? ? ? ?~~~~~~~~~~~~~~~~~~~~~~~^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 124, in _fetch_frequencies ? ? self._send_command("frequencies\r") ? ? ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 81, in _send_command ? ? self.serial.write(cmd.encode()) ? ? ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ ? File "C:\Users\User\AppData\Local\Programs\Python\Python313\Lib\site-packages\serial\serialwin32.py", line 325, in write ? ? raise SerialTimeoutException('Write timeout') serial.serialutil.SerialTimeoutException: Write timeout During handling of the above exception, another exception occurred:
Traceback (most recent call last):
? File "C:\Source\TinyPyton\TinySAServer1.py", line 42, in <module> ? ? start_server() ? ? ~~~~~~~~~~~~^^ ? File "C:\Source\TinyPyton\TinySAServer1.py", line 11, in start_server ? ? run_server(device) ? ? ~~~~~~~~~~^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAServer1.py", line 39, in run_server ? ? run_server(device) ? ? ~~~~~~~~~~^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAServer1.py", line 37, in run_server ? ? device._send_command("reset\r") ? ? ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ ? File "C:\Source\TinyPyton\TinySAModule.py", line 83, in _send_command ? ? _ = self.serial.readline() ?# discard empty line ? File "C:\Users\User\AppData\Local\Programs\Python\Python313\Lib\site-packages\serial\serialwin32.py", line 275, in read ? ? raise SerialException("ClearCommError failed ({!r})".format(ctypes.WinError())) serial.serialutil.SerialException: ClearCommError failed (PermissionError(13, 'The device does not recognize the command.', None, 22)) |
||||
Re: Issues with TinySA USB Connection in C#
On Mon, Jan 6, 2025 at 08:36 AM, <voloshyn.v.v@...> wrote:
I tried to implement the same behavior using this Python script: . I created a small script and ran it, but it stopped working after a few hundred operation. That's surprising.? Python's serial port driver is much better implemented than the one for C#.? Both NanoVNASaver and QtTinySA are robust applications using Python and I have not heard of similar problems using them for long term operations.
?
Try this Python class for the tinySA Ultra at .
It appears well written with additional delays for read and write operations, and is based on the NanoVNASaver serial port script.?
?
Herb |
||||
Re: Issues with TinySA USB Connection in C#
I tried to implement the same behavior using this Python script: . I created a small script and ran it, but it stopped working after a few hundred operation.?
?
import time
import TinySAModule
def start_server():
? ?
? ? nv = TinySAModule.tinySA()
? ? print("Connecting to TinySA...")
? ?
? ? i = 0
? ? try:
? ? ? ? while True:
? ? ? ? ? ? i=i+1
? ? ? ? ? ? print(i)
? ? ? ? ? ?
? ? ? ? ? ? nv.send_command("frequencies\r")
? ? ? ? ? ? frequencies = nv.fetch_data() ?
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ? nv.send_command("data 1\r")
? ? ? ? ? ? data1 = nv.fetch_data()
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ? nv.send_command("data 2\r")
? ? ? ? ? ? data2 = nv.fetch_data()
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ? ? nv.send_command("marker 1\r")
? ? ? ? ? ? marker = nv.fetch_data()
? ? ? ? ? ? time.sleep(0.2)
? ? ? ? ?
? ? ? ? ? ? packet = f"{frequencies},{data1},{data2},{marker}\n" ? ? ? ? ? ? ? ? ?
? ? except KeyboardInterrupt:
? ? ? ? print("Server stopped.")
? ? except Exception as e:
? ? ? ? print(f"An error occurred: {e}")
? ? finally: ? ? ?
? ? ? ? nv.disconnect()
? ? ? ? nv.close()
? ? ? ?
if __name__ == "__main__":
? ? start_server()
?
It looks strange because when I send only the 'marker 1' command from the C# program, it worked for a few days without stopping.
?
|
||||
Re: Mesure IMD with Two Tone and TinySA Ultra
Hi:
?
As noted elsewhere, you'll need more attenuation in a form that can handle the power. I usually start my test chain with a 50db 100 watt attenuator and then add others as needed.
?
The neat built in function in the TinySA is really useful, but most amateur (and commercial) radio specifications for IMD are described in terms of the individual distortion components and how far below the "carrier" level they are in "dbc" the worst ones are - you may still need to examine the spectrum manually to determine the numbers you want.
?
The ARRL has a document describing how they conduct these measurements in their review labs and this is the usual way of arriving at the numbers used in their IMD measurements. It's important to set up the levels correctly for the tests.
?
?
I also have a number of short videos about doing this with other equipment (since the time the original TinySA lacked the resolution for doing this using the ARRL specs), but they might still be of some help in understanding the overall process.
?
?
hopefully this is not confusing the issue...
?
M
?
? |
||||
to navigate to use esc to dismiss