¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Tips on interfacing I/Q data into quisk?

 

¿ªÔÆÌåÓý

FWIW I use a Teensy 4 with the SGTL5000 codec module piggybacked on in my SDR project.? I created a custom USB type with 2 serial and 1 audio.? They have lots of predefined types like Serial+MIDI+Audio.? Audio default sample rate is 44.1KHz but it is possible to modify the library code to make it work at 48KHz.? ???I plug my SDR USB into a PC and run WSJTX on it with audio and CAT. The 2nd USB serial is open for debug still.? Or just keep and maybe use the MIDI which Quisk and other SDR apps can use.? Has several hardware UARTs as well.?? Handles all this along with hi res graphics.

?

The Teensy keyer has most of what you want already I think.? ??Hardware is nearing production if you want one prebuilt with a different codec an controls, MIDI enabled.?? O just use a bare T4.0 and Codec.

?

?

?

  • Mike K7MDL

?

From: [email protected] <[email protected]> On Behalf Of Ben Cahill
Sent: Tuesday, December 19, 2023 2:16 PM
To: [email protected]
Subject: Re: [n2adr-sdr] Tips on interfacing I/Q data into quisk?

?

How about PCM2906C chip from TI, with stereo codec and USB built-in?

?

It looks to be in the $10 price range from Mouser, so maybe pricier than you hoped, but it might save a heck of a lot of learning curve regarding USB audio ... I've been working on a project using USB audio, and it took me a *long time* to ramp up.

?

There may be other similar chips out there.

?

-- Ben, AC2YD --

?

On 12/19/23 16:51, Rob Frohne (KL7NA) wrote:

Hi Chuck,

Yes, this would be a nice way to do it, where the difficulty was on the MCU end.? I thought about it a bit and did a little research.? My major problem is that I was planning to use the UART to control the SDR and have that all working with Quisk using the UART.? I'm not even sure it is possible to get the Raspberry Pi Pico I'm using to simultaneously use the USB UART and be a USB soundcard. Do you have a good solution for this problem of control and audio simultaneously?

?

Thanks for the warning on the UART glitches.? If I pursue this, I need to make sure they don't happen for me before pursuing it.? I also do not like the non-standard interface to SDR software.? Another way I am considering doing it is to write a ?using the UART approach.? ? ?That overcomes the nonstandard problem, but might not be as easy as a simple hack to inject the sound data into Quisk.

Vendor and platform neutral SDR support library. Contribute to pothosware/SoapySDR development by creating an account on GitHub.

github.com

?73,

Rob

--

KL7NA


From: [email protected] <[email protected]> on behalf of Chuck Ritola via groups.io <cjritola@...>
Sent: Tuesday, December 19, 2023 10:40 AM
To: [email protected] <[email protected]>
Subject: Re: [n2adr-sdr] Tips on interfacing I/Q data into quisk?

?

CAUTION: This email originated from outside the Walla Walla University email system.

?

It might be wise to try having the Pico emulate a USB audio device and send its samples that way. Then no modification on the user's part need be done. There are a few examples of this. The work is not trivial:

?

USB Audio device emulation for a "USB microphone":

USB HID emulation examples:

?

A design to look at is the FUNCube Dongle series of SDRs, which emulated a stereo-input USB audio interface for the I/Q samples and a USB Human Interface Device for controlling the tuner, amplifiers, etc using a PIC32MX. Bandwidth limitations of USB 1.x were worked around by dropping the least-significant-byte of 24-bit samples so they are 16-bit. They turned out to work well. The Pico may be up to such a task.

?

What you are proposing is only different from a soundcard by name, with a proprietary communication format which will require modification of /every/ piece of software to use it directly, or at the least would require installation of supplementary software on the user's machine to make it compatible with existing SDR software. I've noticed odd irregularities in data rate when transferring constant data streams over UART, even when wrapped in USB.

?

The complexity of creating a stream format in UART, then modifying existing software to work with it, will likely exceed writing USB firmware on the pico. From an educational POV, learning how to make a USB device could prove quite valuable.

?

The Pico also has onboard ADCs which have 12 bits resolution. If that's good enough, that's another part removed from the schematic. Supposedly it takes 96 cycles to process each sample:

?

There are tricks with 4x oversampling, lowpass filtering, and decimating to add 1 ENOB to the resolution (repeat for more) but it is unclear if the pico can muscle it and juggle USB traffic at the same time. I wouldn't bother with that, because the bandwidth-limiting filters used in SDR software perform something mathematically similar to this task anyway.

?

On Mon, Dec 18, 2023 at 6:52?PM Nigel Johnson MIEEE via <nw.johnson=[email protected]> wrote:

I can completely identify with your problem.? Before I retired from teaching 6 years ago, I was faced with admin people who believed the sales critters more than the professors they were working for.

?

After succinctly specifying stereo input for the laptops, I got the 'they are stereo' feedback from admin and faculty laptops, together with the min spec for students, came with mono - but they had a handy numeric keypad for data entry - one of which I am still using having bought it off-lease.

?

My Communications systems 1 course was then equipped with a no-name USB sound card which worked well with a class set of Softrock 40s until I handed it over to another professor - one day I got an urgent call to go to the lab because the experiment was not working.

?

After explaining what the 'RIAA Equalisation' switch was for to the young professor who had taken over the course, I went back to experimenting with my Behringer UFO202 at my desk, which I still use to play with such stuff.

?

I have also had some results with their Line 2 USB for a compact box, but haven;t been able to get rid of the mountain at the zero beat point part of the spectrum while using it on a raspberry pi - I suspect that is a driver problem contoured for audiophiles and for which I have no access to support!

?

regards,

Nigel

?

Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU
Amateur Radio, the origin of the open-source concept!
Skype:? TILBURY2591 
?
?

On 2023-12-18 18:26, Rob Frohne (KL7NA) wrote:

Hi Jim, et. al.,

?

I am working on the software for my Electronics II class project for next quarter.? In the past, my students designed QSD based software defined receivers that we used to connect to Quisk via soundcard.? The problem is lately laptops do not come with stereo sound inputs and so a USB soundcard is needed.? Those are always a pain to purchase, because what was available last year is not this, or they have changed the specs to be mono input, or something so they don't work as well as the old ones we used to be able to get.? Every time you buy a USB soundcard, you take a risk.? I have lost that bet in the past.? This year I want to have the students grab the analog signals from for I and Q with their own ADC and send them to the host using the USB UART.? I will still have them add a 3.5 mm jack, but hopefully only for debugging.? We will be having JLCPCB build their boards and JLCPCB has a couple interesting audio ADCs that are a lot less expensive than a sound card.? The 24-bit one I'm using (PCM1808) is only fifty cents and the specs are better than the cheap soundcards I used before.? It will be nice to get rid of the 3.5 mm audio cable between the laptop and the SDR.? In the future, I might want to use an MCU with WIFI like the Raspberry Pi Pico W and send the same data over UDP so the SDR could be more remote to the host PC.? ?I think using the USB UART is a good first step in that direction, so at this point I am first pursuing that first.? ?I have done tests and can get 5.9 Mbps pretty easily over the?to a Linux host.? I want a 48 kHz sample rate and for this the bandwidth I need 3. Mbps to send 64 bits for each IQ pair (only 48 are needed, but we can use the extra 16 bits for each pair to send acknowledgements of commands or synchronizing data ).? I might even be able to get a 96 kHz sample rate in the 5.9 Mbps available.?

?

oThe thing I would very much like to know is where in Quisk I should inject this I/Q sound data that is not coming from a soundcard.? I have the hardware.py file figured out for controlling the SDR, but I'm looking for how the I/Q data connects to Quisk.? It almost looked like Hermes Lite data went directly into quisk.c, but I'm hoping there is something easier to interface to, than the main c program, which is daunting just to read.? ??

?

I have one other puzzling issue.? The actual sample rate (due to the Raspberry Pi Pico limitations)? is 48.0460 kHz, so I will need to discard samples or something to get the data rate to match the more accurate soundcard sample rate.? How close do I need to get it for Quisk to work properly?? You have a lot more experience with sample rate matching than I do, so any tips you have there would be appreciated.? I have some theoretical ideas that first reconstruct the analog signals from the sampled ones, then resample them at the correct rate, but I suspect that is not the best option and suspect just randomly discarding samples at the right rate might be better.?

?

The first sentence of the Quisk Docs says,? "This is Quisk, a Software Defined Radio (SDR). You supply an antenna and a complex (I/Q) mixer to convert the radio spectrum to a low IF. Then send that IF to your computer using the sound card, Ethernet or USB."? That is exactly what I want my students to do, and I need to minimize the software they have to worry about, because their learning objectives are more hardware oriented, though these days, you cannot skip the software altogether. ?

?

TNX & 73,

?

Rob

--

KL7NA


Re: Tips on interfacing I/Q data into quisk?

 

¿ªÔÆÌåÓý

How about PCM2906C chip from TI, with stereo codec and USB built-in?


It looks to be in the $10 price range from Mouser, so maybe pricier than you hoped, but it might save a heck of a lot of learning curve regarding USB audio ... I've been working on a project using USB audio, and it took me a *long time* to ramp up.


There may be other similar chips out there.


-- Ben, AC2YD --


On 12/19/23 16:51, Rob Frohne (KL7NA) wrote:

Hi Chuck,
Yes, this would be a nice way to do it, where the difficulty was on the MCU end.? I thought about it a bit and did a little research.? My major problem is that I was planning to use the UART to control the SDR and have that all working with Quisk using the UART.? I'm not even sure it is possible to get the Raspberry Pi Pico I'm using to simultaneously use the USB UART and be a USB soundcard. Do you have a good solution for this problem of control and audio simultaneously?

Thanks for the warning on the UART glitches.? If I pursue this, I need to make sure they don't happen for me before pursuing it.? I also do not like the non-standard interface to SDR software.? Another way I am considering doing it is to write a ?using the UART approach.? ? ?That overcomes the nonstandard problem, but might not be as easy as a simple hack to inject the sound data into Quisk.
Vendor and platform neutral SDR support library. Contribute to pothosware/SoapySDR development by creating an account on GitHub.
github.com
?73,
Rob

--

KL7NA


From: [email protected] <[email protected]> on behalf of Chuck Ritola via groups.io <cjritola@...>
Sent: Tuesday, December 19, 2023 10:40 AM
To: [email protected] <[email protected]>
Subject: Re: [n2adr-sdr] Tips on interfacing I/Q data into quisk?
?
CAUTION: This email originated from outside the Walla Walla University email system.

It might be wise to try having the Pico emulate a USB audio device and send its samples that way. Then no modification on the user's part need be done. There are a few examples of this. The work is not trivial:

USB Audio device emulation for a "USB microphone":
USB HID emulation examples:

A design to look at is the FUNCube Dongle series of SDRs, which emulated a stereo-input USB audio interface for the I/Q samples and a USB Human Interface Device for controlling the tuner, amplifiers, etc using a PIC32MX. Bandwidth limitations of USB 1.x were worked around by dropping the least-significant-byte of 24-bit samples so they are 16-bit. They turned out to work well. The Pico may be up to such a task.

What you are proposing is only different from a soundcard by name, with a proprietary communication format which will require modification of /every/ piece of software to use it directly, or at the least would require installation of supplementary software on the user's machine to make it compatible with existing SDR software. I've noticed odd irregularities in data rate when transferring constant data streams over UART, even when wrapped in USB.

The complexity of creating a stream format in UART, then modifying existing software to work with it, will likely exceed writing USB firmware on the pico. From an educational POV, learning how to make a USB device could prove quite valuable.

The Pico also has onboard ADCs which have 12 bits resolution. If that's good enough, that's another part removed from the schematic. Supposedly it takes 96 cycles to process each sample:

There are tricks with 4x oversampling, lowpass filtering, and decimating to add 1 ENOB to the resolution (repeat for more) but it is unclear if the pico can muscle it and juggle USB traffic at the same time. I wouldn't bother with that, because the bandwidth-limiting filters used in SDR software perform something mathematically similar to this task anyway.

On Mon, Dec 18, 2023 at 6:52?PM Nigel Johnson MIEEE via <nw.johnson=[email protected]> wrote:

I can completely identify with your problem.? Before I retired from teaching 6 years ago, I was faced with admin people who believed the sales critters more than the professors they were working for.


After succinctly specifying stereo input for the laptops, I got the 'they are stereo' feedback from admin and faculty laptops, together with the min spec for students, came with mono - but they had a handy numeric keypad for data entry - one of which I am still using having bought it off-lease.


My Communications systems 1 course was then equipped with a no-name USB sound card which worked well with a class set of Softrock 40s until I handed it over to another professor - one day I got an urgent call to go to the lab because the experiment was not working.


After explaining what the 'RIAA Equalisation' switch was for to the young professor who had taken over the course, I went back to experimenting with my Behringer UFO202 at my desk, which I still use to play with such stuff.


I have also had some results with their Line 2 USB for a compact box, but haven;t been able to get rid of the mountain at the zero beat point part of the spectrum while using it on a raspberry pi - I suspect that is a driver problem contoured for audiophiles and for which I have no access to support!


regards,

Nigel


Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU
Amateur Radio, the origin of the open-source concept!
Skype:  TILBURY2591 


On 2023-12-18 18:26, Rob Frohne (KL7NA) wrote:
Hi Jim, et. al.,

I am working on the software for my Electronics II class project for next quarter.? In the past, my students designed QSD based software defined receivers that we used to connect to Quisk via soundcard.? The problem is lately laptops do not come with stereo sound inputs and so a USB soundcard is needed.? Those are always a pain to purchase, because what was available last year is not this, or they have changed the specs to be mono input, or something so they don't work as well as the old ones we used to be able to get.? Every time you buy a USB soundcard, you take a risk.? I have lost that bet in the past.? This year I want to have the students grab the analog signals from for I and Q with their own ADC and send them to the host using the USB UART.? I will still have them add a 3.5 mm jack, but hopefully only for debugging.? We will be having JLCPCB build their boards and JLCPCB has a couple interesting audio ADCs that are a lot less expensive than a sound card.? The 24-bit one I'm using (PCM1808) is only fifty cents and the specs are better than the cheap soundcards I used before.? It will be nice to get rid of the 3.5 mm audio cable between the laptop and the SDR.? In the future, I might want to use an MCU with WIFI like the Raspberry Pi Pico W and send the same data over UDP so the SDR could be more remote to the host PC.? ?I think using the USB UART is a good first step in that direction, so at this point I am first pursuing that first.? ?I have done tests and can get 5.9 Mbps pretty easily over the?to a Linux host.? I want a 48 kHz sample rate and for this the bandwidth I need 3. Mbps to send 64 bits for each IQ pair (only 48 are needed, but we can use the extra 16 bits for each pair to send acknowledgements of commands or synchronizing data ).? I might even be able to get a 96 kHz sample rate in the 5.9 Mbps available.?

oThe thing I would very much like to know is where in Quisk I should inject this I/Q sound data that is not coming from a soundcard.? I have the hardware.py file figured out for controlling the SDR, but I'm looking for how the I/Q data connects to Quisk.? It almost looked like Hermes Lite data went directly into quisk.c, but I'm hoping there is something easier to interface to, than the main c program, which is daunting just to read.? ??

I have one other puzzling issue.? The actual sample rate (due to the Raspberry Pi Pico limitations)? is 48.0460 kHz, so I will need to discard samples or something to get the data rate to match the more accurate soundcard sample rate.? How close do I need to get it for Quisk to work properly?? You have a lot more experience with sample rate matching than I do, so any tips you have there would be appreciated.? I have some theoretical ideas that first reconstruct the analog signals from the sampled ones, then resample them at the correct rate, but I suspect that is not the best option and suspect just randomly discarding samples at the right rate might be better.?

The first sentence of the Quisk Docs says,? "This is Quisk, a Software Defined Radio (SDR). You supply an antenna and a complex (I/Q) mixer to convert the radio spectrum to a low IF. Then send that IF to your computer using the sound card, Ethernet or USB."? That is exactly what I want my students to do, and I need to minimize the software they have to worry about, because their learning objectives are more hardware oriented, though these days, you cannot skip the software altogether. ?

TNX & 73,

Rob

--

KL7NA


Re: Tips on interfacing I/Q data into quisk?

 

¿ªÔÆÌåÓý

Hi Chuck,
Yes, this would be a nice way to do it, where the difficulty was on the MCU end.? I thought about it a bit and did a little research.? My major problem is that I was planning to use the UART to control the SDR and have that all working with Quisk using the UART.? I'm not even sure it is possible to get the Raspberry Pi Pico I'm using to simultaneously use the USB UART and be a USB soundcard. Do you have a good solution for this problem of control and audio simultaneously?

Thanks for the warning on the UART glitches.? If I pursue this, I need to make sure they don't happen for me before pursuing it.? I also do not like the non-standard interface to SDR software.? Another way I am considering doing it is to write a ?using the UART approach.? ? ?That overcomes the nonstandard problem, but might not be as easy as a simple hack to inject the sound data into Quisk.
Vendor and platform neutral SDR support library. Contribute to pothosware/SoapySDR development by creating an account on GitHub.
github.com
?73,
Rob

--

KL7NA


From: [email protected] <[email protected]> on behalf of Chuck Ritola via groups.io <cjritola@...>
Sent: Tuesday, December 19, 2023 10:40 AM
To: [email protected] <[email protected]>
Subject: Re: [n2adr-sdr] Tips on interfacing I/Q data into quisk?
?
CAUTION: This email originated from outside the Walla Walla University email system.

It might be wise to try having the Pico emulate a USB audio device and send its samples that way. Then no modification on the user's part need be done. There are a few examples of this. The work is not trivial:

USB Audio device emulation for a "USB microphone":
USB HID emulation examples:

A design to look at is the FUNCube Dongle series of SDRs, which emulated a stereo-input USB audio interface for the I/Q samples and a USB Human Interface Device for controlling the tuner, amplifiers, etc using a PIC32MX. Bandwidth limitations of USB 1.x were worked around by dropping the least-significant-byte of 24-bit samples so they are 16-bit. They turned out to work well. The Pico may be up to such a task.

What you are proposing is only different from a soundcard by name, with a proprietary communication format which will require modification of /every/ piece of software to use it directly, or at the least would require installation of supplementary software on the user's machine to make it compatible with existing SDR software. I've noticed odd irregularities in data rate when transferring constant data streams over UART, even when wrapped in USB.

The complexity of creating a stream format in UART, then modifying existing software to work with it, will likely exceed writing USB firmware on the pico. From an educational POV, learning how to make a USB device could prove quite valuable.

The Pico also has onboard ADCs which have 12 bits resolution. If that's good enough, that's another part removed from the schematic. Supposedly it takes 96 cycles to process each sample:

There are tricks with 4x oversampling, lowpass filtering, and decimating to add 1 ENOB to the resolution (repeat for more) but it is unclear if the pico can muscle it and juggle USB traffic at the same time. I wouldn't bother with that, because the bandwidth-limiting filters used in SDR software perform something mathematically similar to this task anyway.

On Mon, Dec 18, 2023 at 6:52?PM Nigel Johnson MIEEE via <nw.johnson=[email protected]> wrote:

I can completely identify with your problem.? Before I retired from teaching 6 years ago, I was faced with admin people who believed the sales critters more than the professors they were working for.


After succinctly specifying stereo input for the laptops, I got the 'they are stereo' feedback from admin and faculty laptops, together with the min spec for students, came with mono - but they had a handy numeric keypad for data entry - one of which I am still using having bought it off-lease.


My Communications systems 1 course was then equipped with a no-name USB sound card which worked well with a class set of Softrock 40s until I handed it over to another professor - one day I got an urgent call to go to the lab because the experiment was not working.


After explaining what the 'RIAA Equalisation' switch was for to the young professor who had taken over the course, I went back to experimenting with my Behringer UFO202 at my desk, which I still use to play with such stuff.


I have also had some results with their Line 2 USB for a compact box, but haven;t been able to get rid of the mountain at the zero beat point part of the spectrum while using it on a raspberry pi - I suspect that is a driver problem contoured for audiophiles and for which I have no access to support!


regards,

Nigel


Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU
Amateur Radio, the origin of the open-source concept!
Skype:  TILBURY2591 


On 2023-12-18 18:26, Rob Frohne (KL7NA) wrote:
Hi Jim, et. al.,

I am working on the software for my Electronics II class project for next quarter.? In the past, my students designed QSD based software defined receivers that we used to connect to Quisk via soundcard.? The problem is lately laptops do not come with stereo sound inputs and so a USB soundcard is needed.? Those are always a pain to purchase, because what was available last year is not this, or they have changed the specs to be mono input, or something so they don't work as well as the old ones we used to be able to get.? Every time you buy a USB soundcard, you take a risk.? I have lost that bet in the past.? This year I want to have the students grab the analog signals from for I and Q with their own ADC and send them to the host using the USB UART.? I will still have them add a 3.5 mm jack, but hopefully only for debugging.? We will be having JLCPCB build their boards and JLCPCB has a couple interesting audio ADCs that are a lot less expensive than a sound card.? The 24-bit one I'm using (PCM1808) is only fifty cents and the specs are better than the cheap soundcards I used before.? It will be nice to get rid of the 3.5 mm audio cable between the laptop and the SDR.? In the future, I might want to use an MCU with WIFI like the Raspberry Pi Pico W and send the same data over UDP so the SDR could be more remote to the host PC.? ?I think using the USB UART is a good first step in that direction, so at this point I am first pursuing that first.? ?I have done tests and can get 5.9 Mbps pretty easily over the?to a Linux host.? I want a 48 kHz sample rate and for this the bandwidth I need 3. Mbps to send 64 bits for each IQ pair (only 48 are needed, but we can use the extra 16 bits for each pair to send acknowledgements of commands or synchronizing data ).? I might even be able to get a 96 kHz sample rate in the 5.9 Mbps available.?

oThe thing I would very much like to know is where in Quisk I should inject this I/Q sound data that is not coming from a soundcard.? I have the hardware.py file figured out for controlling the SDR, but I'm looking for how the I/Q data connects to Quisk.? It almost looked like Hermes Lite data went directly into quisk.c, but I'm hoping there is something easier to interface to, than the main c program, which is daunting just to read.? ??

I have one other puzzling issue.? The actual sample rate (due to the Raspberry Pi Pico limitations)? is 48.0460 kHz, so I will need to discard samples or something to get the data rate to match the more accurate soundcard sample rate.? How close do I need to get it for Quisk to work properly?? You have a lot more experience with sample rate matching than I do, so any tips you have there would be appreciated.? I have some theoretical ideas that first reconstruct the analog signals from the sampled ones, then resample them at the correct rate, but I suspect that is not the best option and suspect just randomly discarding samples at the right rate might be better.?

The first sentence of the Quisk Docs says,? "This is Quisk, a Software Defined Radio (SDR). You supply an antenna and a complex (I/Q) mixer to convert the radio spectrum to a low IF. Then send that IF to your computer using the sound card, Ethernet or USB."? That is exactly what I want my students to do, and I need to minimize the software they have to worry about, because their learning objectives are more hardware oriented, though these days, you cannot skip the software altogether. ?

TNX & 73,

Rob

--

KL7NA


Re: Tips on interfacing I/Q data into quisk?

 

It might be wise to try having the Pico emulate a USB audio device and send its samples that way. Then no modification on the user's part need be done. There are a few examples of this. The work is not trivial:

USB Audio device emulation for a "USB microphone":
USB HID emulation examples:

A design to look at is the FUNCube Dongle series of SDRs, which emulated a stereo-input USB audio interface for the I/Q samples and a USB Human Interface Device for controlling the tuner, amplifiers, etc using a PIC32MX. Bandwidth limitations of USB 1.x were worked around by dropping the least-significant-byte of 24-bit samples so they are 16-bit. They turned out to work well. The Pico may be up to such a task.

What you are proposing is only different from a soundcard by name, with a proprietary communication format which will require modification of /every/ piece of software to use it directly, or at the least would require installation of supplementary software on the user's machine to make it compatible with existing SDR software. I've noticed odd irregularities in data rate when transferring constant data streams over UART, even when wrapped in USB.

The complexity of creating a stream format in UART, then modifying existing software to work with it, will likely exceed writing USB firmware on the pico. From an educational POV, learning how to make a USB device could prove quite valuable.

The Pico also has onboard ADCs which have 12 bits resolution. If that's good enough, that's another part removed from the schematic. Supposedly it takes 96 cycles to process each sample:

There are tricks with 4x oversampling, lowpass filtering, and decimating to add 1 ENOB to the resolution (repeat for more) but it is unclear if the pico can muscle it and juggle USB traffic at the same time. I wouldn't bother with that, because the bandwidth-limiting filters used in SDR software perform something mathematically similar to this task anyway.

On Mon, Dec 18, 2023 at 6:52?PM Nigel Johnson MIEEE via <nw.johnson=[email protected]> wrote:

I can completely identify with your problem.? Before I retired from teaching 6 years ago, I was faced with admin people who believed the sales critters more than the professors they were working for.


After succinctly specifying stereo input for the laptops, I got the 'they are stereo' feedback from admin and faculty laptops, together with the min spec for students, came with mono - but they had a handy numeric keypad for data entry - one of which I am still using having bought it off-lease.


My Communications systems 1 course was then equipped with a no-name USB sound card which worked well with a class set of Softrock 40s until I handed it over to another professor - one day I got an urgent call to go to the lab because the experiment was not working.


After explaining what the 'RIAA Equalisation' switch was for to the young professor who had taken over the course, I went back to experimenting with my Behringer UFO202 at my desk, which I still use to play with such stuff.


I have also had some results with their Line 2 USB for a compact box, but haven;t been able to get rid of the mountain at the zero beat point part of the spectrum while using it on a raspberry pi - I suspect that is a driver problem contoured for audiophiles and for which I have no access to support!


regards,

Nigel


Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU
Amateur Radio, the origin of the open-source concept!
Skype:  TILBURY2591 


On 2023-12-18 18:26, Rob Frohne (KL7NA) wrote:
Hi Jim, et. al.,

I am working on the software for my Electronics II class project for next quarter.? In the past, my students designed QSD based software defined receivers that we used to connect to Quisk via soundcard.? The problem is lately laptops do not come with stereo sound inputs and so a USB soundcard is needed.? Those are always a pain to purchase, because what was available last year is not this, or they have changed the specs to be mono input, or something so they don't work as well as the old ones we used to be able to get.? Every time you buy a USB soundcard, you take a risk.? I have lost that bet in the past.? This year I want to have the students grab the analog signals from for I and Q with their own ADC and send them to the host using the USB UART.? I will still have them add a 3.5 mm jack, but hopefully only for debugging.? We will be having JLCPCB build their boards and JLCPCB has a couple interesting audio ADCs that are a lot less expensive than a sound card.? The 24-bit one I'm using (PCM1808) is only fifty cents and the specs are better than the cheap soundcards I used before.? It will be nice to get rid of the 3.5 mm audio cable between the laptop and the SDR.? In the future, I might want to use an MCU with WIFI like the Raspberry Pi Pico W and send the same data over UDP so the SDR could be more remote to the host PC.? ?I think using the USB UART is a good first step in that direction, so at this point I am first pursuing that first.? ?I have done tests and can get 5.9 Mbps pretty easily over the?to a Linux host.? I want a 48 kHz sample rate and for this the bandwidth I need 3. Mbps to send 64 bits for each IQ pair (only 48 are needed, but we can use the extra 16 bits for each pair to send acknowledgements of commands or synchronizing data ).? I might even be able to get a 96 kHz sample rate in the 5.9 Mbps available.?

oThe thing I would very much like to know is where in Quisk I should inject this I/Q sound data that is not coming from a soundcard.? I have the hardware.py file figured out for controlling the SDR, but I'm looking for how the I/Q data connects to Quisk.? It almost looked like Hermes Lite data went directly into quisk.c, but I'm hoping there is something easier to interface to, than the main c program, which is daunting just to read.? ??

I have one other puzzling issue.? The actual sample rate (due to the Raspberry Pi Pico limitations)? is 48.0460 kHz, so I will need to discard samples or something to get the data rate to match the more accurate soundcard sample rate.? How close do I need to get it for Quisk to work properly?? You have a lot more experience with sample rate matching than I do, so any tips you have there would be appreciated.? I have some theoretical ideas that first reconstruct the analog signals from the sampled ones, then resample them at the correct rate, but I suspect that is not the best option and suspect just randomly discarding samples at the right rate might be better.?

The first sentence of the Quisk Docs says,? "This is Quisk, a Software Defined Radio (SDR). You supply an antenna and a complex (I/Q) mixer to convert the radio spectrum to a low IF. Then send that IF to your computer using the sound card, Ethernet or USB."? That is exactly what I want my students to do, and I need to minimize the software they have to worry about, because their learning objectives are more hardware oriented, though these days, you cannot skip the software altogether. ?

TNX & 73,

Rob

--

KL7NA


Re: Tips on interfacing I/Q data into quisk?

 

¿ªÔÆÌåÓý

I can completely identify with your problem.? Before I retired from teaching 6 years ago, I was faced with admin people who believed the sales critters more than the professors they were working for.


After succinctly specifying stereo input for the laptops, I got the 'they are stereo' feedback from admin and faculty laptops, together with the min spec for students, came with mono - but they had a handy numeric keypad for data entry - one of which I am still using having bought it off-lease.


My Communications systems 1 course was then equipped with a no-name USB sound card which worked well with a class set of Softrock 40s until I handed it over to another professor - one day I got an urgent call to go to the lab because the experiment was not working.


After explaining what the 'RIAA Equalisation' switch was for to the young professor who had taken over the course, I went back to experimenting with my Behringer UFO202 at my desk, which I still use to play with such stuff.


I have also had some results with their Line 2 USB for a compact box, but haven;t been able to get rid of the mountain at the zero beat point part of the spectrum while using it on a raspberry pi - I suspect that is a driver problem contoured for audiophiles and for which I have no access to support!


regards,

Nigel


Nigel Johnson, MSc., MIEEE, MCSE VE3ID/G4AJQ/VA3MCU
Amateur Radio, the origin of the open-source concept!
Skype:  TILBURY2591 


On 2023-12-18 18:26, Rob Frohne (KL7NA) wrote:

Hi Jim, et. al.,

I am working on the software for my Electronics II class project for next quarter.? In the past, my students designed QSD based software defined receivers that we used to connect to Quisk via soundcard.? The problem is lately laptops do not come with stereo sound inputs and so a USB soundcard is needed.? Those are always a pain to purchase, because what was available last year is not this, or they have changed the specs to be mono input, or something so they don't work as well as the old ones we used to be able to get.? Every time you buy a USB soundcard, you take a risk.? I have lost that bet in the past.? This year I want to have the students grab the analog signals from for I and Q with their own ADC and send them to the host using the USB UART.? I will still have them add a 3.5 mm jack, but hopefully only for debugging.? We will be having JLCPCB build their boards and JLCPCB has a couple interesting audio ADCs that are a lot less expensive than a sound card.? The 24-bit one I'm using (PCM1808) is only fifty cents and the specs are better than the cheap soundcards I used before.? It will be nice to get rid of the 3.5 mm audio cable between the laptop and the SDR.? In the future, I might want to use an MCU with WIFI like the Raspberry Pi Pico W and send the same data over UDP so the SDR could be more remote to the host PC.? ?I think using the USB UART is a good first step in that direction, so at this point I am first pursuing that first.? ?I have done tests and can get 5.9 Mbps pretty easily over the?to a Linux host.? I want a 48 kHz sample rate and for this the bandwidth I need 3. Mbps to send 64 bits for each IQ pair (only 48 are needed, but we can use the extra 16 bits for each pair to send acknowledgements of commands or synchronizing data ).? I might even be able to get a 96 kHz sample rate in the 5.9 Mbps available.?

oThe thing I would very much like to know is where in Quisk I should inject this I/Q sound data that is not coming from a soundcard.? I have the hardware.py file figured out for controlling the SDR, but I'm looking for how the I/Q data connects to Quisk.? It almost looked like Hermes Lite data went directly into quisk.c, but I'm hoping there is something easier to interface to, than the main c program, which is daunting just to read.? ??

I have one other puzzling issue.? The actual sample rate (due to the Raspberry Pi Pico limitations)? is 48.0460 kHz, so I will need to discard samples or something to get the data rate to match the more accurate soundcard sample rate.? How close do I need to get it for Quisk to work properly?? You have a lot more experience with sample rate matching than I do, so any tips you have there would be appreciated.? I have some theoretical ideas that first reconstruct the analog signals from the sampled ones, then resample them at the correct rate, but I suspect that is not the best option and suspect just randomly discarding samples at the right rate might be better.?

The first sentence of the Quisk Docs says,? "This is Quisk, a Software Defined Radio (SDR). You supply an antenna and a complex (I/Q) mixer to convert the radio spectrum to a low IF. Then send that IF to your computer using the sound card, Ethernet or USB."? That is exactly what I want my students to do, and I need to minimize the software they have to worry about, because their learning objectives are more hardware oriented, though these days, you cannot skip the software altogether. ?

TNX & 73,

Rob

--

KL7NA


Tips on interfacing I/Q data into quisk?

 

¿ªÔÆÌåÓý

Hi Jim, et. al.,

I am working on the software for my Electronics II class project for next quarter.? In the past, my students designed QSD based software defined receivers that we used to connect to Quisk via soundcard.? The problem is lately laptops do not come with stereo sound inputs and so a USB soundcard is needed.? Those are always a pain to purchase, because what was available last year is not this, or they have changed the specs to be mono input, or something so they don't work as well as the old ones we used to be able to get.? Every time you buy a USB soundcard, you take a risk.? I have lost that bet in the past.? This year I want to have the students grab the analog signals from for I and Q with their own ADC and send them to the host using the USB UART.? I will still have them add a 3.5 mm jack, but hopefully only for debugging.? We will be having JLCPCB build their boards and JLCPCB has a couple interesting audio ADCs that are a lot less expensive than a sound card.? The 24-bit one I'm using (PCM1808) is only fifty cents and the specs are better than the cheap soundcards I used before.? It will be nice to get rid of the 3.5 mm audio cable between the laptop and the SDR.? In the future, I might want to use an MCU with WIFI like the Raspberry Pi Pico W and send the same data over UDP so the SDR could be more remote to the host PC.? ?I think using the USB UART is a good first step in that direction, so at this point I am first pursuing that first.? ?I have done tests and can get 5.9 Mbps pretty easily over the?to a Linux host.? I want a 48 kHz sample rate and for this the bandwidth I need 3. Mbps to send 64 bits for each IQ pair (only 48 are needed, but we can use the extra 16 bits for each pair to send acknowledgements of commands or synchronizing data ).? I might even be able to get a 96 kHz sample rate in the 5.9 Mbps available.?

The thing I would very much like to know is where in Quisk I should inject this I/Q sound data that is not coming from a soundcard.? I have the hardware.py file figured out for controlling the SDR, but I'm looking for how the I/Q data connects to Quisk.? It almost looked like Hermes Lite data went directly into quisk.c, but I'm hoping there is something easier to interface to, than the main c program, which is daunting just to read.? ??

I have one other puzzling issue.? The actual sample rate (due to the Raspberry Pi Pico limitations)? is 48.0460 kHz, so I will need to discard samples or something to get the data rate to match the more accurate soundcard sample rate.? How close do I need to get it for Quisk to work properly?? You have a lot more experience with sample rate matching than I do, so any tips you have there would be appreciated.? I have some theoretical ideas that first reconstruct the analog signals from the sampled ones, then resample them at the correct rate, but I suspect that is not the best option and suspect just randomly discarding samples at the right rate might be better.?

The first sentence of the Quisk Docs says,? "This is Quisk, a Software Defined Radio (SDR). You supply an antenna and a complex (I/Q) mixer to convert the radio spectrum to a low IF. Then send that IF to your computer using the sound card, Ethernet or USB."? That is exactly what I want my students to do, and I need to minimize the software they have to worry about, because their learning objectives are more hardware oriented, though these days, you cannot skip the software altogether. ?

TNX & 73,

Rob

--

KL7NA


Re: Virtual Environment

 

¿ªÔÆÌåÓý

Hi Jim,

On Ubuntu, they did the same thing for 23.04.? I played around with the virtual environment, pipx, etc., and it was not satisfactory to me, so I used the --break-system-packages option for pip3.? You can also put a file in /etc somewhere to escape having to type this every time you use pip.? I haven't noticed any problems yet, but someday it may lead to them.? I use pip for more than just Quisk though, and so far, (since last April) it has not caused me issues I noticed any more than before they introduced this new way.? I do not use sudo when installing things from pip3, though, and can login as a new user to know if something I did to my account broke things.

73,

Rob
KL7NA

--

Rob Frohne, PhD PE

School of Engineering

Walla Walla University

100 SW 4th St

College Place, WA 99324

(509) 527-2075


From: [email protected] <[email protected]> on behalf of jimahlstrom via groups.io <jahlstr@...>
Sent: Sunday, December 17, 2023 12:55 PM
To: [email protected] <[email protected]>
Subject: Re: [n2adr-sdr] Virtual Environment
?
CAUTION: This email originated from outside the Walla Walla University email system.

I am also old school and have suffered through several iterations of Python's idea of how to distribute software. Then there was the change from 32-bit to 64-bit (incompatible), the change to UTF (incompatible) and now Python doesn't want me to call setup.py anymore. And each new Python 3 is binary incompatible with the last. And a virtual environment??? Is that really necessary??? Surely there is a simpler way.

I will figure out something. I will play around with pipx a while longer, but maybe it is better to just let users clone a github Quisk, compile it and run it.?

Jim
N2ADR


Quisk Version 4.2.28 December 2023

 

This version includes a patch from Jon, AB8WU, to build Quisk on FreeBSD. Thanks Jon! I fixed a bug in setting the AF level in Hamlib.

Jim
N2ADR


Re: Default Quisk config file path change

AsciiWolf
 

Thanks! This is exactly what I was looking for.

Daniel OK2VLK



Dne ne 17. 12. 2023 21:46 u?ivatel jimahlstrom <jahlstr@...> napsal:

The configuration file is ~/.quisk_conf.py and is invisible. Or do you mean the files quisk_init.json, quisk_settings.json and others? If so, create a configuration file ~/.quisk_conf.py with these lines:

favorites_file_path = "/home/jim/pub/quisk_favorites.txt"
settings_file_path? = "/home/jim/pub/quisk_settings.json"

Of course, change the path. After you create the new path, you can copy the quisk files to the new location.

Jim
N2ADR



Re: Virtual Environment

 

I am also old school and have suffered through several iterations of Python's idea of how to distribute software. Then there was the change from 32-bit to 64-bit (incompatible), the change to UTF (incompatible) and now Python doesn't want me to call setup.py anymore. And each new Python 3 is binary incompatible with the last. And a virtual environment??? Is that really necessary??? Surely there is a simpler way.

I will figure out something. I will play around with pipx a while longer, but maybe it is better to just let users clone a github Quisk, compile it and run it.?

Jim
N2ADR


Re: Default Quisk config file path change

 

The configuration file is ~/.quisk_conf.py and is invisible. Or do you mean the files quisk_init.json, quisk_settings.json and others? If so, create a configuration file ~/.quisk_conf.py with these lines:

favorites_file_path = "/home/jim/pub/quisk_favorites.txt"
settings_file_path? = "/home/jim/pub/quisk_settings.json"

Of course, change the path. After you create the new path, you can copy the quisk files to the new location.

Jim
N2ADR



Re: Hamlib level AF

 

I will fix this in the next release.

Jim
N2ADR


Default Quisk config file path change

AsciiWolf
 

Hello!

Is there any way to change the default config file path for Quisk (on Linux)? The ~/ path is not ideal and creates a mess in my home directory.

Thanks!

Regards,
Daniel OK2VLK


Re: Virtual Environment

 

Glad to see I'm not the only one who's confused!

Pipx seems to be what the raspbian foundation people are recommending, but they're very hard to pin down on the subject.

I'm afraid I don't know the details of how the virtual environment installers like pipx interact with all the dependencies. This has all become way too complicated and there are far too many fingers tampering with build option settings along the way. I'm just an old school programmer from the days when life was simpler trying to keep up.

I did several clean installs on Pi of Bookworm, on both Pi4 b and the Pi 5b I just received using the procedure I listed before and they seem to work for now. I believe this is because the dependencies I install in the first step using APT are system wide and are adequate for quisk's needs. I think that only items from the quisk packaging are being installed in the virtual environment. Unfortunately I don't really know what pipx does and it's yet another thing to track down with no reliable documentation. It can take a very long time to run, sometimes. The Bookworm release also has renoved all the old directory structures and debugging tools with logs being particularly hard to locate.

I haven't yet fiigured out how to install from the local debug builds I'm using without breaking something. I'm guessing one has to either completely understand what pipX does with regard to environment variables or build a package and then install it as if it came from a repository like the pipx authors are assuming.

I'm of the opinion that once these system wide packages needed for common dependencies get diluted by out-of-repository bug fixes and subsequent installations that Debian doesn't track we're back to the same old dependency hell.

One may need to build private copies of each dependency and install them into each virtual environment.

I think static packaging or complete sandboxing is the only long term solution and Gnu and other licensing often conflicts with that and require more cooperation from the OS than Debian is currently providing. Trying to fake them this way is doomed.

hope this helps (but a lot of it is just opinion)...

M


Re: Virtual Environment

 

Using pipx seems like a good idea, but I must be missing something. I am trying to run Quisk from the virtual environment VENV created by pipx, but Quisk?complains that module wx is missing. The wx module is also known as wxPython and as?python3-wxgtk4.0.

The wx module is available in the system Python, but the system wx is not available from within the VENV. I could install wx directly into the VENV, but the normal way is to use apt-get and that does not install to the VENV. Or I could install wx from PyPi, but that will try to build wx from source, and that fails unless I install a dozen *-dev packages.?

How did you make wx available within the VENV?

Jim
N2ADR


Re: Hamlib level AF

 

All,

OK this was fixed by changing line 360 of quisk_widgets.py from :

? self.slider.SetValue(value)

to :
?
self.slider.SetValue(int(value))


Re: Hamlib level AF

Mike Black
 

If you have this code in quisk_widgets.py

? ? value = int(value + 0.5)
? ? self.SetValue(value)

Change it to
? ? value = int(value + 0.5)
? ? self.SetValue(int(value))


See if that fixes the problem.

Mike W9MDB



On Wednesday, December 13, 2023 at 03:21:52 PM CST, David Jones via groups.io <dgjonesy@...> wrote:


Mike,

?I've verified that the files mentioned in the traceback (/usr/local/lib/python3.10/dist-packages/quisk/quisk.py and /usr/local/lib/python3.10/dist-packages/quisk/quisk_widgets.py) are identical to those in the quisk 4.2.25 source distribution? tarfile so? I don't think an old quisk.py is a problem.

Am I the only one having this problem with a HL2 radio ?


Re: Hamlib level AF

 

Mike,

?I've verified that the files mentioned in the traceback (/usr/local/lib/python3.10/dist-packages/quisk/quisk.py and /usr/local/lib/python3.10/dist-packages/quisk/quisk_widgets.py) are identical to those in the quisk 4.2.25 source distribution? tarfile so? I don't think an old quisk.py is a problem.

Am I the only one having this problem with a HL2 radio ?


Re: Hamlib level AF

Mike Black
 

Double-check the SetLevel function in quisk.py.
You can see below the "AF" parameter expects a float.
Maybe you have an old quisk.py hanging around?

? def SetLevel(self):
? ? name, value = self.GetNameValue()
? ? if name == '?': # send back supported parameters
? ? ? self.Reply('? Value', 'AGC AF', 0)
? ? elif name == 'AGC':
? ? ? try:
? ? ? ? value = int(value)
? ? ? except:
? ? ? ? self.ErrParam()
? ? ? else:
? ? ? ? self.Reply(0)
? ? ? ? if value:
? ? ? ? ? self.app.BtnAGC.SetValue(1, True)
? ? ? ? else:
? ? ? ? ? self.app.BtnAGC.SetValue(0, True)
? ? elif name == 'AF':
? ? ? try:
? ? ? ? value = float(value)
? ? ? except:
? ? ? ? self.ErrParam()
? ? ? else:
? ? ? ? self.Reply(0)
? ? ? ? v = 1000.0 * math.log10(49.0 * value + 1) / math.log10(50)
? ? ? ? self.app.sliderVol.SetValue(v)
? ? ? ? self.app.ChangeVolume()
? ? else:
? ? ? self.ErrParam()






On Wednesday, December 13, 2023 at 12:45:14 PM CST, David Jones via groups.io <dgjonesy@...> wrote:


Hello,

I'm testing quisk hamlib control and have run into an issue. Not sure I'm do this correctly :

rigctl -m 2 -r localhost:4575

Rig command: _
Info: Quisk version 4.2.25


Rig command: l
Level: AF
Level Value: 0.123900

Rig command: L
Level: AF
Level Value: 0.5

Rig command:

When trying the L command for AF I get the following error :

Traceback (most recent call last):
? File "/usr/lib/python3/dist-packages/wx/core.py", line 3282, in <lambda>
??? lambda event: event.callable(*event.args, **event.kw) )
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6479, in OnReadSound
??? self.HamlibPoll()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6254, in HamlibPoll
??? if not client.Process():??? ??? # False return indicates a closed connection; remove the handler for this client
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 970, in Process
??? self.Handlers.get(self.command, self.UnImplemented)()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 1189, in SetLevel
??? self.app.sliderVol.SetValue(v)
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk_widgets.py", line 360, in SetValue
??? self.slider.SetValue(value)
TypeError: Slider.SetValue(): argument 1 has unexpected type 'float'
Traceback (most recent call last):
? File "/usr/lib/python3/dist-packages/wx/core.py", line 3282, in <lambda>
??? lambda event: event.callable(*event.args, **event.kw) )
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6479, in OnReadSound
??? self.HamlibPoll()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6254, in HamlibPoll
??? if not client.Process():??? ??? # False return indicates a closed connection; remove the handler for this client
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 970, in Process
??? self.Handlers.get(self.command, self.UnImplemented)()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 1189, in SetLevel
??? self.app.sliderVol.SetValue(v)
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk_widgets.py", line 360, in SetValue
??? self.slider.SetValue(value)
TypeError: Slider.SetValue(): argument 1 has unexpected type 'float'


Hamlib level AF

 

Hello,

I'm testing quisk hamlib control and have run into an issue. Not sure I'm do this correctly :

rigctl -m 2 -r localhost:4575

Rig command: _
Info: Quisk version 4.2.25


Rig command: l
Level: AF
Level Value: 0.123900

Rig command: L
Level: AF
Level Value: 0.5

Rig command:

When trying the L command for AF I get the following error :

Traceback (most recent call last):
? File "/usr/lib/python3/dist-packages/wx/core.py", line 3282, in <lambda>
??? lambda event: event.callable(*event.args, **event.kw) )
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6479, in OnReadSound
??? self.HamlibPoll()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6254, in HamlibPoll
??? if not client.Process():??? ??? # False return indicates a closed connection; remove the handler for this client
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 970, in Process
??? self.Handlers.get(self.command, self.UnImplemented)()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 1189, in SetLevel
??? self.app.sliderVol.SetValue(v)
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk_widgets.py", line 360, in SetValue
??? self.slider.SetValue(value)
TypeError: Slider.SetValue(): argument 1 has unexpected type 'float'
Traceback (most recent call last):
? File "/usr/lib/python3/dist-packages/wx/core.py", line 3282, in <lambda>
??? lambda event: event.callable(*event.args, **event.kw) )
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6479, in OnReadSound
??? self.HamlibPoll()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 6254, in HamlibPoll
??? if not client.Process():??? ??? # False return indicates a closed connection; remove the handler for this client
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 970, in Process
??? self.Handlers.get(self.command, self.UnImplemented)()
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk.py", line 1189, in SetLevel
??? self.app.sliderVol.SetValue(v)
? File "/usr/local/lib/python3.10/dist-packages/quisk/quisk_widgets.py", line 360, in SetValue
??? self.slider.SetValue(value)
TypeError: Slider.SetValue(): argument 1 has unexpected type 'float'