开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

CW on zbitx


 

What is your cw delay set to? Try setting it to 600


On Fri, Apr 4, 2025, 5:29 PM John AE5X via <ae5x=juno.com@groups.io> wrote:
On Thu, Apr 3, 2025 at 09:14 PM, Ron Carr wrote:
It would be interesting if some of the users who say it works or say it doesn't work would report what mode they use.?
It doesn't work on either mode. Straight key mode also omits dots and there is a slight (but very significant) delay between key closure and sidetone/RF generation.
?
73,
?
John AE5X
?


 

100. I'll try a longer setting.


 

John's experience matches my own. If I turn down Iambic A or B to 12wpm my error rate drops significantly. I don't straight key much so I won't comment there.
?
I'm really looking forward to the software update for this. Happy to be a tester if Ashar wishes to release it to a small group first.


 

Ashar, I tried a longer setting as you suggested, values up from 100 to 300 to 500 to 800 to 1000. It does get better as you increase the delay but is still an issue. So I did a simple test, with the radio idle I simply attempted to key an A, several times. Sometimes it missed the dit, sometimes it missed both the dit and dah and sometimes it registered the character correctly. See video I just posted
73


 

The next update will have to wait until the weekend is out. I am travelling, with the zbitx, but without a paddle.


On Fri, Apr 4, 2025, 7:11 PM Vince d'Eon VE6LK/AI7LK via <vincedeon=gmail.com@groups.io> wrote:
Ashar, I tried a longer setting as you suggested, values up from 100 to 300 to 500 to 800 to 1000. It does get better as you increase the delay but is still an issue. So I did a simple test, with the radio idle I simply attempted to key an A, several times. Sometimes it missed the dit, sometimes it missed both the dit and dah and sometimes it registered the character correctly. See video I just posted
73


 

Yes, CW feels strange (even after updating: zBitx firmware 1.06, sBitx v3.051). At 18 WPM, iambic A (my usual mode), I sometimes make mistakes I usually do not do, just because the keyer does not pick my keying fast enough. I wonder if the software modifications discussed would improve it. I was going to make this radio one of my main SOTA radios, but not yet.


Missatge de Vince d'Eon VE6LK/AI7LK via <vincedeon=gmail.com@groups.io> del dia dv., 4 d’abr. 2025 a les 15:41:

Ashar, I tried a longer setting as you suggested, values up from 100 to 300 to 500 to 800 to 1000. It does get better as you increase the delay but is still an issue. So I did a simple test, with the radio idle I simply attempted to key an A, several times. Sometimes it missed the dit, sometimes it missed both the dit and dah and sometimes it registered the character correctly. See video I just posted
73



--
Mikel L. Forcada / Alacant / l'Alacantí / País Valencià
mikel.forcada@...


 

Asher, I trust you are not traveling via a creek without your paddle..lol
?
73 de K4FMH


 

Ashhar, are you telling us that you are up the zbitx without a paddle?


On Fri, Apr 4, 2025 at 10:52?AM Ashhar Farhan via <farhanbox=gmail.com@groups.io> wrote:

The next update will have to wait until the weekend is out. I am travelling, with the zbitx, but without a paddle.


On Fri, Apr 4, 2025, 7:11 PM Vince d'Eon VE6LK/AI7LK via <vincedeon=gmail.com@groups.io> wrote:
Ashar, I tried a longer setting as you suggested, values up from 100 to 300 to 500 to 800 to 1000. It does get better as you increase the delay but is still an issue. So I did a simple test, with the radio idle I simply attempted to key an A, several times. Sometimes it missed the dit, sometimes it missed both the dit and dah and sometimes it registered the character correctly. See video I just posted
73


 

开云体育

I think he is out to Zea without a paddle!!

But he is very resourceful and I bet he will get back!!

Gordon kx4z?



On Apr 4, 2025, at 14:39, Richard Spohn via groups.io <wb2gxm@...> wrote:

?
Ashhar, are you telling us that you are up the zbitx without a paddle?

On Fri, Apr 4, 2025 at 10:52?AM Ashhar Farhan via <farhanbox=gmail.com@groups.io> wrote:

The next update will have to wait until the weekend is out. I am travelling, with the zbitx, but without a paddle.


On Fri, Apr 4, 2025, 7:11 PM Vince d'Eon VE6LK/AI7LK via <vincedeon=gmail.com@groups.io> wrote:
Ashar, I tried a longer setting as you suggested, values up from 100 to 300 to 500 to 800 to 1000. It does get better as you increase the delay but is still an issue. So I did a simple test, with the radio idle I simply attempted to key an A, several times. Sometimes it missed the dit, sometimes it missed both the dit and dah and sometimes it registered the character correctly. See video I just posted
73


 

Until everything is working perfectly, you can still make CW QSOs with a little goodwill.
?
This afternoon/evening, I worked with HS100IARU and 8A100IARU using just the zBitx (without any additional PA).
?
When using the straight key, you can hear the initial delay with the first "r." From the second "r" onward, the characters come out flawlessly (as far as I can CW, hi). Delay is set to 700.
?
?


 

开云体育

That may somewhat defeat the purpose of break-in

We had the same trouble with the sbitx until we got the software fix going. ?After that, it is really really nice for CW. ?To avoid clicks and thumps I usually set mine to break in neatly between words, but you can’t get an Icom ?to do that without having a ton of clattering. ?

I bet this will eventually get fixed.

Gordon. ?Kx4z?








On Apr 4, 2025, at 17:51, Frank, DD3FH via groups.io <dd3fh@...> wrote:

?
Until everything is working perfectly, you can still make CW QSOs with a little goodwill.
?
This afternoon/evening, I worked with HS100IARU and 8A100IARU using just the zBitx (without any additional PA).
?
When using the straight key, you can hear the initial delay with the first "r." From the second "r" onward, the characters come out flawlessly (as far as I can CW, hi). Delay is set to 700.
?
?


 

I think Gordon KX4Z is spot on, the timing of items in the ui_tick() loop need adjusting.
?
I slowed down a few things, and made polling the key more frequent, and now I was able to send at 30WPM (not really - but I'm confident any mistakes were mine, and not the zbitx's).
?
Ron Carr's fix for iambic B is also essential to make that work correctly.
?
My changes are in my , and worked for the very few things I tried, but well may have broken others.
?
I am very excited about this radio and having the ability to see and change how it's working!
?
Erik - n2epe
?


 

开云体育

Eric, thank you very much for performing that test. I read through your code and I think that you are calling modem poll on every tick.

That would certainly suggest that your newfound success indicated it needed to be called more frequently.

I have a suspicion that it will similarly work pretty well even if you call it every fifth tick would you be willing to try that? That would be four times faster than it is currently being called and I think that would allow people to get to 30 words per minute, give or take. I’m just curious because I want to see just where the effective “ Shannon limit “ is?
reached for human perception. ??

Again, thank you very much for trying that test. I don’t have the radio so I can’t make the test.

?I think somebody else explained it very well. That Ashhar was now reading the paddles extremely rapidly, but not acting on it rapidly. You apparently fixed the latter, ?with the fix we thought would work

Difficult to dictate on an iPhone…..


Gordon?


On Apr 5, 2025, at 20:07, Erik Erkelens - N2EPE via groups.io <erik.erkelens@...> wrote:

?
I think Gordon KX4Z is spot on, the timing of items in the ui_tick() loop need adjusting.
?
I slowed down a few things, and made polling the key more frequent, and now I was able to send at 30WPM (not really - but I'm confident any mistakes were mine, and not the zbitx's).
?
Ron Carr's fix for iambic B is also essential to make that work correctly.
?
My changes are in my , and worked for the very few things I tried, but well may have broken others.
?
I am very excited about this radio and having the ability to see and change how it's working!
?
Erik - n2epe
?


 

I assume you can use extern's with these separate files.?? I suggest to use one.? As an example call the variable
cw_tx_now.? It will need to be defined as extern in one of the files and just declared in the other.
?
Here in modem_cw when leaving the idle state you can add:
?
? ? ? ? ? ? cw_current_symbol = CW_DOT_DELAY;
? ? ? ? }
? ? ? ? else if (symbol_now & CW_WORD_DELAY){
? ? ? ? ? ? keydown_count = 0;
? ? ? ? ? ? keyup_count = cw_period * 6;
? ? ? ? ? ? cw_current_symbol = CW_DOT_DELAY;
? ? ? ? }
? ? ? ? //else just continue in CW_IDLE
??????? if( keydown_count > 0 ) cw_tx_now = 1;

? ? ? ? break;
?
and over here in sbitx_gtk
?
? ? if (ticks % 20 == 0 || cw_tx_now ){
? ? ? modem_poll(mode_id(get_field("r1:mode")->value));
????? cw_tx_now = 0;
? ? }


 

开云体育

I recently powered up my zbit.? I had an official Pi keyboard and mouse connected through the supplied OTG adapter before applying power.? The zbit power and drive were both set to zero as I had no antenna connected.? The radio seemed to key OK from the keyboard, according to the sidetone I was hearing.

A couple of comments and questions.

Why is it necessary to use an HDMI monitor when updating the software?

I couldn't see the mouse pointer with the above-mentioned connection.

Gerry Sherman

On 2025-04-06 00:07, Erik Erkelens - N2EPE via groups.io wrote:

I think Gordon KX4Z is spot on, the timing of items in the ui_tick() loop need adjusting.
?
I slowed down a few things, and made polling the key more frequent, and now I was able to send at 30WPM (not really - but I'm confident any mistakes were mine, and not the zbitx's).
?
Ron Carr's fix for iambic B is also essential to make that work correctly.
?
My changes are in my , and worked for the very few things I tried, but well may have broken others.
?
I am very excited about this radio and having the ability to see and change how it's working!
?
Erik - n2epe
?


 

Ron, I think you are going down the same path I did on the 64 bit baseline last year. In sbitx_gtk.c we made the tweak like yours which leaves Farhans code and the polling rate undisturbed for all current and future modes, except for new special treatment (more frequent polling) for MODE_CW and CWR.

I like Gordon's comment about the Shannon limit, but there is no limit on how much people will complain when you clip off one of their dits or dahs!

I originally started to go through all the CW related stuff between modem_poll and key_poll to see if it should be streamlined but Farhans original code seems pretty good.

if (ticks % 20 == 0)
modem_poll(mode_id(get_field("r1:mode")->value));
else
{
// calling modem_poll every 20 ticks isn't enough to keep up with a fast
// straight key, so now we go on _every_ tick in MODE_CW or MODE_CWR
if ((mode_id(get_field("r1:mode")->value)) == MODE_CW ||
(mode_id(get_field("r1:mode")->value)) == MODE_CWR)
modem_poll(mode_id(get_field("r1:mode")->value));
}

and over here in sbitx_gtk

if (ticks % 20 == 0 || cw_tx_now ){
modem_poll(mode_id(get_field("r1:mode")->value));
cw_tx_now = 0;
}
Sat, Apr 5, 2025 at 10:04 PM, Ron Carr wrote:


and over here in sbitx_gtk

if (ticks % 20 == 0 || cw_tx_now ){
modem_poll(mode_id(get_field("r1:mode")->value));
cw_tx_now = 0;
}
--
Mike KB2ML


 

You guys go for it!
More power to you!
I’m working on satellite antenna controls right now

Gordon kx4z

On Apr 6, 2025, at 07:19, Mike Johnshoy via groups.io <mike.johnshoy@...> wrote:

?Ron, I think you are going down the same path I did on the 64 bit baseline last year. In sbitx_gtk.c we made the tweak like yours which leaves Farhans code and the polling rate undisturbed for all current and future modes, except for new special treatment (more frequent polling) for MODE_CW and CWR.

I like Gordon's comment about the Shannon limit, but there is no limit on how much people will complain when you clip off one of their dits or dahs!

I originally started to go through all the CW related stuff between modem_poll and key_poll to see if it should be streamlined but Farhans original code seems pretty good.

if (ticks % 20 == 0)
modem_poll(mode_id(get_field("r1:mode")->value));
else
{
// calling modem_poll every 20 ticks isn't enough to keep up with a fast
// straight key, so now we go on _every_ tick in MODE_CW or MODE_CWR
if ((mode_id(get_field("r1:mode")->value)) == MODE_CW ||
(mode_id(get_field("r1:mode")->value)) == MODE_CWR)
modem_poll(mode_id(get_field("r1:mode")->value));
}

and over here in sbitx_gtk

if (ticks % 20 == 0 || cw_tx_now ){
modem_poll(mode_id(get_field("r1:mode")->value));
cw_tx_now = 0;
}
Sat, Apr 5, 2025 at 10:04 PM, Ron Carr wrote:


and over here in sbitx_gtk

if (ticks % 20 == 0 || cw_tx_now ){
modem_poll(mode_id(get_field("r1:mode")->value));
cw_tx_now = 0;
}

--
Mike KB2ML





 

That (every 4 ticks) would probably work - but only if you make the qsk delay high enough.
?
That delay stops the waterfall/decoder display from updating, and that seems to be taking a bit more time than the current loop allows, one tick is not 1ms, but a bit over 2.
I think it would be fine to do the screen updates less frequently even when receiving, I like a slower waterfall, but that's one of the tradeoffs that I'm sure Farhan has considered and will fine tune.
?
Erik