Hi, is anyone using full FlDigi?? Still curious about questions and the original post.
|
Regarding booting from an external USB device ...
... you can change the boot order in the "raspi-config" terminal program, and just leave the micro-SDcard in place.
Just be aware that the Pi will take around 30 seconds to boot from the internal micro-SDcard when it doesn't find an external USB Drive to boot from, if choosing the "USB boot first" option.
You can use this setup to either play with a new OS, or just to have a backup OS ready to go if one fails. --
Pete VK3PYE
|
Re: SBITX v3 - Ability to use a Headset for phone modes
Paul,? do I understand this properly:? ? with your solution, a straight-through USB cable from your headset output to a USB connector on a DIFFERENT computer, would appear to be the digital output of a sound card?? ?(Not the analog output that would go to a normal physical speaker)
Do I understand that correctly? Thanks, Gordon KX4Z
toggle quoted message
Show quoted text
On Fri, Feb 2, 2024 at 6:10?PM Paul < g0kaohx@...> wrote: A little progress made to solve a bit of a thorny issue regarding what happens when the sbitx is rebooted when a usb device is connected like a headset. Sorry bit of a long post, but it needs to be. Not much point in connecting things up if a reboot changes the order of devices, this has involved a fair amount of learning and research but hopefully it has been worth it.
- I know if I run the speaker-test -D default -c 1 -t wav command the sound comes out of the sbitx speaker
- If I run the?speaker-test -D plughw:CARD=II,DEV=0 -c 1 -t wav command, the sound comes out of my USB headset
and then if I run the arecord -D "plughw:CARD=Loopback,DEV=1" -f cd | aplay -D "plughw:CARD=II,DEV=0" and then start the sbitx app, I get sound from the radio fed to both the speaker and my USB headset. The headset volume is a little on the low side but it is usable and is progress. Adding the -f cd option to the arecord command actually improves the audio quality fed to the headset by reducing some of the noise level on the audio from the radio.
I have now updated the /etc/rc.local file to create/amend the number of Loopback devices available:
modprobe snd-aloop enable=1,1,1,1 index=1,2,3,4
(If you are not interested in connecting other headset devices e.g. USB or Bluetooth, I would amend this line to read modprobe snd-aloop enable=1,1 index=1,2 to remove the unwanted Loopback_2 interface to keep things simple and tidy.) Using this update creates 4 loopback interfaces so that when cat /proc/asound/cards is run you get a list of the available sound cards:
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
We know that audioinjectorpi (card 0) is used for the sbitx audio I/O We know that Loopback (card 1) is used for the output to digital software such as JTDX, FLDIGI etc. We know that Loopback_1 (card 2) is used as the capture interface from the digital software such as JTDX, FLDIGI etc. As delivered Loopback_2 (card 3) is not used for anything (that I can find anyway) So to mirror the digital audio I/O I created an additional Loopback interface using the update to /etc/rc.local Now for the device order problem: when I connected the USB headset after powering on the radio it would appear at the end of the list using cat /proc/asound/cards:
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
?5 [II? ? ? ? ? ? ?]: USB-Audio - Jabra EVOLVE 30 II
? ? ? ? ? ? ? ? ? ? ? GN Audio A/S Jabra EVOLVE 30 II at usb-0000:01:00.0-1.1, full speed
pi@sbitx:~ $? However if I rebooted the radio with the USB device still connected then the listing would look like?
pi@sbitx:~ $ pactl list cards short
54??????????????alsa_card.usb-GN_Audio_A_S_Jabra_EVOLVE_30_II_0000F358FA9E07-00????????????alsa
55??????????????alsa_card.platform-soc_sound??????????????????alsa
56??????????????alsa_card.platform-snd_aloop.2???????????????alsa
57??????????????alsa_card.platform-snd_aloop.1???????????????alsa
pi@sbitx:~ $
NOTE the different command used, still achieves the same thing and this was being used before I got to my solution. The issue here is that the USB device is now top of the ordered list and prevents sbitx from accessing the audioinjectorpi card because the USB device is now hw:0,0 instead of the audioinjector pi device. Note also that a Loopback interface has also disappeared! if I unplug the USB device and reboot the correct order is resumed :
pi@sbitx:~ $ pactl list cards short
54????????????? alsa_card.platform-soc_sound????????????????? alsa
55????????????? alsa_card.platform-snd_aloop.2?????????????? alsa
56????????????? alsa_card.platform-snd_aloop.0?????????????? alsa
57????????????? alsa_card.platform-snd_aloop.1?????????????? alsa
pi@sbitx:~ $
Normal service is resumed now, If I connect the USB headset again it gets added to the list at the end as it should:
connect headset:
pi@sbitx:~ $ pactl list cards short
54????????????? alsa_card.platform-soc_sound????????????????? alsa
55????????????? alsa_card.platform-snd_aloop.2?????????????? alsa
56????????????? alsa_card.platform-snd_aloop.0?????????????? alsa
57????????????? alsa_card.platform-snd_aloop.1?????????????? alsa
106?????????? alsa_card.usb-GN_Audio_A_S_Jabra_EVOLVE_30_II_0000F358FA9E07-00??????????? alsa
pi@sbitx:~ $
Reboot again with the headset connected just to prove the point:
pi@sbitx:~ $ pactl list cards short
54????????????? alsa_card.usb-GN_Audio_A_S_Jabra_EVOLVE_30_II_0000F358FA9E07-00??????????? alsa
55????????????? alsa_card.platform-soc_sound????????????????? alsa
56????????????? alsa_card.platform-snd_aloop.2?????????????? alsa
57????????????? alsa_card.platform-snd_aloop.1?????????????? alsa
pi@sbitx:~ $
After headscratching, extensive use of Google and testing and retesting here is the solution: In order to consistently achieve a correct order of devices a couple of commands were used to determine device names, note that I am totally focussed on using ALSA here to minimise complexity. What we need to achieve is this order whenever the device is rebooted:
pi@sbitx:~ $ cat /proc/asound/modules
?0 (efault)
?1 snd_aloop
?2 snd_aloop
?3 snd_aloop
?4 snd_aloop
?5 snd_usb_audio
pi@sbitx:~ $?
or
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
?5 [II? ? ? ? ? ? ?]: USB-Audio - Jabra EVOLVE 30 II
? ? ? ? ? ? ? ? ? ? ? GN Audio A/S Jabra EVOLVE 30 II at usb-0000:01:00.0-1.1, full speed
pi@sbitx:~ $
The solution is straightforward when you know how and what it is but it took a bit of finding along with trial and error :-) Create this file (it doesn't exist on the delivered sbitx) using the command: sudo nano /etc/modprobe.d/alsa-base.conf?
Add these lines to the file:
options (efault) index=-2? ? ? ? ? ? ? ? ? ? ? ? ? #am sure this should say default in the brackets but that is how the hw:0,0 device we want was listed in the cat /proc/asound/modules command
options snd_usb_audio index=5
?
Save the file and reboot with the USB device still connected. Note it is the output from the command cat /proc/asound/modules command that is important for this to identify the correct device names to use in the file. The higher the index value, the lower down the priority list they appear. to be really sure it might be worth adding the all the interface modules with an assigned index value to properly maintain the list order. Do the check commands to ensure the USB device is at the bottom of the list (index=5) following reboots:
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
?5 [II? ? ? ? ? ? ?]: USB-Audio - Jabra EVOLVE 30 II
? ? ? ? ? ? ? ? ? ? ? GN Audio A/S Jabra EVOLVE 30 II at usb-0000:01:00.0-1.1, full speed
pi@sbitx:~ $ cat /proc/asound/modules
?0 (efault)
?1 snd_aloop
?2 snd_aloop
?3 snd_aloop
?4 snd_aloop
?5 snd_usb_audio
pi@sbitx:~ $?
?
Now that bit is sorted we can start to try and reliably route audio to a USB headset based on the knowledge that the device whether plugged in or not won't affect the core audio routing of the sbitx radio.? Just got to work that bit out now using the Loopback_2 for playback to the USB device and Loopback_3 for capture from the USB device microphone, that way we don't impact the digital functionality of the radio. Might need some coding help with that bit, logically I know it can be done having proved some of the routing via the command line earlier, but now need the output from the codec that feeds the speaker and Loopback(card 1) to also feed Loopback_3(card 3) for play with a volume control (maybe using the Master Volume)? capability to drive the headset with more audio.? Another option would be to take the output/input directly to/from the USB device but maybe that's a bit trickier I believe an alternative headset solution is now a bit nearer
Regards Paul G0KAO
|
Hi Ben.
The same as above except change the values after MONO and ARIAL. I've made the values to change in BOLD
struct font_style font_table[] = {
{FONT_FIELD_LABEL, 0, 1, 1, "Mono", 14, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FIELD_VALUE, 1, 1, 1, "Mono", 14, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_LARGE_FIELD, 0, 1, 1, "Mono", 14, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_LARGE_VALUE, 1, 1, 1, "Arial", 24, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_SMALL, 0, 1, 1, "Mono", 10, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_LOG, 1, 1, 1, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_RX,?0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_TX,?1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_SMALL_FIELD_VALUE, 1, 1, 1, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_CW_RX,?0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_CW_TX,?1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FLDIGI_RX,?0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FLDIGI_TX,?1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_TELNET,?0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_QUEUED, 0.5, 0.5, 0.5, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_REPLY,?1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
};
You could also try sBITX Manager alongside the transceiver as well. I've added provisions to make the key, text areas larger.??
-JJ
|
And while we¡¯re on the subject, I¡¯m legally blind and plugged in an external monitor, but sadly, whichever were used to draw on the screen cleverly arrange things rather than make stuff bigger.
How can I increase the font size?  -- Ben Weiss http://LionsLair.com Clearlake, CA
toggle quoted message
Show quoted text
On Feb 2, 2024, at 3:17?PM, JJ - W9JES <w9jes@...> wrote:
?I forgot another key area.. Let me get that to you in my next post.. Sorry.
|
I hit the send button too soon.. Anyway, here is the rest of the file where changes are needed.. I've highlighted the areas in bold that could affect RED/GREEN colorblindness. They are in RGB saturation format where? 0?is NO color and? 1?is 100% color. The format is? {RED,GREEN,BLUE}.?For example, if you want pure gray, the the entry is ?{0.5,0.5,0.5}
struct font_style font_table[] = {
{FONT_FIELD_LABEL, 0, 1, 1, "Mono", 14, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FIELD_VALUE, 1, 1, 1, "Mono", 14, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_LARGE_FIELD, 0, 1, 1, "Mono", 14, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_LARGE_VALUE, 1, 1, 1, "Arial", 24, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_SMALL, 0, 1, 1, "Mono", 10, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_LOG, 1, 1, 1, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_RX, 0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_TX, 1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_SMALL_FIELD_VALUE, 1, 1, 1, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_CW_RX, 0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_CW_TX, 1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FLDIGI_RX, 0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FLDIGI_TX, 1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_TELNET, 0, 1, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_QUEUED, 0.5, 0.5, 0.5, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
{FONT_FT8_REPLY, 1, 0.6, 0, "Mono", 11, CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_SLANT_NORMAL},
};
-JJ
|
I forgot another key area.. Let me get that to you in my next post.. Sorry.
|
Re: SBITX v3 - Ability to use a Headset for phone modes
A little progress made to solve a bit of a thorny issue regarding what happens when the sbitx is rebooted when a usb device is connected like a headset. Sorry bit of a long post, but it needs to be. Not much point in connecting things up if a reboot changes the order of devices, this has involved a fair amount of learning and research but hopefully it has been worth it.
- I know if I run the speaker-test -D default -c 1 -t wav command the sound comes out of the sbitx speaker
- If I run the?speaker-test -D plughw:CARD=II,DEV=0 -c 1 -t wav command, the sound comes out of my USB headset
and then if I run the arecord -D "plughw:CARD=Loopback,DEV=1" -f cd | aplay -D "plughw:CARD=II,DEV=0" and then start the sbitx app, I get sound from the radio fed to both the speaker and my USB headset. The headset volume is a little on the low side but it is usable and is progress. Adding the -f cd option to the arecord command actually improves the audio quality fed to the headset by reducing some of the noise level on the audio from the radio. I have now updated the /etc/rc.local file to create/amend the number of Loopback devices available:
modprobe snd-aloop enable=1,1,1,1 index=1,2,3,4
(If you are not interested in connecting other headset devices e.g. USB or Bluetooth, I would amend this line to read modprobe snd-aloop enable=1,1 index=1,2 to remove the unwanted Loopback_2 interface to keep things simple and tidy.) Using this update creates 4 loopback interfaces so that when cat /proc/asound/cards is run you get a list of the available sound cards:
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
We know that audioinjectorpi (card 0) is used for the sbitx audio I/O We know that Loopback (card 1) is used for the output to digital software such as JTDX, FLDIGI etc. We know that Loopback_1 (card 2) is used as the capture interface from the digital software such as JTDX, FLDIGI etc. As delivered Loopback_2 (card 3) is not used for anything (that I can find anyway) So to mirror the digital audio I/O I created an additional Loopback interface using the update to /etc/rc.local Now for the device order problem: when I connected the USB headset after powering on the radio it would appear at the end of the list using cat /proc/asound/cards:
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
?5 [II? ? ? ? ? ? ?]: USB-Audio - Jabra EVOLVE 30 II
? ? ? ? ? ? ? ? ? ? ? GN Audio A/S Jabra EVOLVE 30 II at usb-0000:01:00.0-1.1, full speed
pi@sbitx:~ $? However if I rebooted the radio with the USB device still connected then the listing would look like?
pi@sbitx:~ $ pactl list cards short
54??????????????alsa_card.usb-GN_Audio_A_S_Jabra_EVOLVE_30_II_0000F358FA9E07-00????????????alsa
55??????????????alsa_card.platform-soc_sound??????????????????alsa
56??????????????alsa_card.platform-snd_aloop.2???????????????alsa
57??????????????alsa_card.platform-snd_aloop.1???????????????alsa
pi@sbitx:~ $
NOTE the different command used, still achieves the same thing and this was being used before I got to my solution. The issue here is that the USB device is now top of the ordered list and prevents sbitx from accessing the audioinjectorpi card because the USB device is now hw:0,0 instead of the audioinjector pi device. Note also that a Loopback interface has also disappeared! if I unplug the USB device and reboot the correct order is resumed :
pi@sbitx:~ $ pactl list cards short
54????????????? alsa_card.platform-soc_sound????????????????? alsa
55????????????? alsa_card.platform-snd_aloop.2?????????????? alsa
56????????????? alsa_card.platform-snd_aloop.0?????????????? alsa
57????????????? alsa_card.platform-snd_aloop.1?????????????? alsa
pi@sbitx:~ $
Normal service is resumed now, If I connect the USB headset again it gets added to the list at the end as it should:
connect headset:
pi@sbitx:~ $ pactl list cards short
54????????????? alsa_card.platform-soc_sound????????????????? alsa
55????????????? alsa_card.platform-snd_aloop.2?????????????? alsa
56????????????? alsa_card.platform-snd_aloop.0?????????????? alsa
57????????????? alsa_card.platform-snd_aloop.1?????????????? alsa
106?????????? alsa_card.usb-GN_Audio_A_S_Jabra_EVOLVE_30_II_0000F358FA9E07-00??????????? alsa
pi@sbitx:~ $
Reboot again with the headset connected just to prove the point:
pi@sbitx:~ $ pactl list cards short
54????????????? alsa_card.usb-GN_Audio_A_S_Jabra_EVOLVE_30_II_0000F358FA9E07-00??????????? alsa
55????????????? alsa_card.platform-soc_sound????????????????? alsa
56????????????? alsa_card.platform-snd_aloop.2?????????????? alsa
57????????????? alsa_card.platform-snd_aloop.1?????????????? alsa
pi@sbitx:~ $
After headscratching, extensive use of Google and testing and retesting here is the solution: In order to consistently achieve a correct order of devices a couple of commands were used to determine device names, note that I am totally focussed on using ALSA here to minimise complexity. What we need to achieve is this order whenever the device is rebooted:
pi@sbitx:~ $ cat /proc/asound/modules
?0 (efault)
?1 snd_aloop
?2 snd_aloop
?3 snd_aloop
?4 snd_aloop
?5 snd_usb_audio
pi@sbitx:~ $?
or
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
?5 [II? ? ? ? ? ? ?]: USB-Audio - Jabra EVOLVE 30 II
? ? ? ? ? ? ? ? ? ? ? GN Audio A/S Jabra EVOLVE 30 II at usb-0000:01:00.0-1.1, full speed
pi@sbitx:~ $
The solution is straightforward when you know how and what it is but it took a bit of finding along with trial and error :-) Create this file (it doesn't exist on the delivered sbitx) using the command: sudo nano /etc/modprobe.d/alsa-base.conf?
Add these lines to the file:
options (efault) index=-2? ? ? ? ? ? ? ? ? ? ? ? ? #am sure this should say default in the brackets but that is how the hw:0,0 device we want was listed in the cat /proc/asound/modules command
options snd_usb_audio index=5
?
Save the file and reboot with the USB device still connected. Note it is the output from the command cat /proc/asound/modules command that is important for this to identify the correct device names to use in the file. The higher the index value, the lower down the priority list they appear. to be really sure it might be worth adding the all the interface modules with an assigned index value to properly maintain the list order. Do the check commands to ensure the USB device is at the bottom of the list (index=5) following reboots:
pi@sbitx:~ $ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Loopback_3? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 4
?5 [II? ? ? ? ? ? ?]: USB-Audio - Jabra EVOLVE 30 II
? ? ? ? ? ? ? ? ? ? ? GN Audio A/S Jabra EVOLVE 30 II at usb-0000:01:00.0-1.1, full speed
pi@sbitx:~ $ cat /proc/asound/modules
?0 (efault)
?1 snd_aloop
?2 snd_aloop
?3 snd_aloop
?4 snd_aloop
?5 snd_usb_audio
pi@sbitx:~ $?
?
Now that bit is sorted we can start to try and reliably route audio to a USB headset based on the knowledge that the device whether plugged in or not won't affect the core audio routing of the sbitx radio.? Just got to work that bit out now using the Loopback_2 for playback to the USB device and Loopback_3 for capture from the USB device microphone, that way we don't impact the digital functionality of the radio. Might need some coding help with that bit, logically I know it can be done having proved some of the routing via the command line earlier, but now need the output from the codec that feeds the speaker and Loopback(card 1) to also feed Loopback_3(card 3) for play with a volume control (maybe using the Master Volume)? capability to drive the headset with more audio.? Another option would be to take the output/input directly to/from the USB device but maybe that's a bit trickier I believe an alternative headset solution is now a bit nearer
Regards Paul G0KAO
|
On Fri, Feb 2, 2024 at 03:21 PM, <ramerhar2@...> wrote:
I am signed into several groups looking for best practice for hardware/software design and I like this idea. I would like to experiment with bare-bones exe and work up add up to max capabilities. Thanks for bringing this up.
Such a bare bones exe for you to start with already exists. See? this thread?and??from our friend Rafael, based on his code plus that of Farhan. The code has the ability to:
- set up and operate the frequency synthesizer chip
- enable/disable the transmit line
- read the front panel encoders
The data to/from the radio can be accessed via the ALSA sound subsystem and can be shown via FFT or waterfall by gnuradio. Take the code, redesign/rewrite/refactor it as much as you like, publish your fork. Add DSP, GUI, modems, whatever, keep going till you're happy. As for interesting SDR designs, I always thought? has/had???and?.??
The thing is, I never ran it so I have no idea about any of its dynamic properties i.e. latency etc.
-- Regards, Dave, N1AI
|
Hi Joe. You can change the colors of the sBitx local and web interfaces. Here is a starting point. To change the web interface:
- Look at??as an example.. You can change the text color by searching for the word "green" or "red" then change the values to better suit your needs. The file you need to change is located at home/pi/sbitx/web/style.css
- Make the changes you want and save then close the file
- Reopen the web link version sBitx
To change the local interface: This involves a few more steps including recompiling the sBitx binary after modification. ?Here is where the colors are defined. The local file to change is /home/pi/sbitx/sbitx_gtk.cHere are the default color conditions for the file. They are in RGB saturation format where 0 is NO color and 1 is 100% color. The format is {RED,GREEN,BLUE}. For example, if you want pure gray, the the entry is {0.5,0.5,0.5}
float palette[][3] = {
{1,1,1}, // COLOR_SELECTED_TEXT? ?WHITE
{0,1,1}, // COLOR_TEXT? ?CYAN
{0.5,0.5,0.5}, //COLOR_TEXT_MUTED? ?GRAY
{1,1,0}, // COLOR_SELECTED_BOX? ?YELLOW
{0,0,0}, // COLOR_BACKGROUND? ?BLACK
{1,1,0}, //COLOR_FREQ? ?YELLOW
{1,0,1}, //COLOR_LABEL? ?MAGENTA
//spectrum
{0,0,0}, //SPECTRUM_BACKGROUND? ?BLACK
{0.1, 0.1, 0.1}, //SPECTRUM_GRID? ?DARK GRAY
{1,1,0}, //SPECTRUM_PLOT? ?YELLOW
{0.2,0.2,0.2}, //SPECTRUM_NEEDLE? ?DARKER GRAY
{0.5,0.5,0.5}, //COLOR_CONTROL_BOX? ?GRAY
{0.2, 0.2, 0.2}, //SPECTRUM_BANDWIDTH? ?DARKER GRAY
{0,1,0}, //COLOR_RX__PITCH? ?GREEN
{0.1, 0.1, 0.2}, //SELECTED_LINE? ?DARK BLUE
{0.1, 0.1, 0.2}, // COLOR_FIELD_SELECTED? ?DARK BLUE
{1,0,0}, //COLOR_TX_PITCH? ?RED
After you are finished modifying the file, save and close it. Then open terminal and run:
cd sbitx ./build sbitx
I hope this helps! -JJ
?
|
sbitx-main and modem code organization and arch questions
I am using VS Code on a windows pc to try to understand the moem code in SBITX-MAIN. I want to understand the code in modem.cw.c I think modem.cw.c covers a lot of ground, so I'm thinking that it might be possible (and a great code example) to break up modem.cw.c into separate 'modem' pieces
modem.straight-key.cw - modem.iambic.cw - modem.keyboard.cw - modem.decoder.cw - ???.cw
modem.straight-key.cw should just poll the state of the straight key (with software debouncing) and transmit when key is down Transmitting should take care of the key-down and key-up waveform shaping. And is that all this super simple modem needs to do?
As a first step, I thought I would take modems.cw.c and just start commenting out everything that wan't required for straight-key reception (I know, a lot of functionality would stop working like cw decoding and paddle keyer support).
Is modems.c supposed to start and support the modem files that do the real work? I'm guessing somewhere in modems.c all of the modems would be started and initialized if required? How would I tell modems.c about my new modem_straight-key.cw ?
Any comments? Encouragement? Warnings / "don't try it Mike!"?
-- Mike KB2ML
|
Re: #sbitx Almost no FT8 reception with V3.02
#sBitx
Thanks JJ. I shall give it a go. ? Barry ? Sent from for Windows ?
toggle quoted message
Show quoted text
From: JJ - W9JESSent: Friday, February 2, 2024 1:34 PM To: [email protected]Subject: Re: [BITX20] #sbitx Almost no FT8 reception with V3.02 ? On Fri, Feb 2, 2024 at 09:35 AM, barry halterman wrote: Is there a way to revert back on version?? Barry ? Sent from for Windows ?
Hi Barry.
Checkout sBITX EZ Tools as part of my sBITX Toolbox software. You can easily upgrade or downgrade with the click of a button.?/g/BITX20/topic/sbitx_toolbox_a_great/104023600?
-JJ
|
I am signed into several groups looking for best practice for hardware/software design and I like this idea. I would like to experiment with bare-bones exe and work up add up to max capabilities. Thanks for bringing this up.
73 Rich WE8T
|
Re: Best way to use #sbitx with N3FJP, WINLINK, other Windows ham radio apps?
#sBitx
On Fri, Feb 2, 2024 at 11:12 AM, HA3HZ wrote:
I tested the programs listed in the table.
Did you try 'cqrlog' with 'wsjt-x' for ft-8 instead of using Farhan's user interface and ft-8 implementation? If not, I recommend you give it a try, although as I said, you need a larger monitor to use it. ? -- Regards, Dave, N1AI
|
Re: #sbitx Almost no FT8 reception with V3.02
#sBitx
On Fri, Feb 2, 2024 at 09:35 AM, barry halterman wrote:
Is there a way to revert back on version??
Barry
?
Sent from for Windows
?
Hi Barry. Checkout sBITX EZ Tools as part of my sBITX Toolbox software. You can easily upgrade or downgrade with the click of a button.? /g/BITX20/topic/sbitx_toolbox_a_great/104023600? -JJ
|
My Sbitx DE now has scratchy distorted audio on receive. However, the audio is ok if I use listen using the earphone. The speaker is not the problem. It seems like I recall this problem coming up a few months ago but I didn¡¯t have the problem at that time and I can¡¯t seem to find the messages on this problem.
|
Re: Best way to use #sbitx with N3FJP, WINLINK, other Windows ham radio apps?
#sBitx
I am enjoying this thread. I never knew about Not1MM logger, going to have to check that out.
I¡¯m primarily a Mac/Linux user (Linux since about 1999 and Mac since 2012) and really don¡¯t enjoy booting back into Windows if I can avoid it. I get that all the tech nerds 20-30 years ago used Windows (myself included) and still write programs for it. I¡¯ve been to several tech and developer conferences in the past 5-10 years, and you¡¯d be hard pressed ?to find more than 10% of the laptops running Windows. Much kudos to groups like WSJT-X and others that make their applications work on multiple platforms.
I¡¯ve tried to get Winlink working through Wine on my Mac and never was able to make it work. I think it was a 32-bit executable or something, I don¡¯t recall, it¡¯s been a long time. I¡¯m not an open source purist, but would like some options in terms of platform.
What drew me to the sbitx was Linux and Raspberry Pi. I have a Flex, but it still needs a computer for things like FT8 or logging. I also have an IC-705, and same issue. Both great radios, but I love that the sbitx is already wired up.
73,
Jeremy / N0AW
toggle quoted message
Show quoted text
On Feb 2, 2024, at 09:39, Rafael Diniz <rafael@...> wrote:
For windows software, hangover-wine, which includes box64 (which runs 32 binaries in wow mode) and wine, the fastest I could test. Vara is running pretty well. Packages available here:- RafaelOn 2/2/24 15:53, Dave, N1AI wrote:On Fri, Feb 2, 2024 at 09:15 AM, HA3HZ wrote:
???There are a few LOG programs on github that work under Linux.
There are several that can be installed with the Debian package managers (apt, etc).
Link: https://blends.debian.org/hamradio/tasks/logging
For instance *I have used 'cqrlog' for years and it is a good program.*
It is not as feature-rich as N3FJP, N1MM, DXLabs, etc but it is good enough for mainstream ham radio logging.
It interfaces with wsjt-x so when wsjt-x is ready to log an entry, the cqrlog program pops up with all the fields populated and ready to log.
This requires some work with set up, but I think they all do, no?
Video, "WSJT-X Logging directly to CQRLOG"? : https://www.youtube.com/watch?v=dGGnFjLvjKY
Directions: https://www.cqrlog.com/help/wsjt.html
It can be installed with one Terminal command:
$ sudo apt install cqrlog
This may be one way to avoid your anger at Farhan's FT8 and logging code.
You will want to have an external monitor, the sbitx touch screen is too small for this software.
You will also possibly want something faster than sd-card for storage.
You will need to set up wsjt-x to use sbitx: /g/BITX20/wiki/34287
???As far as I know, the N3FJP AC program works under Windows.
Yes -- https://www.n3fjp.com/help/installation.html?...
???Wine or box86 seems to me to be highly OS dependent.
Yes.
???Therefore, I think that communication through the port should be ???prioritized.
The network should be used for rig control, not the serial port.
--? Regards, Dave, N1AI
|
Re: HF UUCP (Was: Re: [BITX20] Best way to use #sbitx with N3FJP, WINLINK, other Windows ham radio apps?)
#sBitx
toggle quoted message
Show quoted text
On Fri, Feb 2, 2024 at 11:36?AM Rafael Diniz < rafael@...> wrote: Hi Gordon,
Sure you can receive email. We worked quite a bit in the email system to
provide the needs for our partners and communities in the field, be it
in Amazon rainforest or Central Africa. I'm happy Winlink has all these
human involvement and provides all these services over HF, and more
importantly, keep it working!
Btw, I never proposed a replacement to Winlink. I'm just commenting on
UUCP over HF, including its uses in remote and war-torn areas, or just
as backup communication. In terms of networking technology, it fits the
purpose very well, while being well supported in any Linux distribution
and email stacks (Postfix, Exim, sendmail). For eg., UUCP is ready to be
installed / used from the app repository (including Debian / Raspberry
OS), while being in use for 40+ years.
Cheers,
Rafael
On 2/2/24 15:26, Gordon Gibby wrote:
> FAscinating!? ?Does it work in reverse?? ?Can you RECEIVE email?
>
> 1.? ?The Winlink peolpe had to deal with the fact that receiving
> email?is 3rd party traffic and has to follow the laws.? ?They also
> wanted to completely avoid spam email.? ?They worked out very
> intricate systems to protect and allow workarounds for "emergency?
> break glass" situations.
> 2.? The winlink people also came up with a large number of automated
> systems of knowledge, because they began with the maritime oceanic
> sailing community.? So for example if you are in the middle of the
> ocean, you can ask for and receive by email, a WEATHER MAP for your
> part of the ocean.? ?They have like about 40 different products you
> can receive in this manner, including news and other things you might
> really want to know.? ?Weather forecasts, yada yada yada.? ?they had
> to do a lot of legwork to make all that work, and to KEEP IT WORKING.?
> ?It has proven to be very useful during emergencies.? ?For example, I
> can pull weather information in the middle of a hurricane when other
> sources are no longer available
> 3.? The winlink network includes both peer to peer and client server
> and radio only.? ? Radio only was demanded by the US Government.? ?It
> provides automated, computer/radio to compuer/radio routing of email.?
> ?For example, I once deposited a radio-only email in Canada, and
> wihtin an hour it had been relayed (all without human inervention)
> through esablished servers along the USA East Coast, and was availble
> for me to receive.? ?When you arre?"radio only" -- there is NO
> INTERNET? ?So you cannot pick your mail by using your regular email
> vendor -- you must use a radio!? ?The email is cached for you at 1, 2
> or 3 servers that you have pre-picked and are known to the system.?
> ?The radio only email is cached at all of them, mirror-like
>
> Those folks have been at it for over 2 decades and have been used in
> just about every disaster you can think of, albeit peripherally.?
> ?They have a ton of "institutional knowledge" about "human behavior
> and needs" in those situations.? ?Missionaries, medical trips, a bunch
> of groups have taken advtange of their system.? Currently, ARES(R)
> groups all overr?the nation are using them, as have Red Cross
> systems.? ?Out of a war-torn area -- Winlink works.
>
> Despite the FCC prohibition of encryption, they found a way to provide
> fairly reliable "user identification" so as to avoid spoofing.? ?You
> can even use telnet to access their system....but it is PaINFUL.
>
> I hope this information is helpful.? ?A replacement system needs to
> provide all the same, or better, integration into human needs and
> behaviors in both normal and disaster/war days.
>
> Thanks for all you are telling me about!
> Gordon KX4Z
>
>
> On Fri, Feb 2, 2024 at 9:42?AM Rafael Diniz <rafael@...>
> wrote:
>
>? ? ?Hi Gordon,
>
>? ? ?If later on anyone wants to put up a ham radio uucp HF gateway, As
>? ? ?uucp
>? ? ?setup is not that easy, I can help with all the uucp setup for remote
>? ? ?and gateway stations (I have bash scripts and templates ready) and
>? ? ?provide server access to our *.hermes.radio (just choose a subdomain)
>? ? ?for initial testing, if needed. This is what we call "central"
>? ? ?server,
>? ? ?with real IP in the VPS. The "gateway" station just relays emails to
>? ? ?"central" email server, and connects (or receive connection) to the
>? ? ?"remote" stations over HF. This is the topology I put in place. With
>? ? ?VARA and/or Ardop (this is what my uucp bridge supports [1]).
>
>? ? ?for example, to triger the connection to the gateway (and
>? ? ?consequently
>? ? ?synchronize the uucp jobs, aka. emais), from a remote station, I
>? ? ?just do:
>? ? ?uucico -S gw
>
>? ? ?where gw is a uucp alias to the uucp gateway nodename, and
>? ? ?remember to
>? ? ?put the radio in the same frequency of the other station.
>
>? ? ?the uucp bridge automatically calls the nodename to be connected,
>? ? ?which
>? ? ?in the case is the callsign of the station, for example, PU2UIT (the
>? ? ?nodenames must be valid callsigns for vara and ardop be happy).
>
>? ? ?[1]
>
>? ? ?Cheers,
>? ? ?Rafael
>
>? ? ?On 2/2/24 14:22, Gordon Gibby wrote:
>? ? ?> Rafael, that is very upstanding of you!? ?I had no idea that
>? ? ?uucp is
>? ? ?> still moving such traffic over HF radio? (I'm not counting
>? ? ?Internet).
>? ? ?> Thank you for the education -- I'm benefitting from your
>? ? ?knowledge and
>? ? ?> experience!
>? ? ?>
>? ? ?> The Winlink folks have both a centralized and a decentralized
>? ? ?model,
>? ? ?> so it can gett tricky to count, but the data piles up month over
>? ? ?month
>? ? ?> here:
>? ? ?> (click the "traffic" tab):
>? ? ?> ?(see attachment)
>? ? ?>
>? ? ?> looks like about 76,000 per HF in January
>? ? ?> another 45,000 or so over VHF
>? ? ?> Total over RF >100,000? or over 3,000 per day.
>? ? ?>
>? ? ?> Again, EVENTUALLY a system will show up that gains even wider
>? ? ?> acceptance.? ?For all I know UUCP is "there" if you count military
>? ? ?> (the above figures have no military).? ? I hadn't thought of
>? ? ?that.....
>? ? ?>
>? ? ?> THANKS!? It is great to learn from all the smart people here!
>? ? ?> Gordon KX4Z
>? ? ?>
>? ? ?>
>? ? ?> On Fri, Feb 2, 2024 at 9:16?AM HA3HZ <gyula@...> wrote:
>? ? ?>
>? ? ?>? ? ?There are a few LOG programs on github that work under Linux.
>? ? ?>? ? ?It is currently still being developed. It communicates with the
>? ? ?>? ? ?radio via port:
>? ? ?>
>? ? ?>? ? ?FieldDayLogger <>
>? ? ?>
>? ? ?>? ? ?not1mm <>
>? ? ?>
>? ? ?>? ? ?As far as I know, the N3FJP AC program works under Windows.
>? ? ?>? ? ?Wine or box86 seems to me to be highly OS dependent.
>? ? ?>? ? ?Therefore, I think that communication through the port should be
>? ? ?>? ? ?prioritized.
>? ? ?>? ? ?It is difficult to part with the usual program. We need to know
>? ? ?>? ? ?that only change is constant.
>? ? ?>? ? ?--
>? ? ?>? ? ?Gyula HA3HZ
>? ? ?>
>? ? ?>
>
>
>
>
>
>
|
Re: Best way to use #sbitx with N3FJP, WINLINK, other Windows ham radio apps?
#sBitx
For windows software, hangover-wine, which includes box64 (which runs 32 binaries in wow mode) and wine, the fastest I could test. Vara is running pretty well. Packages available here:
- Rafael
toggle quoted message
Show quoted text
On 2/2/24 15:53, Dave, N1AI wrote: On Fri, Feb 2, 2024 at 09:15 AM, HA3HZ wrote:
There are a few LOG programs on github that work under Linux.
There are several that can be installed with the Debian package managers (apt, etc).
Link:
For instance *I have used 'cqrlog' for years and it is a good program.*
It is not as feature-rich as N3FJP, N1MM, DXLabs, etc but it is good enough for mainstream ham radio logging.
It interfaces with wsjt-x so when wsjt-x is ready to log an entry, the cqrlog program pops up with all the fields populated and ready to log.
This requires some work with set up, but I think they all do, no?
Video, "WSJT-X Logging directly to CQRLOG"? :
Directions:
It can be installed with one Terminal command:
$ sudo apt install cqrlog
This may be one way to avoid your anger at Farhan's FT8 and logging code.
You will want to have an external monitor, the sbitx touch screen is too small for this software.
You will also possibly want something faster than sd-card for storage.
You will need to set up wsjt-x to use sbitx: /g/BITX20/wiki/34287
As far as I know, the N3FJP AC program works under Windows.
Yes -- ...
Wine or box86 seems to me to be highly OS dependent.
Yes.
Therefore, I think that communication through the port should be prioritized.
The network should be used for rig control, not the serial port.
-- Regards, Dave, N1AI
|
Re: #sbitx Almost no FT8 reception with V3.02
#sBitx
Joerg, if the previous sbitx worked fine, try it as I wrote in message #108182, as I did. -- Gyula HA3HZ
|