The issue is most likely caused by poling the state of the key 96000 times a second and only acting upon it in modem poll 10 times per second. The solution in the 64-bit branch was to adjust modem_poll to check multiple times in each call.? The transition states are being made but not acted upon.
?
From modem_pol()
?
/*
This file implements modems for :
Fldigi: We use fldigi as a proxy for all the modems that it implements
?
?
General:
?
There are three functions called to implement almost all the digital modes
1. There is the modem_init() that is used to initialize all the different modems.
2. The modem_poll() is called about 10 times a second to check if any transmit/receiver
changeover is needed, etc.
3. On receive, each time a block of samples is received, modem_rx() is called and?
it despatches the block of samples to the currently selected modem.?
The demodulators call write_console() to call the routines to display the decoded text.
4. During transmit, modem_next_sample() is repeatedly called by the sdr to accumulate
samples. In turn the sample generation routines call get_tx_data_byte() to read the next
text/ascii byte to encode.
?
*/
?
I need to look at the details more to verify that the comment is accurate.
?
73
Evan
AC9TU
Re: #zbitx I would really like a formal way to shut down the software gracefully
#zbitx
I am not making myself clear. The cw_poll nor modem_poll has any use of reading the keyer.
I hope it is clear. None of the polling routines are used expect to start the transmission.
The keyer is sensed by the isr routine that updates the global variables with the current state of the paddles.
It is the key_poll that reads and returns the state of the paddle 96,000 times a second.
I repeat, nothing to do with either the ui_tick nor modem_poll nor cw_poll.
It would be best if everyone read the detailed email I posted with reference to the exact line numbers of the code. We can then discuss the code.
- f
On Thu, Apr 3, 2025, 9:28 PM Gordon Gibby KX4Z via <docvacuumtubes=[email protected]> wrote:
Calling anywhere from 5 to 10 times more frequently would probably result in significant improvement.? ? In the sBitx software, he increased it to 20 times more frequently and it was amazing.?
> On Apr 3, 2025, at 10:40, Mike Johnshoy via <mike.johnshoy=[email protected]> wrote:
>
> ?Ashar, no not cw_poll(), it is modem_poll() that is not getting called often enough.? In sbitx_gtk.c this call is at line #4257 inside of ui_tick().? modem_poll() in turn decides what to do for each of the modes, but in the case of CW modem_poll only gets called ~once per 20 milliseconds, so no matter how fresh the key_poll data is it doesn't get looked at enough.?
> --
> Mike KB2ML
>
>
>
>
>
I’m no expert. If I was in your situation, I would probably get another SD card. Download the image, burn a new SD card and put that into the radio to give it a try.?
You would still have the original SD card available if needed..
On Apr 3, 2025, at 12:53?PM, Jim via groups.io <jlckansas@...> wrote:
I just ordered my ZBitX.? ?Have a couple of questions.
?
1.? ?What would I need to do to run WSPR on it to see how my setup is working?? ?I live in an apartment and would not be able to mount a permanent antenna out side but have to rig something up either inside or stealth.
?
2.? ?What about using a buck converter?? ? I have 12V batteries to use but was wondering is anyone was using one to run their Z.
I just ordered my ZBitX.? ?Have a couple of questions.
?
1.? ?What would I need to do to run WSPR on it to see how my setup is working?? ?I live in an apartment and would not be able to mount a permanent antenna out side but have to rig something up either inside or stealth.
?
2.? ?What about using a buck converter?? ? I have 12V batteries to use but was wondering is anyone was using one to run their Z.
I ran into the same issue. v3.051 is currently the latest version. In my case, the git branch was set to "farhandev" instead of "main". This also seems to be the difference between the ./update and ./update_zbitx script - the former does not explicitly set a branch, while the latter sets the branch to "farhandev" after running the git pull. In the ~/sbitx folder, I had to manually run "git checkout main", then ran the ./update script. This brought me to v3.051 and now I get proper readings both via HDMI and on the "head unit" (previously, the "head unit" kept displaying the voltage/S-meter and power/SWR remained at 0/1.0 via HDMI despite appropriate power output).
Calling anywhere from 5 to 10 times more frequently would probably result in significant improvement. In the sBitx software, he increased it to 20 times more frequently and it was amazing.
On Apr 3, 2025, at 10:40, Mike Johnshoy via groups.io <mike.johnshoy@...> wrote:
?Ashar, no not cw_poll(), it is modem_poll() that is not getting called often enough. In sbitx_gtk.c this call is at line #4257 inside of ui_tick(). modem_poll() in turn decides what to do for each of the modes, but in the case of CW modem_poll only gets called ~once per 20 milliseconds, so no matter how fresh the key_poll data is it doesn't get looked at enough. -- Mike KB2ML
On Thu, Apr 3, 2025, 8:29 PM Doug W via <dougwilner=[email protected]> wrote:
Even if you did not know who Mike was, you know his work.? Mike was a key developer of hamlib in addition to many, many other contributions to our hobby.? I only had the privilege of a few email exchanges with him but you would be hard pressed to find a kinder, more helpful ham anywhere.
Double check your positive lead, I think I see some bare copper in your picture . Possibly a nick from stripping outer insulation, mine had both leads nicked.?
On Thu, Apr 3, 2025 at 8:21?AM Vince d'Eon VE6LK/AI7LK via <vincedeon=[email protected]> wrote:
Even if you did not know who Mike was, you know his work.? Mike was a key developer of hamlib in addition to many, many other contributions to our hobby.? I only had the privilege of a few email exchanges with him but you would be hard pressed to find a kinder, more helpful ham anywhere.
Ashar, no not cw_poll(), it is modem_poll() that is not getting called often enough. In sbitx_gtk.c this call is at line #4257 inside of ui_tick(). modem_poll() in turn decides what to do for each of the modes, but in the case of CW modem_poll only gets called ~once per 20 milliseconds, so no matter how fresh the key_poll data is it doesn't get looked at enough. -- Mike KB2ML