Skip to content

rigplane 3.1.4

Latest

Choose a tag to compare

@morozsm morozsm released this 07 Nov 14:44
· 69 commits to main since this release

This is the first release candidate of 3.1.4. It collects the fixes made on
main after 3.1.3: a lower CPU and bandwidth cost of the web UI and audio path,
LAN CI-V datagrams delivered in the radio's order, serial radios contacted at
their own baud rate first, a quieter-RX makeup gain, a Memory button and an SQL
tag in the web UI, and several smaller repairs. Details below.

Changed

  • The red BUSY lamp is gone. In its place an SQL tag shows next to the receiver tags whenever the squelch is closed or partly closed (level above 0), on every band, and nothing shows while the squelch is fully open. The radio's squelch-open status is no longer read over CI-V. (MOR-4223, #4491)
  • Web UI RX volume: the player now has makeup gain up to +20 dB above the radio's AF level 1 (unity stays exact), with an output soft limiter, so a radio already at its maximum USB AF output (IC-705) is no longer far quieter than normal program audio. A centred mono signal no longer loses 3 dB to the panner. (MOR-4210, #4480)
  • Quiet RX source: the browser detects a quiet RX source and names the radio's own audio output menu item, taken from the new optional profile key [audio].rx_audio_level_menu, which /api/v1/capabilities serves as rxAudioLevelMenu (null when the profile declares none). (MOR-4210, #4479, #4481)
  • Performance, state stream: the WebSocket state encoder diffs down to the leaves and sends leaf deltas (deltaVersion 2) instead of resending whole top-level maps, which cuts the state stream about 37 times. (MOR-4206, #4476)
  • Performance, state store: unchanged field snapshots are reused, so a state broadcast no longer deep-copies and re-sorts the whole store, and a single field is read without copying the store. Unchanged polled fields are no longer re-published. (MOR-4212, MOR-4211, #4485, #4483)
  • Performance, web UI: the radio view model is derived once per state change instead of once per caller, and at most one waterfall frame is drawn per animation frame (the latest wins). (MOR-4213, MOR-4206, #4486, #4482)
  • Performance, audio and event loop: the RX downmix and the RMS meter use numpy with results identical to the previous code, audio-thread wake-ups of the event loop are coalesced, and only changed state is copied. (MOR-4227, #4494)

Fixed

  • LAN radios: CI-V datagrams are delivered in the radio's sequence order, and the simulator numbers its CI-V echo in the radio's own sequence as the recorded IC-7610 does. (MOR-4205, #4492)
  • Serial radios: connect and discovery now open the port at the profile baud rate first and treat the baud passed in by the caller as a fallback hint, so an Icom on CI-V USB Baud Rate = Auto locks to 115200 instead of 19200 and the scope is no longer refused. (MOR-4207, #4484, #4487)
  • CI-V reads: a bare FA no longer refuses a read whose own answer was lost; the refusal is attributed to the read the radio actually refused. (MOR-4209, #4478)
  • IC-705 scope: the scope-health watchdog never re-enables the scope while the radio is in its menu (the radio sends no scope frames there), the reconnect path respects the same rule, and the watchdog no longer logs a negative elapsed time. (MOR-3690, #4477)
  • RX audio in a starved browser tab (App Nap, an unfocused WKWebView): a late burst of frames after a delivery stall is kept instead of being dropped at the jitter ceiling, so it no longer runs the buffer dry and stutters. (MOR-4221, #4489)
  • Memory recall now puts the radio on the channel. set_memory_mode with group (the RECALL button of the memory list) selected the group and the channel but never sent the bare 08 "Select the Memory mode", so a radio in the VFO mode acknowledged both frames and stayed where it was. The recall now ends with that 08, requires an ACK for every frame (a NAK or any other answer fails the command), and works on the channel-addressed IC-7300, IC-7300MK2 and IC-7610 as well (group 0). Not yet verified on hardware. (MOR-4219, #4490)
  • Windows USB audio: selection failures now offer explicit audio device candidates when USB topology or endpoint name matching is unavailable, and matching accounts for Windows' numbered endpoint prefixes. (MOR-4119, #4473)
  • Web UI: the memory list (local channels and the radio's own list with Reload, More and Recall) is no longer shown inline on the station page. The Memory panel now holds a Memory button that opens the list in the shared dialog. Escape, the close button or a backdrop click close it, Tab stays inside, and the list scrolls within the window. The radio's list still loads with the page. The frequency-entry dialog it reuses now also closes on Escape after focus fell out of it, without the Escape also clearing RIT/XIT. (MOR-4220, #4493)
  • Test suite: every Core test that was red on some host is deterministic (WSL2 mirrored-loopback races, the port-9 connect test, the golden clock, simulator session-release timing). Tests only; no product change. (MOR-4214, #4488)