Merged
Conversation
drexjj
added a commit
that referenced
this pull request
Jun 17, 2025
* CW Improvements (#199) * - quiet a high frequency repeating error message on sbitx DE * Update sdr.h - add new CW paddle modes (SIDESWIPE and ULTIMATIC) - add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine * changes to support new CW modes - added SIDESWPE and ULTIMATIC keyer modes to UI - changed key_poll() to return new CW_SQUEEZE symbol * replace electronic keyer code in modem_cw.c - add new function handle_cw_state_machine() containing state machines for all cw modes - change cw_tx_get_sample() to work with new state machines NOTE: Macros and keyboard support not working right! * back out fix for bothersome error msg on sbitxDE * - update handle_cw_state_machine in modem_cw.c * upated handle_cw_state_machine() again ... * Update handle_cw_state_machine() in modem_cw.c * Update modem_cw.c - insure last character of macro is played back - in iambic and iambicB modes, relax time constraint on start of next paddle input * add 'bug' to defined CW input methods * add 'bug' mode to gui CW_INPUT menu * Update modem_cw.c now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well. * updated iambicB code * update iambicB mode cut-and-past error in last commit ... * Update modem_cw.c fixing copy and paste errors ... iambicB still not right * Update modem_cw.c just syncing my versions -- iambicB mode remains the only real problem * Update modem_cw.c - all modes working, inicluding iambic B * commented out printf() statements used during development * improve performance of state machine change order of tests to improve responsiveness to fast input for letter 'A' and 'N' * update iambicB to prevent occasional extra dash * another iambicB tweak * iambic state machine performance improvement simplified conditional test for keyer being idle * iambicB state machine change * apply 'lessons learned' in iambicB state machine to iambic * update ULTIMATIC mode remove unnecessary delays * update ultimatic (missing bracket) * Update sdr.h delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine * shorten delay between characters when using kbd or macros * fixed spacing between words from keyboard or macro playback * delete debug code - removed many print statements used to track state changes during development - removed two unneeded delays in SIDESWIPE and ULTIMATIC code * remove SIDESWIPE keyer support from gui * removed #define for SIDESWIPE paddle * deleted SIDESWIPE paddle support in keyer --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> * Update modem_cw.c (#200) * merge 5.0 (#202) * Added WF-Paint to the GTK menu 2 * changed to WFCALL * Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working.. * cleared up much of the jitter. * Converted to AudioWorklet Processing * removed ScriptProcessorNode functions * removed browser mic level / color display * removed duplicate functions * reduces mic swithing to 100ms * Updated Mongoose to serve over https. see TLS Requirements * added credit to 64bit dev team * updated credits * updated cert expiration * removed leftover placeholder comment * added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local * Replaced the accidently removed modem_init() from setup function. * removed line referencing manual redirect setting. it is now automatic * created WFCALLOPT option to show/hide the WFCALL button * Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad * Added shutdown resource cleanup to close the python keypad * integrated rxaudioworklet and rx->tx chain muting * Disable Local WF/Spec when there is an active WS session * added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling * enforce required parameters for web-rtc * modified rx_linear to provide EQ processed audio to qremote() * Added W4WHL improvements to tuning, and rx audio leveler * locked rx line in spec/wf to 0hz when in SSB modes * added W4WHL display resolution scaling for enhanced codgerfied visibility * wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost * Added W4WHL dopamine enhancements as well as draggable bandpass edges * added global constant FILTER_EDGE_DETECTION_WIDTH * Adjusted edge detection on mobile devices. * adjusted bandpass edge limits * reverted to pre bandpass drag index * re-enabled rx audio in ft8 * Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index. * Commented out FT8 mute assertion line due to conflicts with other modes. * recalculated the vertical center of the spectrum grid. * special ft8 list clearing command watcher * Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change) * Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position. * Added CW bug and ultimatic to cw modes * adjusted cw_input container to fit dropdown more cleanly * css adjustment to keep linear dropdown inside container bounds * adjusted left padding on linear element. * Changed QRO control label to ePTT * adjusted font size for .sbitxv3-selection * added script launching into webserver added debug and test scripts. logs created in /tmp * added button to CW/R, FT8, DIGI "bottom-bar" * began to impliment remote applicaiton control with JJ * added titlebars to applications with xfwm4 (sudo apt install xfwm4) * JJ updated js8call and fldigi scripts to properly launch. * Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name. * Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion. * removed unused APP_COMMAND from stop_ scripts * updated pid identiffier name to reflect application name * adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var. * included new variable useage * updated main_vnc script to use new methods * fixed a missing var replacement whoops.. * Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch * updated romulation routine with slc5 ee patch * adjusted higgle transposer, positive value improved the response of the third harmonic. * reverted a few changes, and adjusted spectrogram viewport size * changed apps.html to support dynamic hostname detection for use when spawning vnc sessions * turn off main_vnc access until security is baked in * extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required * for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt * moved script to /home/pi/duckdns-certbot.sh * hotfix reverted to no auth on apps.html issues with novnc spawn * system information page added * Added GPS satellite data to the results when there are birds in view * INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed. * Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1 * enablws apps button in voice modes for web client * added smoke show to sysinfo.html * restored scrolling to sysinfo page. (whoops) * adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME} * modified sleep timer b4 maximize * added ios detection and touch notice * Updated stop scripts to clean up xfwm4 .pid files * added nosleep.min.js to prevent the mobile devices form sleeping when in use. * fixed state of application toggles are now properly reacting to the runstate of the application under IOS * notice updated * improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches. * Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking * changed resolution of session * added tune button and browser mic off when modes digi and ft8 are selected * repositioned ePTT button to far right of menu area * fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface * added s-meter to web control * adjusted LED size from 8px to 6px * moved status from 20,14 to 5,14 * minor adjustments * minor font adjjust * zero beat locked at 700hz (more work to be done) * removed beta zero beat code from branch * simplified zerobeat approach by adding launcher to sb_cwd on cw menu * Updated zerobeat approach also added web interface functionality * coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms * moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly * removed zsens from CW page * bfo added to web interface * fixed tune button removed if !this.disabled to clear up conflict * -added more launcher scripts -changed name of launcher -changed version string to 5.0 -changed index to reflect version and some cleanup on login page * sidetone added to cw and ft8 modes in the web interface. adjusted font slightly * updated positoin of sidetone control * removed unecassary complexity in sidetone audio aquisition * updated sidetone volume limit * add small decoder window in fullscreen mode for cw * moved sidetone to main controls, created new class for it * moved sidetone to maincontrol.. * Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes * spruced up index.html (added animation canvas) * modified animation canvas * changed background to plasma * whoops.. extra curly brace... * plasma updated * credits added * cha-cha-cha-cha-changes * enhanced credit fade * fixed array selection issue * credit or debit * by the power of greyskull * still tinkering with the callsign presentation * im getting tired now.... * adjusted particles * reverted .html files to pre 'canvas enhancements' state --------- Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> * fix cw mode change issue - MJ (#203) * Revert changes for small console box in CW mode. * Web login accepts Enter key * Html input id="VFO" deleted. Fixes A B error. * Keep freq-direct window on top * changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204) Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> * Added sidetone control for web interface DIGI mode * Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable) * waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement * Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement" This reverts commit 4c47eb5. * Fix Split Mode for local GUI and web Gui * Band limits shown. Red for out of band. * Web band stack pos added as STORE * Web band limits: Red for out of band. * Web band stack pos now optional * revert band limit read * Update index.html * Update style.css * Update webserver.c * Update sbitx.c * Update sbitx_gtk.c * Update sbitx_gtk.c * Jb wftx to wftx-web (#207) * added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field * disabled autoscope when in_tx * added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode * force autoscope off if tx_panafall is on * added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD * testing 145/180/80 for Wf settings * Update sbitx.c Removed parasitic comments * Delete web/scripts/test.sh * Auto close freq box when enter is pressed * Update README.md * Delete sbitx44.png * Add files via upload * Update README.md * Update release_notes.txt * Update README.md * Update README.md --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
Merged
drexjj
added a commit
that referenced
this pull request
Jun 17, 2025
* CW Improvements (#199) * - quiet a high frequency repeating error message on sbitx DE * Update sdr.h - add new CW paddle modes (SIDESWIPE and ULTIMATIC) - add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine * changes to support new CW modes - added SIDESWPE and ULTIMATIC keyer modes to UI - changed key_poll() to return new CW_SQUEEZE symbol * replace electronic keyer code in modem_cw.c - add new function handle_cw_state_machine() containing state machines for all cw modes - change cw_tx_get_sample() to work with new state machines NOTE: Macros and keyboard support not working right! * back out fix for bothersome error msg on sbitxDE * - update handle_cw_state_machine in modem_cw.c * upated handle_cw_state_machine() again ... * Update handle_cw_state_machine() in modem_cw.c * Update modem_cw.c - insure last character of macro is played back - in iambic and iambicB modes, relax time constraint on start of next paddle input * add 'bug' to defined CW input methods * add 'bug' mode to gui CW_INPUT menu * Update modem_cw.c now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well. * updated iambicB code * update iambicB mode cut-and-past error in last commit ... * Update modem_cw.c fixing copy and paste errors ... iambicB still not right * Update modem_cw.c just syncing my versions -- iambicB mode remains the only real problem * Update modem_cw.c - all modes working, inicluding iambic B * commented out printf() statements used during development * improve performance of state machine change order of tests to improve responsiveness to fast input for letter 'A' and 'N' * update iambicB to prevent occasional extra dash * another iambicB tweak * iambic state machine performance improvement simplified conditional test for keyer being idle * iambicB state machine change * apply 'lessons learned' in iambicB state machine to iambic * update ULTIMATIC mode remove unnecessary delays * update ultimatic (missing bracket) * Update sdr.h delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine * shorten delay between characters when using kbd or macros * fixed spacing between words from keyboard or macro playback * delete debug code - removed many print statements used to track state changes during development - removed two unneeded delays in SIDESWIPE and ULTIMATIC code * remove SIDESWIPE keyer support from gui * removed #define for SIDESWIPE paddle * deleted SIDESWIPE paddle support in keyer --------- * Update modem_cw.c (#200) * merge 5.0 (#202) * Added WF-Paint to the GTK menu 2 * changed to WFCALL * Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working.. * cleared up much of the jitter. * Converted to AudioWorklet Processing * removed ScriptProcessorNode functions * removed browser mic level / color display * removed duplicate functions * reduces mic swithing to 100ms * Updated Mongoose to serve over https. see TLS Requirements * added credit to 64bit dev team * updated credits * updated cert expiration * removed leftover placeholder comment * added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local * Replaced the accidently removed modem_init() from setup function. * removed line referencing manual redirect setting. it is now automatic * created WFCALLOPT option to show/hide the WFCALL button * Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad * Added shutdown resource cleanup to close the python keypad * integrated rxaudioworklet and rx->tx chain muting * Disable Local WF/Spec when there is an active WS session * added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling * enforce required parameters for web-rtc * modified rx_linear to provide EQ processed audio to qremote() * Added W4WHL improvements to tuning, and rx audio leveler * locked rx line in spec/wf to 0hz when in SSB modes * added W4WHL display resolution scaling for enhanced codgerfied visibility * wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost * Added W4WHL dopamine enhancements as well as draggable bandpass edges * added global constant FILTER_EDGE_DETECTION_WIDTH * Adjusted edge detection on mobile devices. * adjusted bandpass edge limits * reverted to pre bandpass drag index * re-enabled rx audio in ft8 * Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index. * Commented out FT8 mute assertion line due to conflicts with other modes. * recalculated the vertical center of the spectrum grid. * special ft8 list clearing command watcher * Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change) * Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position. * Added CW bug and ultimatic to cw modes * adjusted cw_input container to fit dropdown more cleanly * css adjustment to keep linear dropdown inside container bounds * adjusted left padding on linear element. * Changed QRO control label to ePTT * adjusted font size for .sbitxv3-selection * added script launching into webserver added debug and test scripts. logs created in /tmp * added button to CW/R, FT8, DIGI "bottom-bar" * began to impliment remote applicaiton control with JJ * added titlebars to applications with xfwm4 (sudo apt install xfwm4) * JJ updated js8call and fldigi scripts to properly launch. * Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name. * Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion. * removed unused APP_COMMAND from stop_ scripts * updated pid identiffier name to reflect application name * adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var. * included new variable useage * updated main_vnc script to use new methods * fixed a missing var replacement whoops.. * Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch * updated romulation routine with slc5 ee patch * adjusted higgle transposer, positive value improved the response of the third harmonic. * reverted a few changes, and adjusted spectrogram viewport size * changed apps.html to support dynamic hostname detection for use when spawning vnc sessions * turn off main_vnc access until security is baked in * extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required * for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt * moved script to /home/pi/duckdns-certbot.sh * hotfix reverted to no auth on apps.html issues with novnc spawn * system information page added * Added GPS satellite data to the results when there are birds in view * INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed. * Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1 * enablws apps button in voice modes for web client * added smoke show to sysinfo.html * restored scrolling to sysinfo page. (whoops) * adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME} * modified sleep timer b4 maximize * added ios detection and touch notice * Updated stop scripts to clean up xfwm4 .pid files * added nosleep.min.js to prevent the mobile devices form sleeping when in use. * fixed state of application toggles are now properly reacting to the runstate of the application under IOS * notice updated * improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches. * Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking * changed resolution of session * added tune button and browser mic off when modes digi and ft8 are selected * repositioned ePTT button to far right of menu area * fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface * added s-meter to web control * adjusted LED size from 8px to 6px * moved status from 20,14 to 5,14 * minor adjustments * minor font adjjust * zero beat locked at 700hz (more work to be done) * removed beta zero beat code from branch * simplified zerobeat approach by adding launcher to sb_cwd on cw menu * Updated zerobeat approach also added web interface functionality * coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms * moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly * removed zsens from CW page * bfo added to web interface * fixed tune button removed if !this.disabled to clear up conflict * -added more launcher scripts -changed name of launcher -changed version string to 5.0 -changed index to reflect version and some cleanup on login page * sidetone added to cw and ft8 modes in the web interface. adjusted font slightly * updated positoin of sidetone control * removed unecassary complexity in sidetone audio aquisition * updated sidetone volume limit * add small decoder window in fullscreen mode for cw * moved sidetone to main controls, created new class for it * moved sidetone to maincontrol.. * Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes * spruced up index.html (added animation canvas) * modified animation canvas * changed background to plasma * whoops.. extra curly brace... * plasma updated * credits added * cha-cha-cha-cha-changes * enhanced credit fade * fixed array selection issue * credit or debit * by the power of greyskull * still tinkering with the callsign presentation * im getting tired now.... * adjusted particles * reverted .html files to pre 'canvas enhancements' state --------- * fix cw mode change issue - MJ (#203) * Revert changes for small console box in CW mode. * Web login accepts Enter key * Html input id="VFO" deleted. Fixes A B error. * Keep freq-direct window on top * changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204) * Added sidetone control for web interface DIGI mode * Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable) * waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement * Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement" This reverts commit 4c47eb5. * Fix Split Mode for local GUI and web Gui * Band limits shown. Red for out of band. * Web band stack pos added as STORE * Web band limits: Red for out of band. * Web band stack pos now optional * revert band limit read * Update index.html * Update style.css * Update webserver.c * Update sbitx.c * Update sbitx_gtk.c * Update sbitx_gtk.c * Jb wftx to wftx-web (#207) * added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field * disabled autoscope when in_tx * added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode * force autoscope off if tx_panafall is on * added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD * testing 145/180/80 for Wf settings * Update sbitx.c Removed parasitic comments * Delete web/scripts/test.sh * Auto close freq box when enter is pressed * Update README.md * Delete sbitx44.png * Add files via upload * Update README.md * Update release_notes.txt * Update README.md * Update README.md --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
drexjj
added a commit
that referenced
this pull request
Jul 11, 2025
* CW Improvements (#199) * - quiet a high frequency repeating error message on sbitx DE * Update sdr.h - add new CW paddle modes (SIDESWIPE and ULTIMATIC) - add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine * changes to support new CW modes - added SIDESWPE and ULTIMATIC keyer modes to UI - changed key_poll() to return new CW_SQUEEZE symbol * replace electronic keyer code in modem_cw.c - add new function handle_cw_state_machine() containing state machines for all cw modes - change cw_tx_get_sample() to work with new state machines NOTE: Macros and keyboard support not working right! * back out fix for bothersome error msg on sbitxDE * - update handle_cw_state_machine in modem_cw.c * upated handle_cw_state_machine() again ... * Update handle_cw_state_machine() in modem_cw.c * Update modem_cw.c - insure last character of macro is played back - in iambic and iambicB modes, relax time constraint on start of next paddle input * add 'bug' to defined CW input methods * add 'bug' mode to gui CW_INPUT menu * Update modem_cw.c now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well. * updated iambicB code * update iambicB mode cut-and-past error in last commit ... * Update modem_cw.c fixing copy and paste errors ... iambicB still not right * Update modem_cw.c just syncing my versions -- iambicB mode remains the only real problem * Update modem_cw.c - all modes working, inicluding iambic B * commented out printf() statements used during development * improve performance of state machine change order of tests to improve responsiveness to fast input for letter 'A' and 'N' * update iambicB to prevent occasional extra dash * another iambicB tweak * iambic state machine performance improvement simplified conditional test for keyer being idle * iambicB state machine change * apply 'lessons learned' in iambicB state machine to iambic * update ULTIMATIC mode remove unnecessary delays * update ultimatic (missing bracket) * Update sdr.h delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine * shorten delay between characters when using kbd or macros * fixed spacing between words from keyboard or macro playback * delete debug code - removed many print statements used to track state changes during development - removed two unneeded delays in SIDESWIPE and ULTIMATIC code * remove SIDESWIPE keyer support from gui * removed #define for SIDESWIPE paddle * deleted SIDESWIPE paddle support in keyer --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> * Update modem_cw.c (#200) * merge 5.0 (#202) * Added WF-Paint to the GTK menu 2 * changed to WFCALL * Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working.. * cleared up much of the jitter. * Converted to AudioWorklet Processing * removed ScriptProcessorNode functions * removed browser mic level / color display * removed duplicate functions * reduces mic swithing to 100ms * Updated Mongoose to serve over https. see TLS Requirements * added credit to 64bit dev team * updated credits * updated cert expiration * removed leftover placeholder comment * added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local * Replaced the accidently removed modem_init() from setup function. * removed line referencing manual redirect setting. it is now automatic * created WFCALLOPT option to show/hide the WFCALL button * Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad * Added shutdown resource cleanup to close the python keypad * integrated rxaudioworklet and rx->tx chain muting * Disable Local WF/Spec when there is an active WS session * added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling * enforce required parameters for web-rtc * modified rx_linear to provide EQ processed audio to qremote() * Added W4WHL improvements to tuning, and rx audio leveler * locked rx line in spec/wf to 0hz when in SSB modes * added W4WHL display resolution scaling for enhanced codgerfied visibility * wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost * Added W4WHL dopamine enhancements as well as draggable bandpass edges * added global constant FILTER_EDGE_DETECTION_WIDTH * Adjusted edge detection on mobile devices. * adjusted bandpass edge limits * reverted to pre bandpass drag index * re-enabled rx audio in ft8 * Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index. * Commented out FT8 mute assertion line due to conflicts with other modes. * recalculated the vertical center of the spectrum grid. * special ft8 list clearing command watcher * Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change) * Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position. * Added CW bug and ultimatic to cw modes * adjusted cw_input container to fit dropdown more cleanly * css adjustment to keep linear dropdown inside container bounds * adjusted left padding on linear element. * Changed QRO control label to ePTT * adjusted font size for .sbitxv3-selection * added script launching into webserver added debug and test scripts. logs created in /tmp * added button to CW/R, FT8, DIGI "bottom-bar" * began to impliment remote applicaiton control with JJ * added titlebars to applications with xfwm4 (sudo apt install xfwm4) * JJ updated js8call and fldigi scripts to properly launch. * Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name. * Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion. * removed unused APP_COMMAND from stop_ scripts * updated pid identiffier name to reflect application name * adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var. * included new variable useage * updated main_vnc script to use new methods * fixed a missing var replacement whoops.. * Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch * updated romulation routine with slc5 ee patch * adjusted higgle transposer, positive value improved the response of the third harmonic. * reverted a few changes, and adjusted spectrogram viewport size * changed apps.html to support dynamic hostname detection for use when spawning vnc sessions * turn off main_vnc access until security is baked in * extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required * for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt * moved script to /home/pi/duckdns-certbot.sh * hotfix reverted to no auth on apps.html issues with novnc spawn * system information page added * Added GPS satellite data to the results when there are birds in view * INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed. * Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1 * enablws apps button in voice modes for web client * added smoke show to sysinfo.html * restored scrolling to sysinfo page. (whoops) * adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME} * modified sleep timer b4 maximize * added ios detection and touch notice * Updated stop scripts to clean up xfwm4 .pid files * added nosleep.min.js to prevent the mobile devices form sleeping when in use. * fixed state of application toggles are now properly reacting to the runstate of the application under IOS * notice updated * improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches. * Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking * changed resolution of session * added tune button and browser mic off when modes digi and ft8 are selected * repositioned ePTT button to far right of menu area * fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface * added s-meter to web control * adjusted LED size from 8px to 6px * moved status from 20,14 to 5,14 * minor adjustments * minor font adjjust * zero beat locked at 700hz (more work to be done) * removed beta zero beat code from branch * simplified zerobeat approach by adding launcher to sb_cwd on cw menu * Updated zerobeat approach also added web interface functionality * coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms * moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly * removed zsens from CW page * bfo added to web interface * fixed tune button removed if !this.disabled to clear up conflict * -added more launcher scripts -changed name of launcher -changed version string to 5.0 -changed index to reflect version and some cleanup on login page * sidetone added to cw and ft8 modes in the web interface. adjusted font slightly * updated positoin of sidetone control * removed unecassary complexity in sidetone audio aquisition * updated sidetone volume limit * add small decoder window in fullscreen mode for cw * moved sidetone to main controls, created new class for it * moved sidetone to maincontrol.. * Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes * spruced up index.html (added animation canvas) * modified animation canvas * changed background to plasma * whoops.. extra curly brace... * plasma updated * credits added * cha-cha-cha-cha-changes * enhanced credit fade * fixed array selection issue * credit or debit * by the power of greyskull * still tinkering with the callsign presentation * im getting tired now.... * adjusted particles * reverted .html files to pre 'canvas enhancements' state --------- Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> * fix cw mode change issue - MJ (#203) * Revert changes for small console box in CW mode. * Web login accepts Enter key * Html input id="VFO" deleted. Fixes A B error. * Keep freq-direct window on top * changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204) Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> * Added sidetone control for web interface DIGI mode * Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable) * waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement * Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement" This reverts commit 4c47eb5. * Fix Split Mode for local GUI and web Gui * Add files via upload * Delete web/style.css * Add files via upload * Add files via upload * v5.0 (#209) (#211) * CW Improvements (#199) * - quiet a high frequency repeating error message on sbitx DE * Update sdr.h - add new CW paddle modes (SIDESWIPE and ULTIMATIC) - add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine * changes to support new CW modes - added SIDESWPE and ULTIMATIC keyer modes to UI - changed key_poll() to return new CW_SQUEEZE symbol * replace electronic keyer code in modem_cw.c - add new function handle_cw_state_machine() containing state machines for all cw modes - change cw_tx_get_sample() to work with new state machines NOTE: Macros and keyboard support not working right! * back out fix for bothersome error msg on sbitxDE * - update handle_cw_state_machine in modem_cw.c * upated handle_cw_state_machine() again ... * Update handle_cw_state_machine() in modem_cw.c * Update modem_cw.c - insure last character of macro is played back - in iambic and iambicB modes, relax time constraint on start of next paddle input * add 'bug' to defined CW input methods * add 'bug' mode to gui CW_INPUT menu * Update modem_cw.c now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well. * updated iambicB code * update iambicB mode cut-and-past error in last commit ... * Update modem_cw.c fixing copy and paste errors ... iambicB still not right * Update modem_cw.c just syncing my versions -- iambicB mode remains the only real problem * Update modem_cw.c - all modes working, inicluding iambic B * commented out printf() statements used during development * improve performance of state machine change order of tests to improve responsiveness to fast input for letter 'A' and 'N' * update iambicB to prevent occasional extra dash * another iambicB tweak * iambic state machine performance improvement simplified conditional test for keyer being idle * iambicB state machine change * apply 'lessons learned' in iambicB state machine to iambic * update ULTIMATIC mode remove unnecessary delays * update ultimatic (missing bracket) * Update sdr.h delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine * shorten delay between characters when using kbd or macros * fixed spacing between words from keyboard or macro playback * delete debug code - removed many print statements used to track state changes during development - removed two unneeded delays in SIDESWIPE and ULTIMATIC code * remove SIDESWIPE keyer support from gui * removed #define for SIDESWIPE paddle * deleted SIDESWIPE paddle support in keyer --------- * Update modem_cw.c (#200) * merge 5.0 (#202) * Added WF-Paint to the GTK menu 2 * changed to WFCALL * Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working.. * cleared up much of the jitter. * Converted to AudioWorklet Processing * removed ScriptProcessorNode functions * removed browser mic level / color display * removed duplicate functions * reduces mic swithing to 100ms * Updated Mongoose to serve over https. see TLS Requirements * added credit to 64bit dev team * updated credits * updated cert expiration * removed leftover placeholder comment * added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local * Replaced the accidently removed modem_init() from setup function. * removed line referencing manual redirect setting. it is now automatic * created WFCALLOPT option to show/hide the WFCALL button * Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad * Added shutdown resource cleanup to close the python keypad * integrated rxaudioworklet and rx->tx chain muting * Disable Local WF/Spec when there is an active WS session * added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling * enforce required parameters for web-rtc * modified rx_linear to provide EQ processed audio to qremote() * Added W4WHL improvements to tuning, and rx audio leveler * locked rx line in spec/wf to 0hz when in SSB modes * added W4WHL display resolution scaling for enhanced codgerfied visibility * wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost * Added W4WHL dopamine enhancements as well as draggable bandpass edges * added global constant FILTER_EDGE_DETECTION_WIDTH * Adjusted edge detection on mobile devices. * adjusted bandpass edge limits * reverted to pre bandpass drag index * re-enabled rx audio in ft8 * Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index. * Commented out FT8 mute assertion line due to conflicts with other modes. * recalculated the vertical center of the spectrum grid. * special ft8 list clearing command watcher * Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change) * Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position. * Added CW bug and ultimatic to cw modes * adjusted cw_input container to fit dropdown more cleanly * css adjustment to keep linear dropdown inside container bounds * adjusted left padding on linear element. * Changed QRO control label to ePTT * adjusted font size for .sbitxv3-selection * added script launching into webserver added debug and test scripts. logs created in /tmp * added button to CW/R, FT8, DIGI "bottom-bar" * began to impliment remote applicaiton control with JJ * added titlebars to applications with xfwm4 (sudo apt install xfwm4) * JJ updated js8call and fldigi scripts to properly launch. * Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name. * Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion. * removed unused APP_COMMAND from stop_ scripts * updated pid identiffier name to reflect application name * adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var. * included new variable useage * updated main_vnc script to use new methods * fixed a missing var replacement whoops.. * Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch * updated romulation routine with slc5 ee patch * adjusted higgle transposer, positive value improved the response of the third harmonic. * reverted a few changes, and adjusted spectrogram viewport size * changed apps.html to support dynamic hostname detection for use when spawning vnc sessions * turn off main_vnc access until security is baked in * extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required * for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt * moved script to /home/pi/duckdns-certbot.sh * hotfix reverted to no auth on apps.html issues with novnc spawn * system information page added * Added GPS satellite data to the results when there are birds in view * INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed. * Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1 * enablws apps button in voice modes for web client * added smoke show to sysinfo.html * restored scrolling to sysinfo page. (whoops) * adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME} * modified sleep timer b4 maximize * added ios detection and touch notice * Updated stop scripts to clean up xfwm4 .pid files * added nosleep.min.js to prevent the mobile devices form sleeping when in use. * fixed state of application toggles are now properly reacting to the runstate of the application under IOS * notice updated * improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches. * Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking * changed resolution of session * added tune button and browser mic off when modes digi and ft8 are selected * repositioned ePTT button to far right of menu area * fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface * added s-meter to web control * adjusted LED size from 8px to 6px * moved status from 20,14 to 5,14 * minor adjustments * minor font adjjust * zero beat locked at 700hz (more work to be done) * removed beta zero beat code from branch * simplified zerobeat approach by adding launcher to sb_cwd on cw menu * Updated zerobeat approach also added web interface functionality * coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms * moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly * removed zsens from CW page * bfo added to web interface * fixed tune button removed if !this.disabled to clear up conflict * -added more launcher scripts -changed name of launcher -changed version string to 5.0 -changed index to reflect version and some cleanup on login page * sidetone added to cw and ft8 modes in the web interface. adjusted font slightly * updated positoin of sidetone control * removed unecassary complexity in sidetone audio aquisition * updated sidetone volume limit * add small decoder window in fullscreen mode for cw * moved sidetone to main controls, created new class for it * moved sidetone to maincontrol.. * Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes * spruced up index.html (added animation canvas) * modified animation canvas * changed background to plasma * whoops.. extra curly brace... * plasma updated * credits added * cha-cha-cha-cha-changes * enhanced credit fade * fixed array selection issue * credit or debit * by the power of greyskull * still tinkering with the callsign presentation * im getting tired now.... * adjusted particles * reverted .html files to pre 'canvas enhancements' state --------- * fix cw mode change issue - MJ (#203) * Revert changes for small console box in CW mode. * Web login accepts Enter key * Html input id="VFO" deleted. Fixes A B error. * Keep freq-direct window on top * changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204) * Added sidetone control for web interface DIGI mode * Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable) * waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement * Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement" This reverts commit 4c47eb5. * Fix Split Mode for local GUI and web Gui * Band limits shown. Red for out of band. * Web band stack pos added as STORE * Web band limits: Red for out of band. * Web band stack pos now optional * revert band limit read * Update index.html * Update style.css * Update webserver.c * Update sbitx.c * Update sbitx_gtk.c * Update sbitx_gtk.c * Jb wftx to wftx-web (#207) * added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field * disabled autoscope when in_tx * added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode * force autoscope off if tx_panafall is on * added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD * testing 145/180/80 for Wf settings * Update sbitx.c Removed parasitic comments * Delete web/scripts/test.sh * Auto close freq box when enter is pressed * Update README.md * Delete sbitx44.png * Add files via upload * Update README.md * Update release_notes.txt * Update README.md * Update README.md --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com> * added green color to active FIELD_TOGGLE elements * adjusted green brightness slightly * Added Red RIT indicator * added scope edge indicator (triangle arrow) * SSL fix for logbook display in web * Added do_rit_control which zero's the RIT delta when enabled and also fixes the issue where the RX freq is incorrect when RIT is turned off and the vfo is left undisturbed. Also included the focus to f_last_text to debounce the button * added enhanced rit control for remote execute calls. this will allow \rit on,off to zero the rit delta and also use the corrected freq when disabled. * Fixed the tune button toggle event handler * updated Index.html to send the correct format command for RIT on/off (Case Matters) * added rec tx indicator similar to gtk visualization * added isTuneOn variable declaration for tune button handler * Added tap to reveal panafall functionality when remote session is active. * v5.02 --------- Co-authored-by: jj <155218248+drexjj@users.noreply.github.com> Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> Co-authored-by: drexjj <jj@w9jes.com> Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
drexjj
added a commit
that referenced
this pull request
Jul 13, 2025
* CW Improvements (#199) * - quiet a high frequency repeating error message on sbitx DE * Update sdr.h - add new CW paddle modes (SIDESWIPE and ULTIMATIC) - add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine * changes to support new CW modes - added SIDESWPE and ULTIMATIC keyer modes to UI - changed key_poll() to return new CW_SQUEEZE symbol * replace electronic keyer code in modem_cw.c - add new function handle_cw_state_machine() containing state machines for all cw modes - change cw_tx_get_sample() to work with new state machines NOTE: Macros and keyboard support not working right! * back out fix for bothersome error msg on sbitxDE * - update handle_cw_state_machine in modem_cw.c * upated handle_cw_state_machine() again ... * Update handle_cw_state_machine() in modem_cw.c * Update modem_cw.c - insure last character of macro is played back - in iambic and iambicB modes, relax time constraint on start of next paddle input * add 'bug' to defined CW input methods * add 'bug' mode to gui CW_INPUT menu * Update modem_cw.c now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well. * updated iambicB code * update iambicB mode cut-and-past error in last commit ... * Update modem_cw.c fixing copy and paste errors ... iambicB still not right * Update modem_cw.c just syncing my versions -- iambicB mode remains the only real problem * Update modem_cw.c - all modes working, inicluding iambic B * commented out printf() statements used during development * improve performance of state machine change order of tests to improve responsiveness to fast input for letter 'A' and 'N' * update iambicB to prevent occasional extra dash * another iambicB tweak * iambic state machine performance improvement simplified conditional test for keyer being idle * iambicB state machine change * apply 'lessons learned' in iambicB state machine to iambic * update ULTIMATIC mode remove unnecessary delays * update ultimatic (missing bracket) * Update sdr.h delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine * shorten delay between characters when using kbd or macros * fixed spacing between words from keyboard or macro playback * delete debug code - removed many print statements used to track state changes during development - removed two unneeded delays in SIDESWIPE and ULTIMATIC code * remove SIDESWIPE keyer support from gui * removed #define for SIDESWIPE paddle * deleted SIDESWIPE paddle support in keyer --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> * Update modem_cw.c (#200) * merge 5.0 (#202) * Added WF-Paint to the GTK menu 2 * changed to WFCALL * Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working.. * cleared up much of the jitter. * Converted to AudioWorklet Processing * removed ScriptProcessorNode functions * removed browser mic level / color display * removed duplicate functions * reduces mic swithing to 100ms * Updated Mongoose to serve over https. see TLS Requirements * added credit to 64bit dev team * updated credits * updated cert expiration * removed leftover placeholder comment * added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local * Replaced the accidently removed modem_init() from setup function. * removed line referencing manual redirect setting. it is now automatic * created WFCALLOPT option to show/hide the WFCALL button * Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad * Added shutdown resource cleanup to close the python keypad * integrated rxaudioworklet and rx->tx chain muting * Disable Local WF/Spec when there is an active WS session * added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling * enforce required parameters for web-rtc * modified rx_linear to provide EQ processed audio to qremote() * Added W4WHL improvements to tuning, and rx audio leveler * locked rx line in spec/wf to 0hz when in SSB modes * added W4WHL display resolution scaling for enhanced codgerfied visibility * wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost * Added W4WHL dopamine enhancements as well as draggable bandpass edges * added global constant FILTER_EDGE_DETECTION_WIDTH * Adjusted edge detection on mobile devices. * adjusted bandpass edge limits * reverted to pre bandpass drag index * re-enabled rx audio in ft8 * Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index. * Commented out FT8 mute assertion line due to conflicts with other modes. * recalculated the vertical center of the spectrum grid. * special ft8 list clearing command watcher * Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change) * Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position. * Added CW bug and ultimatic to cw modes * adjusted cw_input container to fit dropdown more cleanly * css adjustment to keep linear dropdown inside container bounds * adjusted left padding on linear element. * Changed QRO control label to ePTT * adjusted font size for .sbitxv3-selection * added script launching into webserver added debug and test scripts. logs created in /tmp * added button to CW/R, FT8, DIGI "bottom-bar" * began to impliment remote applicaiton control with JJ * added titlebars to applications with xfwm4 (sudo apt install xfwm4) * JJ updated js8call and fldigi scripts to properly launch. * Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name. * Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion. * removed unused APP_COMMAND from stop_ scripts * updated pid identiffier name to reflect application name * adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var. * included new variable useage * updated main_vnc script to use new methods * fixed a missing var replacement whoops.. * Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch * updated romulation routine with slc5 ee patch * adjusted higgle transposer, positive value improved the response of the third harmonic. * reverted a few changes, and adjusted spectrogram viewport size * changed apps.html to support dynamic hostname detection for use when spawning vnc sessions * turn off main_vnc access until security is baked in * extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required * for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt * moved script to /home/pi/duckdns-certbot.sh * hotfix reverted to no auth on apps.html issues with novnc spawn * system information page added * Added GPS satellite data to the results when there are birds in view * INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed. * Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1 * enablws apps button in voice modes for web client * added smoke show to sysinfo.html * restored scrolling to sysinfo page. (whoops) * adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME} * modified sleep timer b4 maximize * added ios detection and touch notice * Updated stop scripts to clean up xfwm4 .pid files * added nosleep.min.js to prevent the mobile devices form sleeping when in use. * fixed state of application toggles are now properly reacting to the runstate of the application under IOS * notice updated * improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches. * Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking * changed resolution of session * added tune button and browser mic off when modes digi and ft8 are selected * repositioned ePTT button to far right of menu area * fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface * added s-meter to web control * adjusted LED size from 8px to 6px * moved status from 20,14 to 5,14 * minor adjustments * minor font adjjust * zero beat locked at 700hz (more work to be done) * removed beta zero beat code from branch * simplified zerobeat approach by adding launcher to sb_cwd on cw menu * Updated zerobeat approach also added web interface functionality * coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms * moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly * removed zsens from CW page * bfo added to web interface * fixed tune button removed if !this.disabled to clear up conflict * -added more launcher scripts -changed name of launcher -changed version string to 5.0 -changed index to reflect version and some cleanup on login page * sidetone added to cw and ft8 modes in the web interface. adjusted font slightly * updated positoin of sidetone control * removed unecassary complexity in sidetone audio aquisition * updated sidetone volume limit * add small decoder window in fullscreen mode for cw * moved sidetone to main controls, created new class for it * moved sidetone to maincontrol.. * Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes * spruced up index.html (added animation canvas) * modified animation canvas * changed background to plasma * whoops.. extra curly brace... * plasma updated * credits added * cha-cha-cha-cha-changes * enhanced credit fade * fixed array selection issue * credit or debit * by the power of greyskull * still tinkering with the callsign presentation * im getting tired now.... * adjusted particles * reverted .html files to pre 'canvas enhancements' state --------- Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> * fix cw mode change issue - MJ (#203) * Revert changes for small console box in CW mode. * Web login accepts Enter key * Html input id="VFO" deleted. Fixes A B error. * Keep freq-direct window on top * changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204) Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> * Added sidetone control for web interface DIGI mode * Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable) * waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement * Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement" This reverts commit 4c47eb5. * Fix Split Mode for local GUI and web Gui * Add files via upload * Delete web/style.css * Add files via upload * Add files via upload * v5.0 (#209) (#211) * CW Improvements (#199) * - quiet a high frequency repeating error message on sbitx DE * Update sdr.h - add new CW paddle modes (SIDESWIPE and ULTIMATIC) - add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine * changes to support new CW modes - added SIDESWPE and ULTIMATIC keyer modes to UI - changed key_poll() to return new CW_SQUEEZE symbol * replace electronic keyer code in modem_cw.c - add new function handle_cw_state_machine() containing state machines for all cw modes - change cw_tx_get_sample() to work with new state machines NOTE: Macros and keyboard support not working right! * back out fix for bothersome error msg on sbitxDE * - update handle_cw_state_machine in modem_cw.c * upated handle_cw_state_machine() again ... * Update handle_cw_state_machine() in modem_cw.c * Update modem_cw.c - insure last character of macro is played back - in iambic and iambicB modes, relax time constraint on start of next paddle input * add 'bug' to defined CW input methods * add 'bug' mode to gui CW_INPUT menu * Update modem_cw.c now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well. * updated iambicB code * update iambicB mode cut-and-past error in last commit ... * Update modem_cw.c fixing copy and paste errors ... iambicB still not right * Update modem_cw.c just syncing my versions -- iambicB mode remains the only real problem * Update modem_cw.c - all modes working, inicluding iambic B * commented out printf() statements used during development * improve performance of state machine change order of tests to improve responsiveness to fast input for letter 'A' and 'N' * update iambicB to prevent occasional extra dash * another iambicB tweak * iambic state machine performance improvement simplified conditional test for keyer being idle * iambicB state machine change * apply 'lessons learned' in iambicB state machine to iambic * update ULTIMATIC mode remove unnecessary delays * update ultimatic (missing bracket) * Update sdr.h delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine * shorten delay between characters when using kbd or macros * fixed spacing between words from keyboard or macro playback * delete debug code - removed many print statements used to track state changes during development - removed two unneeded delays in SIDESWIPE and ULTIMATIC code * remove SIDESWIPE keyer support from gui * removed #define for SIDESWIPE paddle * deleted SIDESWIPE paddle support in keyer --------- * Update modem_cw.c (#200) * merge 5.0 (#202) * Added WF-Paint to the GTK menu 2 * changed to WFCALL * Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working.. * cleared up much of the jitter. * Converted to AudioWorklet Processing * removed ScriptProcessorNode functions * removed browser mic level / color display * removed duplicate functions * reduces mic swithing to 100ms * Updated Mongoose to serve over https. see TLS Requirements * added credit to 64bit dev team * updated credits * updated cert expiration * removed leftover placeholder comment * added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local * Replaced the accidently removed modem_init() from setup function. * removed line referencing manual redirect setting. it is now automatic * created WFCALLOPT option to show/hide the WFCALL button * Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad * Added shutdown resource cleanup to close the python keypad * integrated rxaudioworklet and rx->tx chain muting * Disable Local WF/Spec when there is an active WS session * added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling * enforce required parameters for web-rtc * modified rx_linear to provide EQ processed audio to qremote() * Added W4WHL improvements to tuning, and rx audio leveler * locked rx line in spec/wf to 0hz when in SSB modes * added W4WHL display resolution scaling for enhanced codgerfied visibility * wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost * Added W4WHL dopamine enhancements as well as draggable bandpass edges * added global constant FILTER_EDGE_DETECTION_WIDTH * Adjusted edge detection on mobile devices. * adjusted bandpass edge limits * reverted to pre bandpass drag index * re-enabled rx audio in ft8 * Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index. * Commented out FT8 mute assertion line due to conflicts with other modes. * recalculated the vertical center of the spectrum grid. * special ft8 list clearing command watcher * Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change) * Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position. * Added CW bug and ultimatic to cw modes * adjusted cw_input container to fit dropdown more cleanly * css adjustment to keep linear dropdown inside container bounds * adjusted left padding on linear element. * Changed QRO control label to ePTT * adjusted font size for .sbitxv3-selection * added script launching into webserver added debug and test scripts. logs created in /tmp * added button to CW/R, FT8, DIGI "bottom-bar" * began to impliment remote applicaiton control with JJ * added titlebars to applications with xfwm4 (sudo apt install xfwm4) * JJ updated js8call and fldigi scripts to properly launch. * Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name. * Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion. * removed unused APP_COMMAND from stop_ scripts * updated pid identiffier name to reflect application name * adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var. * included new variable useage * updated main_vnc script to use new methods * fixed a missing var replacement whoops.. * Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch * updated romulation routine with slc5 ee patch * adjusted higgle transposer, positive value improved the response of the third harmonic. * reverted a few changes, and adjusted spectrogram viewport size * changed apps.html to support dynamic hostname detection for use when spawning vnc sessions * turn off main_vnc access until security is baked in * extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required * for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt * moved script to /home/pi/duckdns-certbot.sh * hotfix reverted to no auth on apps.html issues with novnc spawn * system information page added * Added GPS satellite data to the results when there are birds in view * INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed. * Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1 * enablws apps button in voice modes for web client * added smoke show to sysinfo.html * restored scrolling to sysinfo page. (whoops) * adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME} * modified sleep timer b4 maximize * added ios detection and touch notice * Updated stop scripts to clean up xfwm4 .pid files * added nosleep.min.js to prevent the mobile devices form sleeping when in use. * fixed state of application toggles are now properly reacting to the runstate of the application under IOS * notice updated * improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches. * Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking * changed resolution of session * added tune button and browser mic off when modes digi and ft8 are selected * repositioned ePTT button to far right of menu area * fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface * added s-meter to web control * adjusted LED size from 8px to 6px * moved status from 20,14 to 5,14 * minor adjustments * minor font adjjust * zero beat locked at 700hz (more work to be done) * removed beta zero beat code from branch * simplified zerobeat approach by adding launcher to sb_cwd on cw menu * Updated zerobeat approach also added web interface functionality * coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms * moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly * removed zsens from CW page * bfo added to web interface * fixed tune button removed if !this.disabled to clear up conflict * -added more launcher scripts -changed name of launcher -changed version string to 5.0 -changed index to reflect version and some cleanup on login page * sidetone added to cw and ft8 modes in the web interface. adjusted font slightly * updated positoin of sidetone control * removed unecassary complexity in sidetone audio aquisition * updated sidetone volume limit * add small decoder window in fullscreen mode for cw * moved sidetone to main controls, created new class for it * moved sidetone to maincontrol.. * Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes * spruced up index.html (added animation canvas) * modified animation canvas * changed background to plasma * whoops.. extra curly brace... * plasma updated * credits added * cha-cha-cha-cha-changes * enhanced credit fade * fixed array selection issue * credit or debit * by the power of greyskull * still tinkering with the callsign presentation * im getting tired now.... * adjusted particles * reverted .html files to pre 'canvas enhancements' state --------- * fix cw mode change issue - MJ (#203) * Revert changes for small console box in CW mode. * Web login accepts Enter key * Html input id="VFO" deleted. Fixes A B error. * Keep freq-direct window on top * changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204) * Added sidetone control for web interface DIGI mode * Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable) * waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement * Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement" This reverts commit 4c47eb5. * Fix Split Mode for local GUI and web Gui * Band limits shown. Red for out of band. * Web band stack pos added as STORE * Web band limits: Red for out of band. * Web band stack pos now optional * revert band limit read * Update index.html * Update style.css * Update webserver.c * Update sbitx.c * Update sbitx_gtk.c * Update sbitx_gtk.c * Jb wftx to wftx-web (#207) * added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field * disabled autoscope when in_tx * added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode * force autoscope off if tx_panafall is on * added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD * testing 145/180/80 for Wf settings * Update sbitx.c Removed parasitic comments * Delete web/scripts/test.sh * Auto close freq box when enter is pressed * Update README.md * Delete sbitx44.png * Add files via upload * Update README.md * Update release_notes.txt * Update README.md * Update README.md --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com> * added green color to active FIELD_TOGGLE elements * adjusted green brightness slightly * Added Red RIT indicator * added scope edge indicator (triangle arrow) * SSL fix for logbook display in web * Added do_rit_control which zero's the RIT delta when enabled and also fixes the issue where the RX freq is incorrect when RIT is turned off and the vfo is left undisturbed. Also included the focus to f_last_text to debounce the button * added enhanced rit control for remote execute calls. this will allow \rit on,off to zero the rit delta and also use the corrected freq when disabled. * Fixed the tune button toggle event handler * updated Index.html to send the correct format command for RIT on/off (Case Matters) * added rec tx indicator similar to gtk visualization * added isTuneOn variable declaration for tune button handler * Added tap to reveal panafall functionality when remote session is active. * v5.02 * v5.02 --------- Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com> Co-authored-by: sigmazgfx <sigmazgfx@gmail.com> Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com> Co-authored-by: drexjj <jj@w9jes.com> Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
drexjj
added a commit
that referenced
this pull request
Nov 9, 2025
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* added green color to active FIELD_TOGGLE elements
* adjusted green brightness slightly
* Added Red RIT indicator
* added scope edge indicator (triangle arrow)
* SSL fix for logbook display in web
* Added do_rit_control which zero's the RIT delta when enabled and also fixes the issue where the RX freq is incorrect when RIT is turned off and the vfo is left undisturbed. Also included the focus to f_last_text to debounce the button
* added enhanced rit control for remote execute calls. this will allow \rit on,off to zero the rit delta and also use the corrected freq when disabled.
* Fixed the tune button toggle event handler
* updated Index.html to send the correct format command for RIT on/off (Case Matters)
* added rec tx indicator similar to gtk visualization
* added isTuneOn variable declaration for tune button handler
* Added tap to reveal panafall functionality when remote session is active.
* v5.02
---------
Co-authored-by: jj <155218248+drexjj@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Revert "RIT enhancements and other fixes (#216)" (#219)
This reverts commit b318ed96cf24c2a3eb2fd19a19c95e80e691c056.
* Revert "v5.01 (#218)" (#220)
This reverts commit e5206f9aed06cd7084a67855ae039f9630e74341.
* v5.01 (#221)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler
* v5.01
* Update README.md
* Apf (#231)
* Update sdr.h
* Update sbitx_gtk.c
instance apf structure, initialize filter, add to cmd_exec
* Update sbitx.c
applies apf to signal in frequency domain
* Update sbitx_gtk.c
fix 0 .0 error
* Add files via upload
* changed to db
* Add files via upload
* Add files via upload
* fixed do_bandwidth changing rx_pitch
* fixed EQ frequency issue (#232)
* Add files via upload
doc for apf
* changed 48000,0 to 96000.0 to fix EQ frequency error
* Delete docs/apfdoc.pdf
not relavent
* Add files via upload
* cw changes - keyer code cleanup, reverse paddle switch, data defined CW envelope shaping, cw decoder enhancements (#234)
* - added new command 'cwreverse on|off'
* - set INIT_WPM to 20 wpm
* Update modem_cw.c
-refactored keyer for all cw modes
-- broke single large switch-case into seperate functions for each cw mode
-- use inline functions to replace repeated lines of code, keeping original logic and function and greatly improving readability
-- found straight forward way to add reverse paddle (new command is 'cwreverse on|off')
-data driven waveform (Blackman-Harris cw waveform shaping)
-- shape the cw envelope using a pre-calculated array of values applied to leading and trailing edge of every cw symbol
-- only a small change from the previous raised-cosine envelope, but we now join the likes of Flex radio, Elecraft and QRPlabs using Blackman-Harris
-- sbitx cw spectrum should be a fine-looking signal at least close to center frequency!
-enhanced cw decoder
-- using original design concept for decoder, but almost all functions have been reworked and extended. Examples:
- changed unit of measurement to dot length based on current WPM
- improved detection of signal presence with low pass filter before downsampling
- sample frequency bins around signal center to help mis-tuned signals and with signals in noise
- better use strings of detections to improve detection accuracy
-- performance may only be marginally better but code is now in better position for further improvement
* fix for missing word gap
* shorten history for denoise, and lower detection threshold
* better bin placement
- implemented fractional Goertzel (no integer bin rounding)
- new bin frequency layout (−80, −35, 0, +35, +80)
* initialize and change symbol_now to static in cw_tx_get_sample
* expand compact conditional statement
* Add additional Morse code symbols
* 'finalized' morse tables
* Implement MFK volume control and unlock mechanisms (#236)
Added MFK volume control with timeout feature and mouse/keyboard unlock
* Mj macros (#235)
* Add text_ready flag for transmission control
* append macros
* allo macros to be triggered by function keys
* Apf (#238)
* Update sdr.h
* Update sbitx_gtk.c
instance apf structure, initialize filter, add to cmd_exec
* Update sbitx.c
applies apf to signal in frequency domain
* Update sbitx_gtk.c
fix 0 .0 error
* Add files via upload
* changed to db
* Add files via upload
* Add files via upload
* fixed do_bandwidth changing rx_pitch
* added better command error handling
* initialize keyer state machine variables when switch modes (#239)
- corrects somewhat difficult to detect behavior where switching keyer modes (for example iambic to bug) could produce a single extra first dit
* In ft8 autorespond mode also answer to CQ calls when idle. Avoid answering to the same stations again. (#241)
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
* Delete docs/apfdoc.pdf
* 1bin (#242)
* Add files via upload
doc for apf
* fixed spectrum off by 1 bin
* zerobeat display enhancement (#243)
* support zerobeat display of cw decoder status
* add cw_get_max_bin_highlight_index()
- add function to get max bin highlight index for zerobeat indicator
* add code to zerobeat indicator to show cw decoder output
- draw a highlight frame around the LED corresponding to the CW decoder's strongest bin
* change frame to 50% opaque cyan
* Change frame opacity from 50% to 30%
* Increase frame opacity from 30% to 40%
* frequency encoder enhancement (#244)
* modify enc_read()
Trying to improve frequency knob feel
- use minimum time to debounce, eliminating delay(1)
- look up table should be more responsive to encoder changes
* changed acceleration logic in do_tuning()
- track timing interval between tuning ticks and keep weighted moving average
- use the measured timing interval to mutliply the user selected tuning step
* tweak moving average calc and tuning rate limits
Adjust moving average factor and tuning rate thresholds.
* adjust acceleration transition limits
* Adjust moving average and tuning rate values
I tried different tuning acceleration 'profiles'.
I decided I wanted to leave the rate at the UI selected tuning rate for slow to moderate tuning rates, and then start to accelerate. Once you start tweaking the profile it's hard to stop ...
* Notes (#249)
* Add files via upload
doc for apf
* added notes to doc
* modem_ft8: wipe the previous ongoing call when calling a new CQ -- while a qso is ongoing, signal reports from other parties shall be ignored (#246)
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
* adjust tuning rate thresholds (#247)
* add <SK> and <BK> prosigns (#248)
* return green highlight to volume control from last control used (#250)
* cherrypicked RIT changes from jb_rit branch (#252)
* cherry pick RIT changes from jb_rit_cessb_cfc
added changes from
9ecc171 Added red RIT indicator
8c4e0d2 addes scope edge indicator
85fbf8d added do_rit_control ...
0a621c3 added enhance RIT control ...
* disable accelerated tuning in RIT
* update whenever RIT changes
Ensure SDR remains tuned to RX when RIT toggles or delta changes.
* updates to do_tuning() after implementing RIT fixes
- we have RIT tuning using the STEP size selected in gui, with no acceleration
- seemingly endless adjustments to tuning rate acceleration logic (basically I've been making it tamer and tamer in recent changes)
- ensure proper handling of edge cases that don't seem to occur anyhow
* restore accidental deletions
when searching for do_tuning I made two deletions
* Update ver to 5.2
* update the on-screen keyboard (#253)
* on-screen keyboard makeover
- new functions to draw rectangles with rounded corners
- replace old 3-line keyboard with 4-line version
- rounded keycaps and offset keys on second row
- changes in layout_ui() to clean up position of text consoles, spetrum / waterfall, menus and the new keyboard in all modes
- made all sbitx commands case-insensitive so no lower case characters needed
- plan ahead for future changes in screen resolution
* bring back KBD in voice modes
* revert that last change
* move SPECT control to left of KBD
* fix 'tab' character in keyboard mapping
* adjust menu1/2
* Adjust PWR-DWN and WFCALL field positions
* fix typo in BNDWTH field width
* smarter layout for menu_display and menu2_display functions
* revert that last change
Refactor menu_display and menu2_display functions to improve layout handling and control positioning.
* reserve less space for menus with reduced button height
* tighten up menu display
* fix tab key handling in keyboard input
* new tab focus advance
* add tab_focus_advance function declaration
* update on_key_press()
* finished with the tab fixes!
* adjust ePTT field position on menu1
* oops
* go back to unchanged enc_read()
* enable up to 10x acceleration on very fast knob turns
* RIT web changes (#254)
* RIT web changes from index.html
bring in commits from branch 'jb_rit_cessb_cfc'
- e578177
- 820b6d4
* enable acceleration in RIT tuning branch
* Adding fullscreen support via Menu 2 and CLI (#255) (#256)
* Adding fullscreen support via Menu 2 and CLI
* Don't shorten FULLSCREEN
* Fixing FULLSCREEN button after resolving conflicts.
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Fixing WFCALL overlapping Fullscreen button (#257) (#258)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
* Moving zero beat around and minor UI tweaks. (#265)
* add band buttons to freq keypad (#267)
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
Co-authored-by: KD8CGH <40500870+rkayakr@users.noreply.github.com>
Co-authored-by: Fabrizio Furano <furano@cern.ch>
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
drexjj
added a commit
that referenced
this pull request
Nov 9, 2025
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* added green color to active FIELD_TOGGLE elements
* adjusted green brightness slightly
* Added Red RIT indicator
* added scope edge indicator (triangle arrow)
* SSL fix for logbook display in web
* Added do_rit_control which zero's the RIT delta when enabled and also fixes the issue where the RX freq is incorrect when RIT is turned off and the vfo is left undisturbed. Also included the focus to f_last_text to debounce the button
* added enhanced rit control for remote execute calls. this will allow \rit on,off to zero the rit delta and also use the corrected freq when disabled.
* Fixed the tune button toggle event handler
* updated Index.html to send the correct format command for RIT on/off (Case Matters)
* added rec tx indicator similar to gtk visualization
* added isTuneOn variable declaration for tune button handler
* Added tap to reveal panafall functionality when remote session is active.
* v5.02
---------
Co-authored-by: jj <155218248+drexjj@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Revert "RIT enhancements and other fixes (#216)" (#219)
This reverts commit b318ed96cf24c2a3eb2fd19a19c95e80e691c056.
* Revert "v5.01 (#218)" (#220)
This reverts commit e5206f9aed06cd7084a67855ae039f9630e74341.
* v5.01 (#221)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler
* v5.01
* Update README.md
* Apf (#231)
* Update sdr.h
* Update sbitx_gtk.c
instance apf structure, initialize filter, add to cmd_exec
* Update sbitx.c
applies apf to signal in frequency domain
* Update sbitx_gtk.c
fix 0 .0 error
* Add files via upload
* changed to db
* Add files via upload
* Add files via upload
* fixed do_bandwidth changing rx_pitch
* fixed EQ frequency issue (#232)
* Add files via upload
doc for apf
* changed 48000,0 to 96000.0 to fix EQ frequency error
* Delete docs/apfdoc.pdf
not relavent
* Add files via upload
* cw changes - keyer code cleanup, reverse paddle switch, data defined CW envelope shaping, cw decoder enhancements (#234)
* - added new command 'cwreverse on|off'
* - set INIT_WPM to 20 wpm
* Update modem_cw.c
-refactored keyer for all cw modes
-- broke single large switch-case into seperate functions for each cw mode
-- use inline functions to replace repeated lines of code, keeping original logic and function and greatly improving readability
-- found straight forward way to add reverse paddle (new command is 'cwreverse on|off')
-data driven waveform (Blackman-Harris cw waveform shaping)
-- shape the cw envelope using a pre-calculated array of values applied to leading and trailing edge of every cw symbol
-- only a small change from the previous raised-cosine envelope, but we now join the likes of Flex radio, Elecraft and QRPlabs using Blackman-Harris
-- sbitx cw spectrum should be a fine-looking signal at least close to center frequency!
-enhanced cw decoder
-- using original design concept for decoder, but almost all functions have been reworked and extended. Examples:
- changed unit of measurement to dot length based on current WPM
- improved detection of signal presence with low pass filter before downsampling
- sample frequency bins around signal center to help mis-tuned signals and with signals in noise
- better use strings of detections to improve detection accuracy
-- performance may only be marginally better but code is now in better position for further improvement
* fix for missing word gap
* shorten history for denoise, and lower detection threshold
* better bin placement
- implemented fractional Goertzel (no integer bin rounding)
- new bin frequency layout (−80, −35, 0, +35, +80)
* initialize and change symbol_now to static in cw_tx_get_sample
* expand compact conditional statement
* Add additional Morse code symbols
* 'finalized' morse tables
* Implement MFK volume control and unlock mechanisms (#236)
Added MFK volume control with timeout feature and mouse/keyboard unlock
* Mj macros (#235)
* Add text_ready flag for transmission control
* append macros
* allo macros to be triggered by function keys
* Apf (#238)
* Update sdr.h
* Update sbitx_gtk.c
instance apf structure, initialize filter, add to cmd_exec
* Update sbitx.c
applies apf to signal in frequency domain
* Update sbitx_gtk.c
fix 0 .0 error
* Add files via upload
* changed to db
* Add files via upload
* Add files via upload
* fixed do_bandwidth changing rx_pitch
* added better command error handling
* initialize keyer state machine variables when switch modes (#239)
- corrects somewhat difficult to detect behavior where switching keyer modes (for example iambic to bug) could produce a single extra first dit
* In ft8 autorespond mode also answer to CQ calls when idle. Avoid answering to the same stations again. (#241)
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
* Delete docs/apfdoc.pdf
* 1bin (#242)
* Add files via upload
doc for apf
* fixed spectrum off by 1 bin
* zerobeat display enhancement (#243)
* support zerobeat display of cw decoder status
* add cw_get_max_bin_highlight_index()
- add function to get max bin highlight index for zerobeat indicator
* add code to zerobeat indicator to show cw decoder output
- draw a highlight frame around the LED corresponding to the CW decoder's strongest bin
* change frame to 50% opaque cyan
* Change frame opacity from 50% to 30%
* Increase frame opacity from 30% to 40%
* frequency encoder enhancement (#244)
* modify enc_read()
Trying to improve frequency knob feel
- use minimum time to debounce, eliminating delay(1)
- look up table should be more responsive to encoder changes
* changed acceleration logic in do_tuning()
- track timing interval between tuning ticks and keep weighted moving average
- use the measured timing interval to mutliply the user selected tuning step
* tweak moving average calc and tuning rate limits
Adjust moving average factor and tuning rate thresholds.
* adjust acceleration transition limits
* Adjust moving average and tuning rate values
I tried different tuning acceleration 'profiles'.
I decided I wanted to leave the rate at the UI selected tuning rate for slow to moderate tuning rates, and then start to accelerate. Once you start tweaking the profile it's hard to stop ...
* Notes (#249)
* Add files via upload
doc for apf
* added notes to doc
* modem_ft8: wipe the previous ongoing call when calling a new CQ -- while a qso is ongoing, signal reports from other parties shall be ignored (#246)
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
* adjust tuning rate thresholds (#247)
* add <SK> and <BK> prosigns (#248)
* return green highlight to volume control from last control used (#250)
* cherrypicked RIT changes from jb_rit branch (#252)
* cherry pick RIT changes from jb_rit_cessb_cfc
added changes from
9ecc171 Added red RIT indicator
8c4e0d2 addes scope edge indicator
85fbf8d added do_rit_control ...
0a621c3 added enhance RIT control ...
* disable accelerated tuning in RIT
* update whenever RIT changes
Ensure SDR remains tuned to RX when RIT toggles or delta changes.
* updates to do_tuning() after implementing RIT fixes
- we have RIT tuning using the STEP size selected in gui, with no acceleration
- seemingly endless adjustments to tuning rate acceleration logic (basically I've been making it tamer and tamer in recent changes)
- ensure proper handling of edge cases that don't seem to occur anyhow
* restore accidental deletions
when searching for do_tuning I made two deletions
* Update ver to 5.2
* update the on-screen keyboard (#253)
* on-screen keyboard makeover
- new functions to draw rectangles with rounded corners
- replace old 3-line keyboard with 4-line version
- rounded keycaps and offset keys on second row
- changes in layout_ui() to clean up position of text consoles, spetrum / waterfall, menus and the new keyboard in all modes
- made all sbitx commands case-insensitive so no lower case characters needed
- plan ahead for future changes in screen resolution
* bring back KBD in voice modes
* revert that last change
* move SPECT control to left of KBD
* fix 'tab' character in keyboard mapping
* adjust menu1/2
* Adjust PWR-DWN and WFCALL field positions
* fix typo in BNDWTH field width
* smarter layout for menu_display and menu2_display functions
* revert that last change
Refactor menu_display and menu2_display functions to improve layout handling and control positioning.
* reserve less space for menus with reduced button height
* tighten up menu display
* fix tab key handling in keyboard input
* new tab focus advance
* add tab_focus_advance function declaration
* update on_key_press()
* finished with the tab fixes!
* adjust ePTT field position on menu1
* oops
* go back to unchanged enc_read()
* enable up to 10x acceleration on very fast knob turns
* RIT web changes (#254)
* RIT web changes from index.html
bring in commits from branch 'jb_rit_cessb_cfc'
- e578177
- 820b6d4
* enable acceleration in RIT tuning branch
* Adding fullscreen support via Menu 2 and CLI (#255) (#256)
* Adding fullscreen support via Menu 2 and CLI
* Don't shorten FULLSCREEN
* Fixing FULLSCREEN button after resolving conflicts.
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
* Fixing WFCALL overlapping Fullscreen button (#257) (#258)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
* Snr (#261)
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#264)
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#266) move ZB indicator
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
* Moving zero beat around and minor UI tweaks. (#265)
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#268)
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
* Moving zero beat around and minor UI tweaks. (#265)
* add band buttons to freq keypad (#267)
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update README.md
* Update README.md
* Add files via upload
* Update README.md
* Update release_notes.txt
* Delete sbv50.png
* Delete sbitx.jpg
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
Co-authored-by: KD8CGH <40500870+rkayakr@users.noreply.github.com>
Co-authored-by: Fabrizio Furano <furano@cern.ch>
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
drexjj
added a commit
that referenced
this pull request
Nov 9, 2025
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Apf (#231)
* Update sdr.h
* Update sbitx_gtk.c
instance apf structure, initialize filter, add to cmd_exec
* Update sbitx.c
applies apf to signal in frequency domain
* Update sbitx_gtk.c
fix 0 .0 error
* Add files via upload
* changed to db
* Add files via upload
* Add files via upload
* fixed do_bandwidth changing rx_pitch
* fixed EQ frequency issue (#232)
* Add files via upload
doc for apf
* changed 48000,0 to 96000.0 to fix EQ frequency error
* Delete docs/apfdoc.pdf
not relavent
* Add files via upload
* cw changes - keyer code cleanup, reverse paddle switch, data defined CW envelope shaping, cw decoder enhancements (#234)
* - added new command 'cwreverse on|off'
* - set INIT_WPM to 20 wpm
* Update modem_cw.c
-refactored keyer for all cw modes
-- broke single large switch-case into seperate functions for each cw mode
-- use inline functions to replace repeated lines of code, keeping original logic and function and greatly improving readability
-- found straight forward way to add reverse paddle (new command is 'cwreverse on|off')
-data driven waveform (Blackman-Harris cw waveform shaping)
-- shape the cw envelope using a pre-calculated array of values applied to leading and trailing edge of every cw symbol
-- only a small change from the previous raised-cosine envelope, but we now join the likes of Flex radio, Elecraft and QRPlabs using Blackman-Harris
-- sbitx cw spectrum should be a fine-looking signal at least close to center frequency!
-enhanced cw decoder
-- using original design concept for decoder, but almost all functions have been reworked and extended. Examples:
- changed unit of measurement to dot length based on current WPM
- improved detection of signal presence with low pass filter before downsampling
- sample frequency bins around signal center to help mis-tuned signals and with signals in noise
- better use strings of detections to improve detection accuracy
-- performance may only be marginally better but code is now in better position for further improvement
* fix for missing word gap
* shorten history for denoise, and lower detection threshold
* better bin placement
- implemented fractional Goertzel (no integer bin rounding)
- new bin frequency layout (−80, −35, 0, +35, +80)
* initialize and change symbol_now to static in cw_tx_get_sample
* expand compact conditional statement
* Add additional Morse code symbols
* 'finalized' morse tables
* Implement MFK volume control and unlock mechanisms (#236)
Added MFK volume control with timeout feature and mouse/keyboard unlock
* Mj macros (#235)
* Add text_ready flag for transmission control
* append macros
* allo macros to be triggered by function keys
* Apf (#238)
* Update sdr.h
* Update sbitx_gtk.c
instance apf structure, initialize filter, add to cmd_exec
* Update sbitx.c
applies apf to signal in frequency domain
* Update sbitx_gtk.c
fix 0 .0 error
* Add files via upload
* changed to db
* Add files via upload
* Add files via upload
* fixed do_bandwidth changing rx_pitch
* added better command error handling
* initialize keyer state machine variables when switch modes (#239)
- corrects somewhat difficult to detect behavior where switching keyer modes (for example iambic to bug) could produce a single extra first dit
* In ft8 autorespond mode also answer to CQ calls when idle. Avoid answering to the same stations again. (#241)
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
* Delete docs/apfdoc.pdf
* 1bin (#242)
* Add files via upload
doc for apf
* fixed spectrum off by 1 bin
* zerobeat display enhancement (#243)
* support zerobeat display of cw decoder status
* add cw_get_max_bin_highlight_index()
- add function to get max bin highlight index for zerobeat indicator
* add code to zerobeat indicator to show cw decoder output
- draw a highlight frame around the LED corresponding to the CW decoder's strongest bin
* change frame to 50% opaque cyan
* Change frame opacity from 50% to 30%
* Increase frame opacity from 30% to 40%
* frequency encoder enhancement (#244)
* modify enc_read()
Trying to improve frequency knob feel
- use minimum time to debounce, eliminating delay(1)
- look up table should be more responsive to encoder changes
* changed acceleration logic in do_tuning()
- track timing interval between tuning ticks and keep weighted moving average
- use the measured timing interval to mutliply the user selected tuning step
* tweak moving average calc and tuning rate limits
Adjust moving average factor and tuning rate thresholds.
* adjust acceleration transition limits
* Adjust moving average and tuning rate values
I tried different tuning acceleration 'profiles'.
I decided I wanted to leave the rate at the UI selected tuning rate for slow to moderate tuning rates, and then start to accelerate. Once you start tweaking the profile it's hard to stop ...
* Notes (#249)
* Add files via upload
doc for apf
* added notes to doc
* modem_ft8: wipe the previous ongoing call when calling a new CQ -- while a qso is ongoing, signal reports from other parties shall be ignored (#246)
Co-authored-by: Fabrizio Furano <ffurano@blably.com>
* adjust tuning rate thresholds (#247)
* add <SK> and <BK> prosigns (#248)
* return green highlight to volume control from last control used (#250)
* cherrypicked RIT changes from jb_rit branch (#252)
* cherry pick RIT changes from jb_rit_cessb_cfc
added changes from
9ecc171 Added red RIT indicator
8c4e0d2 addes scope edge indicator
85fbf8d added do_rit_control ...
0a621c3 added enhance RIT control ...
* disable accelerated tuning in RIT
* update whenever RIT changes
Ensure SDR remains tuned to RX when RIT toggles or delta changes.
* updates to do_tuning() after implementing RIT fixes
- we have RIT tuning using the STEP size selected in gui, with no acceleration
- seemingly endless adjustments to tuning rate acceleration logic (basically I've been making it tamer and tamer in recent changes)
- ensure proper handling of edge cases that don't seem to occur anyhow
* restore accidental deletions
when searching for do_tuning I made two deletions
* Update ver to 5.2
* update the on-screen keyboard (#253)
* on-screen keyboard makeover
- new functions to draw rectangles with rounded corners
- replace old 3-line keyboard with 4-line version
- rounded keycaps and offset keys on second row
- changes in layout_ui() to clean up position of text consoles, spetrum / waterfall, menus and the new keyboard in all modes
- made all sbitx commands case-insensitive so no lower case characters needed
- plan ahead for future changes in screen resolution
* bring back KBD in voice modes
* revert that last change
* move SPECT control to left of KBD
* fix 'tab' character in keyboard mapping
* adjust menu1/2
* Adjust PWR-DWN and WFCALL field positions
* fix typo in BNDWTH field width
* smarter layout for menu_display and menu2_display functions
* revert that last change
Refactor menu_display and menu2_display functions to improve layout handling and control positioning.
* reserve less space for menus with reduced button height
* tighten up menu display
* fix tab key handling in keyboard input
* new tab focus advance
* add tab_focus_advance function declaration
* update on_key_press()
* finished with the tab fixes!
* adjust ePTT field position on menu1
* oops
* go back to unchanged enc_read()
* enable up to 10x acceleration on very fast knob turns
* RIT web changes (#254)
* RIT web changes from index.html
bring in commits from branch 'jb_rit_cessb_cfc'
- e578177
- 820b6d4
* enable acceleration in RIT tuning branch
* Adding fullscreen support via Menu 2 and CLI (#255) (#256)
* Adding fullscreen support via Menu 2 and CLI
* Don't shorten FULLSCREEN
* Fixing FULLSCREEN button after resolving conflicts.
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
* Fixing WFCALL overlapping Fullscreen button (#257) (#258)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
* Snr (#261)
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#264)
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#266) move ZB indicator
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
* Moving zero beat around and minor UI tweaks. (#265)
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#268)
* Fixing WFCALL overlapping Fullscreen button (#257)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* add "audiofocus=10" to usersettings.ini (#259)
- new setting in usersettings.ini is "audiofocus=10"
- if it does not exist it is created on first run
* Multiple UI tweaks. (#260)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Keyboard alignment fixes (#263)
* Fixing WFCALL overlapping Fullscreen button
* Changing "desired_lines" at suggestion of KB2ML
* Lots of button pixel pushing.
* Fixing frequency getting cut off in split mode.
* Fixing keyboard alignment issues.
* No need to move KBD button any longer.
* Moving zero beat around and minor UI tweaks. (#265)
* add band buttons to freq keypad (#267)
---------
Co-authored-by: jwellman80 <jwellman80@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax ti…
drexjj
added a commit
that referenced
this pull request
Nov 10, 2025
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* added green color to active FIELD_TOGGLE elements
* adjusted green brightness slightly
* Added Red RIT indicator
* added scope edge indicator (triangle arrow)
* SSL fix for logbook display in web
* Added do_rit_control which zero's the RIT delta when enabled and also fixes the issue where the RX freq is incorrect when RIT is turned off and the vfo is left undisturbed. Also included the focus to f_last_text to debounce the button
* added enhanced rit control for remote execute calls. this will allow \rit on,off to zero the rit delta and also use the corrected freq when disabled.
* Fixed the tune button toggle event handler
* updated Index.html to send the correct format command for RIT on/off (Case Matters)
* added rec tx indicator similar to gtk visualization
* added isTuneOn variable declaration for tune button handler
* Added tap to reveal panafall functionality when remote session is active.
* v5.02
---------
Co-authored-by: jj <155218248+drexjj@users.noreply.github.com>
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Revert "RIT enhancements and other fixes (#216)" (#219)
This reverts commit b318ed96cf24c2a3eb2fd19a19c95e80e691c056.
* Revert "v5.01 (#218)" (#220)
This reverts commit e5206f9aed06cd7084a67855ae039f9630e74341.
* v5.01 (#221)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler
* v5.01
* Update README.md
* v5.2 64 bit sBitx (#271)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* R…
drexjj
added a commit
that referenced
this pull request
Jan 21, 2026
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafal…
drexjj
added a commit
that referenced
this pull request
Jan 21, 2026
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* add…
drexjj
added a commit
that referenced
this pull request
Jan 21, 2026
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added W…
drexjj
added a commit
that referenced
this pull request
Jan 21, 2026
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added W…
drexjj
added a commit
that referenced
this pull request
Feb 3, 2026
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafa…
drexjj
added a commit
that referenced
this pull request
Feb 4, 2026
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* Snr (#269)
* v5.0 (#209)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added WF setting store and reset for WFCALL to adjust for better presentaion in the panafall.. Optimal settings TBD
* testing 145/180/80 for Wf settings
* Update sbitx.c
Removed parasitic comments
* Delete web/scripts/test.sh
* Auto close freq box when enter is pressed
* Update README.md
* Delete sbitx44.png
* Add files via upload
* Update README.md
* Update release_notes.txt
* Update README.md
* Update README.md
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
Co-authored-by: Lars Lund Hansen <larslund.hansen@gmail.com>
* v5.01 (#218)
* SSL fix for logbook display in web
* Fixed the tune button toggle event handler in web
* v5.01 versioning
* RIT enhancements and other fixes (#216)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
Co-authored-by: MikeJohnshoy <mike.johnshoy@gmail.com>
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
Co-authored-by: SigmazGFX <sigmaz_1@yahoo.com>
Co-authored-by: drexjj <jj@w9jes.com>
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
Co-authored-by: sigmazgfx <sigmazgfx@gmail.com>
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Add files via upload
* Delete web/style.css
* Add files via upload
* Add files via upload
* v5.0 (#209) (#211)
* CW Improvements (#199)
* - quiet a high frequency repeating error message on sbitx DE
* Update sdr.h
- add new CW paddle modes (SIDESWIPE and ULTIMATIC)
- add low-level symbols (CW_SQUEEZE and CW_SQUEEZEOFF) for new keyer state machine
* changes to support new CW modes
- added SIDESWPE and ULTIMATIC keyer modes to UI
- changed key_poll() to return new CW_SQUEEZE symbol
* replace electronic keyer code in modem_cw.c
- add new function handle_cw_state_machine() containing state machines for all cw modes
- change cw_tx_get_sample() to work with new state machines
NOTE: Macros and keyboard support not working right!
* back out fix for bothersome error msg on sbitxDE
* - update handle_cw_state_machine in modem_cw.c
* upated handle_cw_state_machine() again ...
* Update handle_cw_state_machine() in modem_cw.c
* Update modem_cw.c
- insure last character of macro is played back
- in iambic and iambicB modes, relax time constraint on start of next paddle input
* add 'bug' to defined CW input methods
* add 'bug' mode to gui CW_INPUT menu
* Update modem_cw.c
now supports straight key, 'bug' emulation, sideswipe, Ultimatic, iambic and iambic B (iambic B still being worked on). Other than iambicB I believe the other modes are working well.
* updated iambicB code
* update iambicB mode
cut-and-past error in last commit ...
* Update modem_cw.c
fixing copy and paste errors ...
iambicB still not right
* Update modem_cw.c
just syncing my versions -- iambicB mode remains the only real problem
* Update modem_cw.c - all modes working, inicluding iambic B
* commented out printf() statements used during development
* improve performance of state machine
change order of tests to improve responsiveness to fast input for letter 'A' and 'N'
* update iambicB to prevent occasional extra dash
* another iambicB tweak
* iambic state machine performance improvement
simplified conditional test for keyer being idle
* iambicB state machine change
* apply 'lessons learned' in iambicB state machine to iambic
* update ULTIMATIC mode
remove unnecessary delays
* update ultimatic (missing bracket)
* Update sdr.h
delete unused symbol CW_SQUEEZEOFF from an early version of the keyer state machine
* shorten delay between characters when using kbd or macros
* fixed spacing between words from keyboard or macro playback
* delete debug code
- removed many print statements used to track state changes during development
- removed two unneeded delays in SIDESWIPE and ULTIMATIC code
* remove SIDESWIPE keyer support from gui
* removed #define for SIDESWIPE paddle
* deleted SIDESWIPE paddle support in keyer
---------
* Update modem_cw.c (#200)
* merge 5.0 (#202)
* Added WF-Paint to the GTK menu 2
* changed to WFCALL
* Initial commit of browser mic PCM method. Need to tune the buffer and stream, but it's working..
* cleared up much of the jitter.
* Converted to AudioWorklet Processing
* removed ScriptProcessorNode functions
* removed browser mic level / color display
* removed duplicate functions
* reduces mic swithing to 100ms
* Updated Mongoose to serve over https. see TLS Requirements
* added credit to 64bit dev team
* updated credits
* updated cert expiration
* removed leftover placeholder comment
* added http to https redirect from non localhost endpoint. users can still access by simply entering sbitx.local
* Replaced the accidently removed modem_init() from setup function.
* removed line referencing manual redirect setting. it is now automatic
* created WFCALLOPT option to show/hide the WFCALL button
* Fixed positional interference from the WFCALL button in FT8, CW, and CWR modes. Added freq-direct keypad
* Added shutdown resource cleanup to close the python keypad
* integrated rxaudioworklet and rx->tx chain muting
* Disable Local WF/Spec when there is an active WS session
* added certificate buffers to prevent from being deallocated while still in use, aslo moved from stack to heap also fixed connection handling
* enforce required parameters for web-rtc
* modified rx_linear to provide EQ processed audio to qremote()
* Added W4WHL improvements to tuning, and rx audio leveler
* locked rx line in spec/wf to 0hz when in SSB modes
* added W4WHL display resolution scaling for enhanced codgerfied visibility
* wf/spec disable checks if browser session is remote or localhost. wf/spec not disabled if localhost
* Added W4WHL dopamine enhancements as well as draggable bandpass edges
* added global constant FILTER_EDGE_DETECTION_WIDTH
* Adjusted edge detection on mobile devices.
* adjusted bandpass edge limits
* reverted to pre bandpass drag index
* re-enabled rx audio in ft8
* Added spectrum cache changes to clear levels during mode changes. modified configuration objects passed to getUserMedia under initBrowserMic. Auto enabling browsermic under passcode screen to prevent OM from hearing audio ducking. Draggable filter edges reapplied to index.
* Commented out FT8 mute assertion line due to conflicts with other modes.
* recalculated the vertical center of the spectrum grid.
* special ft8 list clearing command watcher
* Dynamic content reader for passcode landing page. reads version from sdr_ui.h (must be recompiled to change)
* Added Peek-a-Boo RX label hiding when spot parks on top of or scrolls by center freq position.
* Added CW bug and ultimatic to cw modes
* adjusted cw_input container to fit dropdown more cleanly
* css adjustment to keep linear dropdown inside container bounds
* adjusted left padding on linear element.
* Changed QRO control label to ePTT
* adjusted font size for .sbitxv3-selection
* added script launching into webserver added debug and test scripts. logs created in /tmp
* added button to CW/R, FT8, DIGI "bottom-bar"
* began to impliment remote applicaiton control with JJ
* added titlebars to applications with xfwm4 (sudo apt install xfwm4)
* JJ updated js8call and fldigi scripts to properly launch.
* Updated webserver.c to dynamically poll active applications. application name is derived from parsing the start_[NAME].sh file. The name must match the process name.
* Changed the apps.hmtl to dynamic application listing. CHanged start/stop scripts to pass app_name, start command, vnc_port, and ws_port defined at the top of the scripts. template scripts provided for future expansion.
* removed unused APP_COMMAND from stop_ scripts
* updated pid identiffier name to reflect application name
* adjustted the way the files were enumerated and the widgets are names. now we read the widget names fromt he script directly in the widget_label var.
* included new variable useage
* updated main_vnc script to use new methods
* fixed a missing var replacement whoops..
* Used top: 50% and transform: translateY(-50%) to properly center the knob vertically in the switch
* updated romulation routine with slc5 ee patch
* adjusted higgle transposer, positive value improved the response of the third harmonic.
* reverted a few changes, and adjusted spectrogram viewport size
* changed apps.html to support dynamic hostname detection for use when spawning vnc sessions
* turn off main_vnc access until security is baked in
* extended passcode authentication to apps.html if the index.html session is authenticated then apps.html will load without challenge. otherwise a passcode is required
* for those that prefer to have a cert that is verifiable this script will help build one with letsencrypt
* moved script to /home/pi/duckdns-certbot.sh
* hotfix reverted to no auth on apps.html issues with novnc spawn
* system information page added
* Added GPS satellite data to the results when there are birds in view
* INA260 integration to display voltage / current in the web interface if the sBitx unit has an INA260 installed.
* Modified scripts to include wmctrl enhancement. redirecfged session start to use vnc_auto.html with clip=1
* enablws apps button in voice modes for web client
* added smoke show to sysinfo.html
* restored scrolling to sysinfo page. (whoops)
* adjusted novnc_proxy startup and wmctrl assertion to :ACTIVE: vs ${APP_NAME}
* modified sleep timer b4 maximize
* added ios detection and touch notice
* Updated stop scripts to clean up xfwm4 .pid files
* added nosleep.min.js to prevent the mobile devices form sleeping when in use.
* fixed state of application toggles are now properly reacting to the runstate of the application under IOS
* notice updated
* improved runstate check by changing the way that webserver.c checks. it will now look at the .pid files created and verify the process ID is active and then make the decision if the app is up or down. this avoids flase positives by matching process name patterns or patial matches.
* Commented requirements in start script to explain that the APP_NAME must be the same as the app name in the sript name after the start_ prefix for proper app-statis api tracking
* changed resolution of session
* added tune button and browser mic off when modes digi and ft8 are selected
* repositioned ePTT button to far right of menu area
* fixed ePTT toggle on web interface. disable TUNE in CW,CWR, and FT8 both gtk and web interface
* added s-meter to web control
* adjusted LED size from 8px to 6px
* moved status from 20,14 to 5,14
* minor adjustments
* minor font adjjust
* zero beat locked at 700hz (more work to be done)
* removed beta zero beat code from branch
* simplified zerobeat approach by adding launcher to sb_cwd on cw menu
* Updated zerobeat approach also added web interface functionality
* coupled zerofreq to rx_pitch removed zerofreq from gtk and web interface. reduced moving avarage from 8 to 4 samples, changed update interval from 50 to 30ms
* moved checktunestate to global scope and added a 500ms delay after user logs in with passcde to remedy the issue where zerobeat indicators were not displaying when the page was loaded while the radio was in CW mode also adjusted globals slightly
* removed zsens from CW page
* bfo added to web interface
* fixed tune button removed if !this.disabled to clear up conflict
* -added more launcher scripts
-changed name of launcher
-changed version string to 5.0
-changed index to reflect version and some cleanup on login page
* sidetone added to cw and ft8 modes in the web interface. adjusted font slightly
* updated positoin of sidetone control
* removed unecassary complexity in sidetone audio aquisition
* updated sidetone volume limit
* add small decoder window in fullscreen mode for cw
* moved sidetone to main controls, created new class for it
* moved sidetone to maincontrol..
* Modified BFO to send menu 1 command before bfo adjustment it it has been >5 seconds since the last BFO adjustment. This opens menu 1 to process the changes
* spruced up index.html (added animation canvas)
* modified animation canvas
* changed background to plasma
* whoops.. extra curly brace...
* plasma updated
* credits added
* cha-cha-cha-cha-changes
* enhanced credit fade
* fixed array selection issue
* credit or debit
* by the power of greyskull
* still tinkering with the callsign presentation
* im getting tired now....
* adjusted particles
* reverted .html files to pre 'canvas enhancements' state
---------
* fix cw mode change issue - MJ (#203)
* Revert changes for small console box in CW mode.
* Web login accepts Enter key
* Html input id="VFO" deleted. Fixes A B error.
* Keep freq-direct window on top
* changed width of do_vfo_keypad static field. Also refactored the new slim cw decoder console implementation (#204)
* Added sidetone control for web interface DIGI mode
* Commented out console echo div from spectrum grid. Any system console writes were echoing out to the web interface. (not desireable)
* waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement
* Revert "waveforms in spect and wf during tx. modulation meter in spect grid area. still need toggles and web interface enhancement"
This reverts commit 4c47eb55bd01f47c99c3af76192599a5b92fd2bf.
* Fix Split Mode for local GUI and web Gui
* Band limits shown. Red for out of band.
* Web band stack pos added as STORE
* Web band limits: Red for out of band.
* Web band stack pos now optional
* revert band limit read
* Update index.html
* Update style.css
* Update webserver.c
* Update sbitx.c
* Update sbitx_gtk.c
* Update sbitx_gtk.c
* Jb wftx to wftx-web (#207)
* added panafall to TX, moved power meter to top left when in phone modes non phone modes keep original position, however I have reduced the length of the field
* disabled autoscope when in_tx
* added txPanafall toggle and conditionals to direct the tx_meter locations based on toggle and mode
* force autoscope off if tx_panafall is on
* added…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.