¿ªÔÆÌåÓý


Re: zBITX CW Mode - Proof of Concept

 

Hi Miguel,
?
My zBITX came with version 3.021 of sbitx.? I see from your build errors that you have version 3.052.? ?So it looks like HF Signals has changed what is being shipped in the zBITX, and now modem_poll() is looking for another parameter.? ?Plus something seems to have changed relating a time sysnc,
?
Assuming that has the all of the files for the version 3.052 that you have, I can pull that down to my zBITX and see what I can do to create a version of my sbitx_gtk.c file that will work with sbitx version3,052? ?
?
I do not recall seeing any notice that said that v3.052 was available - maybe I missed it.
?
Stay tuned.?
?
72,
Jody - K3JZD
?
?
? ?


Re: FS zBitx :: EU Only.

 

Sorry, forgot to add a contact:
toze@...
thank you!


Re: zBITX CW Mode - Proof of Concept

 

Jody,
I tried and it doesnt compile. see below and please advise
?
pi@sbitx:~/sbitx $ ./build?
usage: ? ./build program
example: ./build sbitx
No build target provided
Assuming target is sbitx
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Mon May 12 18:26:22 AST 2025
database is intact
compiling sbitx version v3.052 in /home/pi/sbitx
sbitx_gtk.c: In function ¡®handlePttFalling¡¯:
sbitx_gtk.c:3690:5: error: too few arguments to function ¡®modem_poll¡¯
? ? ?modem_poll(mode_id(get_field("r1:mode")->value));
? ? ?^~~~~~~~~~
In file included from sbitx_gtk.c:42:
sdr.h:203:6: note: declared here
?void modem_poll(int mode, int ticks);
? ? ? ^~~~~~~~~~
sbitx_gtk.c: In function ¡®handleDashFalling¡¯:
sbitx_gtk.c:3721:5: error: too few arguments to function ¡®modem_poll¡¯
? ? ?modem_poll(mode_id(get_field("r1:mode")->value));
? ? ?^~~~~~~~~~
In file included from sbitx_gtk.c:42:
sdr.h:203:6: note: declared here
?void modem_poll(int mode, int ticks);
? ? ? ^~~~~~~~~~
sbitx_gtk.c: In function ¡®ui_tick¡¯:
sbitx_gtk.c:4361:3: error: too few arguments to function ¡®modem_poll¡¯
? ?modem_poll(mode_id(get_field("r1:mode")->value));
? ?^~~~~~~~~~
In file included from sbitx_gtk.c:42:
sdr.h:203:6: note: declared here
?void modem_poll(int mode, int ticks);
? ? ? ^~~~~~~~~~
sbitx_gtk.c: In function ¡®main¡¯:
sbitx_gtk.c:5412:3: warning: implicit declaration of function ¡®sync_system_time¡¯; did you mean ¡®sync_sbitx_time¡¯? [-Wimplicit-function-declaration]
? ?sync_system_time(ntp_server);
? ?^~~~~~~~~~~~~~~~
? ?sync_sbitx_time
pi@sbitx:~/sbitx $?


operating with FLdigi programmes #fldigi

 

I kindly ask this community if FLdigi is already installed on my ZBITX that arrived a few days ago and if so, how to activate it?


Re: Displaying/setting the network connection in SET screen on zBitx

 

Well, you could use the external display, keyboard and mouse to setup the second wifi access in the desktop.
Or you give your mobile access point the same name and password like in your home-wifi setup.

Good luck!

PD0ZZ


WTB: uBITX V3, V4 or V5

 

Judging by the traffic on this forum, I assume most of "us" are now working on sBITX and zBITX radios.
If any of you have an unbuilt uBITX kit (V3, V4 or V5) that you will never get around to building, please contact me through my QRZ address and let me know what you need to ship it to WV Zip 25704.??
I would prefer to pay with a USPS money order but I can also do PayPal.
Bob
WB8BEL


Re: zBITX CW Mode - Proof of Concept

 

Jody,
?
Sounds great !
Will try it.. in a day or two...?
?
Good work/findings !!
?
//Mats - SM0FPR


Re: zBITX CW Mode - Proof of Concept

 

¿ªÔÆÌåÓý

Congrats!! ?



On May 12, 2025, at 13:01, Jody - K3JZD via groups.io <k3jzd.jody@...> wrote:

?

Note - This is a follow up to my 29APR25 Posting, which almost got me there.? Some of the background that is that original posting may be of interest as it is not repeated here.

Goal

Make my zBITX usable for manual Straight Key CW Mode and manual Iambic Paddle CW Mode.? At any speed.

Approach

Fix it in software.?? Work within the confines of the existing zBITX and sBitx software.? In other words, apply band-aids, not do a major rewrite.

Solution

The solution was achieved by modifying just the sbitx_gtk.c file, which is a bridge between the underlying sBitx software and the zBITX software/hardware.? My solution was to change the two CW input pins (Dit & Dah) to use Interrupts (IRQs), add IRQ handlers, and then modify the ui_tick() function.

The ui_tick() function is a very busy function that, among many other things, calls the existing sBitx function that looks at the Ptt(Dit) and Dah hardware inputs. The ui_tick() function is triggered periodically by a hardware clock.? The ui_tick() function runs nearly every millisecond.? But, if the ui_tick() function has not completed all of the processing from the previous clocked trigger, that new trigger is not acted on.? So, it is not deterministic.

What was happening was that the ui_tick() process was frequently busy doing something else that took some time to complete whenever it needed to be processing a manual CW key-down occurrences in real time.?? Thus, it had a very poor and unpredictable response, and would not support rhythmic manual CW keying ?

My solution was to:

1.????? Have my Ptt(Dit) and Dah IRQ handlers immediately make the initial call to the existing sBitx function that looks at the Ptt(Dit) and Dah hardware inputs. ?If that existing function (and it¡¯s cast of supporting functions) finds a key down situation, the device is then put into Transmit Mode (the? in_tx? variable is set to True).

2.????? Move the call to the to the existing sBitx function that looks at the Ptt(Dit) and Dah hardware inputs to the very top of the ui_tick() function.? Right after making that call to check for CW activity, I then test the state of the ??in_tx ??variable.? If the? in_tx ?variable is True, then I exit out of the ui_tick() function right away so that I am not getting bogged down by processing anything else in that function.

3.????? Modify the ui_tick() function to test the state of the ?in_tx ?variable after each of the other various tasks that it does. ?If the? in_tx ?variable is True, then I exit out of the ui_tick() function right away so that I am not getting bogged down by processing anything else in that function.? (These additional exits were added because ui_tick() could already be doing something whenever the key down IRQ occurs. ?My multiple test and exit strategy gets me out of the ui_tick() function cleanly, as soon as it is practical to do so.

Result

My zBITX is now quite responsive to manual CW.? With a Straight Key and with Iambic Paddles.? It is Semi-QSK, not Full QSK.? I use a 750ms Semi-QSK Tail-Timer (this is the ¡®Delay¡¯, which is user adjustable from the zBITX GUI ¡®Set¡¯ selection). ?This tail timing suits my operating style.? Whenever the device is sending CW, the GUIs are no longer being updated. ?And the knob is disabled.

Giving up the GUI activity was the price I paid to make the device responsive to manual CW without doing a total software rewrite.? Because ?ui_tick() ?may already be executing some task that happens to be updating the screen during each initial Receive to Transmit switchover, you will occasionally see something ¡®blip¡¯ on the display during the Receive to Transmit switchovers.? Then the display will become static.

Implementing This Change

This is not an official zBITX release.? It is not in the zBITX github repository.? It is only here, in the sbitx_gtk.c file that I have attached to this posting.? ??If you are willing to rebuild your sbitx executable, which lives in your zBITX ??/home/pi/sbitx ??subdirectory, you can try out my solution:

1.????? Save the existing /home/pi/sbitx/sbitx_gtk.c file to a safe place.

2.????? Put my sbitx_gtk.c? file into your /home/pi/sbitx subdirectory.

3.????? From the command line. Execute ??./build??? ?Expect no errors.

4.????? Verify that you have a sbitx executable in your/home/pi/sbitx subdirectory.? It should be around 1.1 gb in size (I would occasionally get a zero length sbitx file).

5.????? Reboot your zBITX?? Plug in your Straight Key or Paddles.? You should now be good to go with manual CW.

Caveat

This is not an official zBITX release.? I am not setup for using SSB, AM, FT8, or any other mode with my zBITX.? ?While I do not see where my changes to the sbitx_gtk.c file to make manual CW usable will have any impact on these other modes, I have not tested any of them.

Going Forward

Perhaps Ashhar Farhan, zBITX developer, will consider my changes to allow manual CW at any speed to be usable on his zBITX, and perhaps will implement them (or some other solution) in a future official zBITX firmware release.? All of the changes that I made to my sbitx_gtk.c? file are identified with a ¡®k3jzd¡¯ comment.

?

I am considering this resolved.? It meets my needs.? Look for you on the air (on CW). ???

?

72,

Jody ¨C K3JZD

<sbitx_gtk.c>


Re: zBITX CW Mode - Proof of Concept

 

Note - This is a follow up to my 29APR25 Posting, which almost got me there.? Some of the background that is that original posting may be of interest as it is not repeated here.

Goal

Make my zBITX usable for manual Straight Key CW Mode and manual Iambic Paddle CW Mode.? At any speed.

Approach

Fix it in software.?? Work within the confines of the existing zBITX and sBitx software.? In other words, apply band-aids, not do a major rewrite.

Solution

The solution was achieved by modifying just the sbitx_gtk.c file, which is a bridge between the underlying sBitx software and the zBITX software/hardware.? My solution was to change the two CW input pins (Dit & Dah) to use Interrupts (IRQs), add IRQ handlers, and then modify the ui_tick() function.

The ui_tick() function is a very busy function that, among many other things, calls the existing sBitx function that looks at the Ptt(Dit) and Dah hardware inputs. The ui_tick() function is triggered periodically by a hardware clock.? The ui_tick() function runs nearly every millisecond.? But, if the ui_tick() function has not completed all of the processing from the previous clocked trigger, that new trigger is not acted on.? So, it is not deterministic.

What was happening was that the ui_tick() process was frequently busy doing something else that took some time to complete whenever it needed to be processing a manual CW key-down occurrences in real time.?? Thus, it had a very poor and unpredictable response, and would not support rhythmic manual CW keying ?

My solution was to:

1.????? Have my Ptt(Dit) and Dah IRQ handlers immediately make the initial call to the existing sBitx function that looks at the Ptt(Dit) and Dah hardware inputs. ?If that existing function (and it¡¯s cast of supporting functions) finds a key down situation, the device is then put into Transmit Mode (the? in_tx? variable is set to True).

2.????? Move the call to the to the existing sBitx function that looks at the Ptt(Dit) and Dah hardware inputs to the very top of the ui_tick() function.? Right after making that call to check for CW activity, I then test the state of the ??in_tx ??variable.? If the? in_tx ?variable is True, then I exit out of the ui_tick() function right away so that I am not getting bogged down by processing anything else in that function.

3.????? Modify the ui_tick() function to test the state of the ?in_tx ?variable after each of the other various tasks that it does. ?If the? in_tx ?variable is True, then I exit out of the ui_tick() function right away so that I am not getting bogged down by processing anything else in that function.? (These additional exits were added because ui_tick() could already be doing something whenever the key down IRQ occurs. ?My multiple test and exit strategy gets me out of the ui_tick() function cleanly, as soon as it is practical to do so.

Result

My zBITX is now quite responsive to manual CW.? With a Straight Key and with Iambic Paddles.? It is Semi-QSK, not Full QSK.? I use a 750ms Semi-QSK Tail-Timer (this is the ¡®Delay¡¯, which is user adjustable from the zBITX GUI ¡®Set¡¯ selection). ?This tail timing suits my operating style.? Whenever the device is sending CW, the GUIs are no longer being updated. ?And the knob is disabled.

Giving up the GUI activity was the price I paid to make the device responsive to manual CW without doing a total software rewrite.? Because ?ui_tick() ?may already be executing some task that happens to be updating the screen during each initial Receive to Transmit switchover, you will occasionally see something ¡®blip¡¯ on the display during the Receive to Transmit switchovers.? Then the display will become static.

Implementing This Change

This is not an official zBITX release.? It is not in the zBITX github repository.? It is only here, in the sbitx_gtk.c file that I have attached to this posting.? ??If you are willing to rebuild your sbitx executable, which lives in your zBITX ??/home/pi/sbitx ??subdirectory, you can try out my solution:

1.????? Save the existing /home/pi/sbitx/sbitx_gtk.c file to a safe place.

2.????? Put my sbitx_gtk.c? file into your /home/pi/sbitx subdirectory.

3.????? From the command line. Execute ??./build??? ?Expect no errors.

4.????? Verify that you have a sbitx executable in your/home/pi/sbitx subdirectory.? It should be around 1.1 gb in size (I would occasionally get a zero length sbitx file).

5.????? Reboot your zBITX?? Plug in your Straight Key or Paddles.? You should now be good to go with manual CW.

Caveat

This is not an official zBITX release.? I am not setup for using SSB, AM, FT8, or any other mode with my zBITX.? ?While I do not see where my changes to the sbitx_gtk.c file to make manual CW usable will have any impact on these other modes, I have not tested any of them.

Going Forward

Perhaps Ashhar Farhan, zBITX developer, will consider my changes to allow manual CW at any speed to be usable on his zBITX, and perhaps will implement them (or some other solution) in a future official zBITX firmware release.? All of the changes that I made to my sbitx_gtk.c? file are identified with a ¡®k3jzd¡¯ comment.

?

I am considering this resolved.? It meets my needs.? Look for you on the air (on CW). ???

?

72,

Jody ¨C K3JZD


Re: zBitX not reporting on pskreporter.info

 

That bothers me too, but it's not the issue here.
?
Vy73 Juergen DF7II?


FS zBitx :: EU Only.

 

Hello!
?
Im selling my zBitx from the first batch and delivered last April.

Besides the transceiver and supplied accessories (OTG, usb cable, stylus) im also adding:
HDMI to mini HDMI cable?
BT keyboard
4 x 18650 batteries
USB charger for 2 18650 batteries

located in Portugal and able to ship within the EU (shipping cost to be added)



Asking 230€.



Re: SBit V4 Thoughts

 

I think offering various RPi models directly from HF Signals would be a bit of a challenge and isn't really necessary.

The sBitx is sold as a havkable radio, with limited support after sale, the owner takes responsibility for the hardware/software with minimal support from HF Signals. That's my characterization, the actual terms are listed on the HFSignals.com website.

To stock multiple RPi models to include in the radio would require a more involved order/build process, I think the more practical answer is to make the RPi board easily replaceable by a ham with a screwdriver - as it currently is.

If all you want is Firefox and to store some PDFs, there's no reason to increase the RAM in the sBitx as currently supplied, at least that's my opinion.

The higher-res display is the big improvement, the radio itself doesn't really need more RAM.

Ken, N2VIP

On May 11, 2025, at 00:30, Gerald Sherman via groups.io <ve4gks@...> wrote:

One thing that might be worthwhile is to offer the V4 with different Pis, depending on the amount of RAM (2, 4, or 8 Gb) individual users desire. I realize this option would have to be reflected in the pricing. I would be willing to pay more for more memory.


Re: Mouse & Monitor Help

 

Mouse wheel doesn't work for me, sometimes a value will change by one when clicked on, not always


Re: Mouse & Monitor Help

 

So I checked it now - all conected to zBitz.
Adjusting for example the Audio level works somehow.
Pushing down the mousewheel makes reacting the settings, but it needs a hughe movement of the wheel to make a jump and that not smoothly. It is sometimes jumping in a more wild way. Not useable with my mouse. A Question of resolution settings of the mouse? At windows and linux and rpi4 it works correct.
Would be interesting to know what mouse other users are using and how it is connected to zBitx.
Through Bluetooth or USB or USB-Hub?
73 Michael


Re: Mouse & Monitor Help

 

Interesting, I have to try it too. At the moment I'm connected via VNC to a headless zBitx - at this configuration it doesn't work correct.
73, Michael


Re: Splatter-proof radio?

 

Isn't splatter in CW mode caused by the rapid rise of the signal on key down or rapid fall on key up?? How is that handled in the sBitx?? Is there a level control that uses a raised cosign or similar algorithm to prevent key clicks?
?
I must look into the code to see how CW is being processed.
?
73
Evan
AC9TU


Re: Splatter-proof radio?

 

Thanks, Evan!? ?I agree that if you overdrive the finals you can produce IMD.? ?But I think the modulation is by Fourier Transform and band-limited in the Fourier Transform, so unless the transform errs, how can it produce a time-domain output that has signal strength outside of the limited set bandpass of the creation?? ? ?

That intrigues me.? ? ?

Also, I watch a number of my friend's signals on the spectral display and I see a lot of wasted energy in their lower-frequency parts of their audio signal.? ? When it is the higher frequency parts that are so important for speech recognition -- especially with older ears with possibly lower response?in the mid and higher range.? ? Before this radio I didn't really ever see that stuff.? ??

Interesting.

Gordon KX4Z


On Mon, May 12, 2025 at 7:00?AM Evan Hand via <elhandjr=[email protected]> wrote:
Gordon,
?
I believe that this radio can produce "splatter" if the level is set too high.? I have not looked into the code, so I do not know if any key shaping is done in CW mode, for example.? Overdriving the audio can also produce splatter.? The PA gain (NOT Mic gain) is post DSP filters, so splatter is still possible.?
?
Splatter is one reason the QRP-Labs QDX is not suitable for CW operation.? The QDX lacks key shaping, even though it is a single-frequency signal generated directly from the Si5351.
?
I could be wrong so that I will look for others' comments.
?
73
Evan
AC9TU


Re: Splatter-proof radio?

 

Gordon,
?
I believe that this radio can produce "splatter" if the level is set too high.? I have not looked into the code, so I do not know if any key shaping is done in CW mode, for example.? Overdriving the audio can also produce splatter.? The PA gain (NOT Mic gain) is post DSP filters, so splatter is still possible.?
?
Splatter is one reason the QRP-Labs QDX is not suitable for CW operation.? The QDX lacks key shaping, even though it is a single-frequency signal generated directly from the Si5351.
?
I could be wrong so that I will look for others' comments.
?
73
Evan
AC9TU


Re: zBitX not reporting on pskreporter.info

 

Is this thing bothering you? Doesn't it bother you that you can't make a QSO with the /p or /prefix callsign?
--
Gyula HA3HZ


Re: Splatter-proof radio?

 

There is some kind of control on the alsa mixer, because earlier, when the topic of discussion was why the output signal is smaller during digital transmission, I saw this. Call the alsa mixer and try to adjust the volume, the slider automatically jumps back to a level when transmitting. I didn't look any further for where this is set, but the regulation works.
--
Gyula HA3HZ