Thetis v2.10.3.7 Release
The final release for Thetis v2.10.3.7
Watch the video on this version HERE
Please uninstall any previous version, before installing this version
(note: uninstalling using add/remove programs, leaves behind your database and does not remove it. You don't need to do anything with this, other than taking a backup perhaps, as Thetis should update/use appropriately)
UPDATE: The CW issue has been resolved for Protocol 2. It requires a firmware update and this modified version of Thetis. Please see the ApacheLab community forums here
Note: You can revisit these release notes by using the button inside the About box
Please report any issue over on GitHub here.
Join us on Discord for active test builds and much more : Click Here
v2.10.3.7 Change Log
- [add] new auto attenuate TX when PS is off options in Setup->Ant/Filters->Antenna
- [add] new auto attenuate RX options in Setup->General->Options-1. If the undo option is used the attenuation will be unwound in the order originally applied after each delay period
- [add] Discord integration, let others know when you are on air using the Discord button box. Get scrolling text for #general and #thetis-bot. Config in Setup->Networking->Discord
- [add] Backup prune implemented GFS (grandfather, father son). Check to enable in the DBMan form (bottom right). Tool tip explains all
- [add] font colour added to button boxes (except for antenna box)
- [add] click colour added to button boxes (default orange)
- [add] warning shown in Linearity form if SetPk is different to that expected for the hardware
- [add] added Thetis bespoke input TCI command spot_simulate_click which simulates a user clicking on a spot in the spectrum. It causes a clicked_on_spot message to go out via TCI. Example test input msg, spot_simulate_click:MW0LGE,3750000;
- [add] added command line option, -noinstancewarn so that no warning is shown if other instances are running. Use -help in a console window to get more info
- [add] Anvelina-Pro3 profile added to Thetis - N1GP
- [add] new filter item that will view the passband
- mouse wheel/click left-right when a number glows (10 steps default, ctrl single steps)
- drag filter edges in tx + rx
- drag top filter to shift in rx
- uses min/max spectrum grid values for waterfall
- can add notches with the [+mnf] button, and turn the mnf system on/off with the [mnf] button, ctrl-right-click to add one at the mouse 200hz wide, a shift-ctrl-right-click for 100hz
- drag notches
- right click notch to show popup for that notch
- mouse wheel over a notch to adjust width
- grid snap for common widths when dragging. These can be adjusted in Setup->Filters
- duplex mode is used for these displays, duplex off will not be provided
- show filter characteristic option in Setup->DSP->Options that will show the actual filter characteristics
- uses new spectrum duplication system from Warren
- [add] right click setup menu item from the menubar will show setup instantly. To prevent all those repetitive strain injuries and to free up the doctors ! ;)
- [add] added -nospec command line option to prevent the use of analysers when the filter item is in use
- [add] webimage item can now be configured to apply the image to the spectral area, and can be used to implement slide shows with the use of 4charID
- [add] right click on a CTUN button will re-centre the associated rx
- [add] long click on vfo container filter size will show menu popup
- [add] new container item, Dial Display. It is a mouse or touch driven vfo dial
- if using ACCEL mode, it will step up through the tune steps when the red ring is shown
- if using ACCEL mode, it will step down through the tune steps to where it started if the blue ring is shown
- if the green ring is shown in ACCEL mode, no changes to tune step will be made
- releasing the dial will return to the tunestep that was set when the dial pad was pressed
- option in settings to always show both vfoa+b so you don't need two of them for rx1+2
- tune step up (red ring) will happen at rotation speed >= 540deg per second, and step down (blue ring) at <= 270deg per second
- mouse wheel can be used
- [add] tci swl spot support. Implemented to handle swl spots from OE3IDE's Cluster-TCI-Bridge software. If using the TCI spot message, the mode field can have -swl[X] added to the mode, example 'ssb-swl[10]', and that spot would then last 10 seconds before being cleared away
- [add] The outbound tci message tx_frequency has been modified and will include some extra information over the standard protocol. This has been added to support the way Thetis deals with vfoTX and RX2. Note, this is not in the standard TCI protocol The message is as follows, and args 2,3,4 are additional to the base TCI message.
- tx_frequency:3700000,b80m,false,false;
- arg1 tx frequency (long)
- arg2 band b80m, b40m etc
- arg3 rx2 enabled true/false
- arg4 tx on vfoB true/false
- [add] if OpenHSPDR\SplashScreens folder exists and there are 400x320 pixel .png files in there, a random one will be used for the startup splash screen
- [add] reduce power on high swr option
- [add] a command line option -touch can be used to enable touch support for containers. This is still early days for this and long hold for right click is not yet supported
- [add] added OE3IDE Connectors and Tools link to the about box links
- [add] manuals added to about box links/manuals
- [change] new splash screen, icons, setup banners. The community picked Jordi EA3CL as the winner this time over on the Discord server pictures and screenshot section. AI and Photoshop used
- [change] moved release notes button from setup to the about box
- [change] skin images are resized to button/panel/slider etc instead of relying on tile property
- [change] button clicks are ignored in meter item button boxes that are faded
- [change] nf_1 and nf_2 has become nf in variables used by text overlay and led indicator, and will read from the trx container it is in (noise floor)
- [change] dragging the filter edges of am/sam/dsb etc will mirror the change to the other side. Shift to prevent this
- [change] adding a notch with +MNF when in CW will place it at centre of CW filter
- [change] many libs and nuget packages are updated to latest
- [fix] inbuilt mm variables that have name with _double now consider %precis=N%
- [fix] resolved issue where redraw of console controls became very slow after 8thOct Windows update
- [fix] button boxes filter/antenna would not save columns correctly
- [fix] fade on rx and fade on tx fixed for button boxes
- [fix] when in Tx rx1, selecting a bandstack entry will not update it or attempt to change to it
- [fix] mox & ping ToT now work for times greater than 59 seconds
- [fix] text overlay will now retrieve rx1 and rx2 data correctly
- [fix] setup and other dropdown menus will show if window doesn't have focus and the menu is clicked
- [fix] single cal retries up to 5 times if feedback levels are not suitable. Fixes issue where it would need to be clicked multiple times if tx-att was not where it needed to be
- [fix] fixed issues when serialising an object out to a string to be stored in the database. Resolves missing memories for Diversity
- [fix] crash in IOThreadStop() fixed in netinterface.c if moving between p1 and p2 radios without restarting thetis
- [fix] changing tx filter width when rx2 enabled and vfob-tx will now use rx2 mode. Very old bug, pre-dates 27th Feb 2019
- [fix] container when docked might move if title selected with the mouse, yet the mouse was not moved. Coord issue fixed
- [fix] fixed crash issues when using line_out_start and stop tci commands
- [fix] fixed various midi errors that had been sent in via error logs
- [fix] when engaging rx2 a vfoB update is now always performed which preforms necessary initialisation. Previously this was not happening and sometimes rx2 would show 0.0mhz even though vfob was correct, mostly happened at startup
- [fix] antenna tab is initialised with suitable settings for new databases. This has been broken since early dev 2.10.3.6
- [fix] button boxes now release the click colour if you click and whilst keeping the mouse button down move off the button box
- [fix] colour drop down controls in setup now position the down arrow correctly
- [fix] wdsp issue fixed issue where audio would stop if the filter extent was moved below 201hz when using NR2-trained and SNB together
- [fix] rx2 is now prevented from going above max freq, unless rx2 is on an xvtr band
- [fix] vfo container now handles band selection correctly for rx2
- [fix] tci spots are now positioned correctly when DUPlex is off when in TX
- [fix] some finder issues where a user defined xml file is used
- [fix] vfos will have frequency initialised on start-up even if vfos are locked
- [fix] vfoB lock button will now disable on power off
- [fix] vfo lock state will be stored in db even if button is disabled
- [fix] fixed the power output issue when back to back high swr tunes were performed
- [fix] fixed scaling issue when containers appear on a different monitor to the main console window, and those monitors have different dpi/scales/resolution set
- [fix] zorder fighting issues with bandstack overlays and other drag items resolved
- [fix] high frequency TCI spots from Qo100 for example should now show in the correct place
- [fix] closing wb will return BPF bypass state correctly if multiple wb menu presses are made and the window is closed
v2.10.3.6 Main New Features
- database manager
- many new meter items, including rotator, band/filter/mode/antenna button boxes, text overlay and led indicator, much much more
- vfo meter item control now has user interactive elements
- new multimeter/data IO system
- some legacy UI items can be removed. This will be extended in the future
- improvements to NR2 including trained machine data
- coordinate system for multimeters to align things easier
- kenwood broadcast data options for cat1-4/tcpip cat
- autostart applications
- diversity memories
- additional midi and cat options/commands
- fn keys for cwx, including options to not need window focus
- cmASIO, including P1 & P2 support, for low latency audio
- an about box finally arrives
- endless bugs fixed and improvements throughout
- lots more, see full change log below
v2.10.3.6 Change Log
- [add] total re-work of database management. There is now a database manager. I advise you to watch video : https://youtu.be/pwe3bd-tkGY
- [add] rotator can now be stopped. Hover mouse over arrow pivot point to see red circle. Click in circle and STOP will be sent. Note: reset the pstRotator commands if you are already using before this update
- [add] cache bypass option added to web image meter item
- [add] you can now select VFOA, VFOB or BOTH in the multimeter vfo control
- [add] auto height options for multimeter containers
- [add] cwx form does now not need focus to act on F1-F12 etc. Uncheck focus to enable this in the cwx form
- [add] rotator can now have a map. Check out OE3IDE's skin server pages
- [add] new button box meter controls for bands, modes and filters
- [add] rotator can now have the beam width alpha adjusted
- [add] right click a band in a band button box, and it will popup bandstack for that band for rx1 only. Right click on filter to show filter popup, rx1+2
- [add] antenna switch box meter item
- [add] %precis=N% can be used on text overlay so specify precision for any floating point variable on that line. %precis=2%%signal_strength% will show -73.49 for example
- [add] small digits colour for vfo item
- [add] new legacy items tab in setup->Appearance->Legacy Items to hide some of the old legacy items. This will be added to over time
- [add] vfo meter item option can ne used to show band text
- [add] some new variables added to text overlay, including band text for vfoa/b, noise floor for rx1/2, tune step text, pa profile text. Hover mouse over the I in the text overlay settings
- [add] NR2. Additional setting T2 that will aid with weaker signal clarity when using Trained model. Lower setting of T2 will prevent blocking of very weak signals at the cost of a slight increase in noise. -NR0V
- [add] added lock+vfo sync to vfo meter items. Colour can be changed for these in options
- [add] cords are displayed on meter container drag/resize. Use ctrl to lock to 10 pixel steps when moving/resizing for easier alignment
- [add] long mouse click (>= 1 second) on a kHz value in a vfo control will show tune step options, much like an Icom
- [add] long mouse click (>= 1 second) on the rx1 band vfoA in a vfo control will show bandstack
- [add] new tune step button box as a meter item
- [add] new history graph item to show data over time
- [add] Led Indicator meter item - use variables in c# style code to provide a Boolean expression for the indicator eg %swr% > 2.0 or %split% == "SPLIT"
- [add] Added enable G2 panel; not enabled if Andromeda panel enabled and vice versa Added button actions for band selection - G8NJJ
- [add] ability to create default G2 settings - G8NJJ
- [add] band selector on the vfo display in multimeters. Just click the band text
- [add] filter selector on the vfo display in multimeters. Just click the filter text
- [add] mode selector on the vfo display in multimeters. Just click the mode text
- [add] vfo display multimeter now allows changing values by hovering over them and spinning the mouse wheel, click to inc/dec, digit keys can be pressed
- [add] TCPip client and serial connectors added to MultiMeter I/O (see videos listed a few items below)
- [add] web image meter item - pull images from the internet and display in a meter container
- [add] minimise option for containers. Default will vanish when thetis console is minimised
- [add] MultiMeterIO - get external data - use it in the MultiMeter system. Watch video : https://youtu.be/oYRrm8YpD24
- [add] new meter item, Rotator. Requires a data feed using the new Multi Meter io. : https://youtu.be/1LmUromJQNQ
- [add] new MultiMeter spacer. Many can be added to pad things out. rx/tx colour and fade options
- [add] colour picker for TX-ATT control background in appearance->general
- [add] new MultiMeter item, Text Overlay. Can be used for various display tasks. Many can be added. Short video here : https://youtu.be/LPREPkJhaKY?si=6RxWujVnbqvsdWpd
- [add] .bat files now supported by autostarter
- [add] output AI (kenwwood broadcast info) over cat1/2/3/4/tcpipcat options
- [add] option in setup for S9 @ -73 or -93 for 30MHz and 144MHz (github #418)
- [add] options added for SWR protection. Swr limits, and tune power (github #221)
- [add] zzoa and zzoc cat commands have been added. zzoa - get/set the rx antenna based on rx1 band. zzoc - get/set the tx antenna based on tx band (github #385)
- [add] rx antenna port selection option for XVTR. It should also revert any changes if you leave an xvtr band. Only applies to RX1 currently (github #424)
- [add] 8 diversity memories. shift click to store, ctrl click to clear (github #263)
- [add] zzxa cat command to get/set audio amplifier (rear speaker sockets). zzxa1; to enable, zzxa0; to disable (github #308)
- [add] midi button command to toggle audio amplifier (rear speaker sockets) (github #308)
- [add] notes field in multimeter container. They are also used in the titlebar of the containers (github #104)
- [add] new start up options tab in setup. Now includes options to open specific forms at start up, and programs/exes (GitHub #286)
- [add] option to prevent ps from bypassing the bpfs (GitHub #413)
- [add] CW Edge Length: This is currently only for the ANAN-G2. The ability to load CW edges into the firmware of the legacy ANAN products is not available. The minimum Edge Length is 15ms which, based upon testing, is required to meet the new ARRL Guidelines. However, due to the edge shape, a 15ms total edge yields about 5ms in the range of 10% - 90% amplitude, i.e., the 15ms number is a bit misleading.
- [add] New NR features: (1) the "Trained" gain method as described below, (2) an alternative Noise Power Estimation method called "NSTAT" which should have a faster response to changing noise levels, and (3) code added in the AE Filter that removes an annoying rumble that could occasionally occur.
- ["Trained"] The new "Trained" NR has a file (zetaHat.bin). It is a data file that contains the essential information extracted from "training" the algorithm. The algorithm is currently "trained" with about 72 hours of noise and speech recordings. The file may, at some point, be replaced or augmented if different training is required.
- [add] Fn keys now activate messages directly in the cwx form
- [add] support for command line arguments in the auto program launch settings
- [add] warning message shown when the bypass of BPFs is ignored for PureSignal transmissions
- [add] -help command line option
- [add] option to auto turn off the radio when DB manager is requested to help users that have the power button unavailable. (collapsed view, no top tools and use autostart)
- [add] shift left click on SPLIT in the vfo will toggle QSPLIT, only when rx2 is off
- [add] hold shift when clicking setup from the menu strip to show setup. Especially useful if one extra mouse click is too much for you
- [add] support for tci msg line_out_start:0; line_out_stop:0; which have been repurposed to control vac1 on/off, support for tci msg line_out_start:1; line_out_stop:1; which have been repurposed to control vac2 on/off
- [add] show container on rx/tx options
- [add] lock container to prevent removal, and to prevent add/remove of items. You can still adjust items
- [add] dark mode option added to BsdWorld urls in Web Image item
- [add] use command line option -cmasioconfig to add a new cmasio tab to audio setting. Remove old cmasio settings from the registry if you want to use this feature as they have moved. See notes in the tab
- [add] option in led indicator to stop tx if conditions met
- [add] mmio variable now use %precis=N% in text overlay
- [add] about box. It will also check GitHub for updated versions
- [add] cmASIO now supports Protocol 1. Note: performance may not match that of the Protocol 2 implementation
- [change] when using [extended] Thetis will now allow tx anywhere. It will select the nearest band to the frequency you have selected and use that band info for bpf/lpfs. This will now permit power output on 8m for example. If you use this feature be aware of the out of band transmission possibilities and potential issues for the hardware
- [change] meter container borders have been reduced
- [change] importing a db with meter containers will no longer clear existing ones, they will be added if possible
- [change] containers no longer store/convert all skin meter images, only the ones required for that specific container. Considerable memory savings
- [change] filter setup form now stores/recalls location
- [change] Button actions processed more simply when G2 enabled (no shift action etc) - G8NJJ
- [change] rotator meter item now can be shown in az/ele/both mode. Requires you to remove-add the rotator if you were using it
- [change] can now have up to 50 multimeter containers
- [change] multimeter meter items are not limited. You can have unlimited in use at a time in a single container
- [change] midi micgain now is full range -40 to 10 (default mic gain)
- [change] midi comp is now full range 0-20
- [change] midi rit - now hold shift when turning for smaller change ~ -250 to 250
- [change] renamed the [HPF/BPF ByPass on PS] button in code so that a blanket default of ON will be applied everywhere to everyone. Change the setting if required
- [change] forced the bpfs bypass check to be on as default
- [change] simplification improvements to db import
- [change] noise floor approximation now enters 'fast attack' mode more frequently for quicker floor detection (changing modes/antennas/etc)
- [change] the dB shift setting for AGC auto noise floor compensation is now a true shift from NF. You will probably need to tweak your previous setting
- [change] the shutdown log is defaulted off. Use command line param -logshutdown to cause Thetis to create a shutdown_log.txt file if you are having shutdown issues which can then be sent in for analysis
- [change] re-worked minimise/restore code for meter containers
- [change] variable cw edge length has been disabled in the Dsp-CW settings (only utilised by the G2). This is now fixed at 9ms for the DL1YCF CW edge
- [change] right axis on history chart is not shown if not used
- [change] -help text adjusted for the new -dbid flag
- [change] spectrum and grid directX renderers now use directX clip to limit draw items such as line. Previously LOTS of IF statements were used. For a 2000 pixel wide spectrum, at 60fps, it is a saving of over 720,000 IF statements per second, per receiver, and has been replaced by a single directX clip statement. It also fixes the line that used to draw at the bottom of the spectrum if data was below the low limit, and also fixes some rx2 items moving into the rx1 space
- [change] bypass vac will only get applied in PollPTT loop if needed (for both mic and vox)
- [change] 4char is not updated when IP/Port is changed
- [fix] fix issue where you could not remove tx profile entries if they only had case changes in their name, such as ABc and abc
- [fix] import of container locations now works when importing a database
- [fix] fixed issue where a meter container would re-appear if console was minimised and then restored and that container had been docked at some point
- [fix] exporting a tx profile no longer exports schema for non tx profile tables
- [fix] fixed issue where a bandstack entry could be duped if ignore dupe was turned on after there were duplicated frequencies in the stack already
- [fix] dragging a container on the RX# in the titlebar would cause a jump/offset from the mouse pointer
- [fix] band change is prevented in most cases when in the middle of TX. Split/Swap/TX is not prevented, so beware
- [fix] rx att + tx att was being used in dup display, leading to incorrect display. Fixed
- [fix] comp meter when used in rx2 shows the correct rx1 values
- [fix] fixed issue with %vfoasub% showing at incorrect states
- [fix] fixed autostart process flag issue that caused DDUtil_v3 to start incorrectly
- [fix] fixed issue at startup or where diversity form is initially shown where no gain is applied if the gain is locked. This would be noticeable with the 'control dot' being centred. Many other fixes in the diversity system
- [fix] fixed issue where 'bad' characters in an autostarter path would cause a crash at start up
- [fix] fixed issue where AGC gains would not be stored correctly and/or could be spread to other bands if different agc modes (slow/med/long etc) were configured for use on those bands
- [fix] fixed issue introduced with the re-work of tx-att in dev_4. The spectrum when tx'ing with duplex enabled is now adjusted by the tx attenuation.
- [fix] small change to auto start exe code to fix issue with command line args
- [fix] decouple of the rx1/rx2 attenuator preamp/s-att boxes from tx-att. New tx-att control, and bg colour settings in appearance (github #399)
- [fix] multimeters would sometimes not bottom to low values out when power off, and other rare occurrences. Now resolved
- [fix] changes to fix issue #407, No TX output when initially going to QSK
- [fix] TCI spot would be incorrectly shown if it came from RumLog. Thetis now ignores as string of "nil" which RumLog sends (version dependant)
- [fix] attempt to resolve issue where out of array bounds errors are shown at startup
- [fix] corrected character display issues in input/output combo boxes (Issue #420)
- [fix] websocket protocol close frame message is now sent when TCIserver disconnects a client, preventing some third-party clients from closing improperly
- [fix] reworked TCIserver input message buffer to prevent random client disconnects when TCI WebSocket messages arrive rapidly
- [fix] vac mic audio source can now be recorded
- [fix] split TXing out of a ham band will no longer disable split when extended mode is used. Note: 'Prevent TX when on different band to RX' option will be used if enabled and TX band has been moved for bandpass/lpf purposes (ie when tx'ing on 11m)
- [fix] output power on ANT ports configured as RX only should be resolved. Requires an update to your firmware. See the ApacheLab community forums here
- [fix] fix missing legacy buttons that happened in rare cases
- [fix] fixed mode/band menu items shown in expanded view if the collapsed view settings were changed in setup. Very old bug
- [fix] fixed the display of band/mode buttons in collapsed view that were sometimes visible behind the lower main controls in rare cases
- [fix] andromeda button bar will hide if setup option is changed. Previously it was behind other controls and could be seen in rare cases on resize
- [fix] fixed issues where band/mode control would sometimes not show when starting in collapsed view
- [fix] history left axis would incorrectly limit min to -100.0 on startup
- [fix] changed legacy spot telnet connect to use UInt16 (unsigned 16 bit) for port number allowing 0-65535. Previously it used signed 16 bit preventing any port over 32767 from being used
- [fix] fix crash if web image url is adjusted whilst operational
- [fix] fixes for filters being reset. Previously filter button box would not update
- [fix] fix issue where if an rx2 container was hidden, other rx2 containers might not show
- [fix] fixed an issue for rx2 filters, where they would reset to the last used var high/low values
- [fix] fixed crash when removing MultiMeter I/O TCPClient
- [fix] backup info stored in associated json is removed with backup is removed. There may be some orphan backup json files left behind from before this fix
- [fix] when alex is turned off then on antenna config is now sent to hardware
- [fix] when calibrating level, ctun is turned off if on
- [fix] when dragging docked meter containers the user control area of the console form would show unpainted areas. The area covered by the container is now instantly repainted when the container moved/resized/hidden
- [fix] range limits for spectrum and waterfall high/low values. High now cant go below low, and low cant go above high
- [fix] port limit ranges for tci/cat/n1mm/mmio, of 0-65535
- [fix] a ToT/led indicator that terminates mox will not key back up instantly if using external keying hardware. It will require PTT to be released first. Fixes #518
- [fix] 1x1 pixel, or very small images in the web image control would cause thetis to crash/shutdown, fixed