Phone/CW Applet¶
Overview¶
The Phone/CW applet is a mode-aware transmit panel that shows microphone, processor, and monitor controls in voice modes, and automatically switches to CW controls (delay, speed, sidetone, iambic, pitch) when the active slice is in CW mode. In v0.9.8, the four CW value labels (Delay, Speed, Sidetone Volume, Pitch) are now QLineEdit widgets with QIntValidator β click any value and type a number directly (SmartSDR parity). The single Sidetone toggle and volume slider drive both the radio's DAX-fed monitor and the client-side low-latency sidetone (CwSidetoneGenerator, ~10 ms latency) in lockstep β pitch and pan always follow the radio's cw_pitch and mon_pan_cw settings automatically (v0.9.1+). In v26.5.3 the CW sidetone now routes to the user-selected audio output instead of the default output (#2899). In v0.9.7, the Compression gauge is now gated on the radio's interlock TRANSMITTING state (not meter flow), so it reads 0 during RX; Breakin now fully honors the radio's break_in setting β no auto-PTT envelope forces TX any more; the sidetone bus is shared with Quindar tones (mutually exclusive at the mode level). In v26.5.1, the ALC meter on both the Phone and CW sub-panels was rewired from HWALC (RCA voltage) to the software ALC meter (MeterModel::swAlcChanged, post-SSBMeter-peak dBFS, #2552) and a new CW-panel ALC gauge (identical to the Phone-panel ALC gauge) was added. In v26.5.3, the ALC gauges are initialized to their floor value (-20 dBFS) on startup, and the Level gauge is suppressed for all mic sources (including PC and RADE) when the Level Meter During Receive setting is off. The Compression gauge was corrected to accept a positive 0β25 dB compression value from MeterModel and invert it to the reversed gauge face (-25 = full, 0 = none). In v26.6.1, all widget styling was migrated to the ThemeManager system β slider grooves, handle colors, label foregrounds, and push-button backgrounds now follow the active theme rather than hard-coded color constants (#2912).
In v26.7.4, all four gauges (Level, Compression, ALC Phone, ALC CW) now display a hover-popup readout when you move the mouse over them β the exact numeric dBFS or dB value, shown with one decimal place (#3936). When host modulation is active (the radio is modulated by AetherSDR), the Mic source combo box is automatically set to PC and disabled with a tooltip explaining that only the PC microphone is available.
Phone Controls¶
| Control | Kind | Description |
|---|---|---|
| Level | Meter | Microphone input peak level in dBFS. Suppressed to -150 when met_in_rx is off and not transmitting, regardless of mic source. Hover over the gauge to see the exact value (v26.7.4, #3936). |
| Compression | Meter | Speech compression amount in dB (reversed fill: 0 dB = none, -25 dB = full). Corrected in v26.5.3 to accept positive 0β25 dB compression values. Gated on radio interlock TRANSMITTING state and speech processor enable; reads 0 dB during RX. Hover over the gauge to see the exact positive compression amount (v26.7.4, #3936). |
| Mic profile | Combo box | Load named mic processing profile; calls TransmitModel::loadMicProfile. |
| Mic source | Combo box | Select microphone input source; calls TransmitModel::setMicSelection. When host modulation is active (the radio is modulated by AetherSDR), automatically set to PC and disabled (v26.7.4, #3936). A tooltip explains that only the PC microphone is available. |
| Mic gain | Slider | Adjust mic input level. For 'PC' source uses local PcMicGain persistence (radio reports mic_level=0 when source=PC). |
| +ACC | Toggle button | Enable the accessory mic input mix; calls TransmitModel::setMicAcc. |
| PROC | Toggle button | Toggle the speech processor; calls TransmitModel::setSpeechProcessorEnable. |
| NOR/DX/DX+ | Slider | Three-position processor level; calls TransmitModel::setSpeechProcessorLevel. Slider styling uses applyPrimarySliderStyle (theme-aware, v26.6.1). |
| DAX | Toggle button | Enable DAX as the TX audio source; calls TransmitModel::setDax. |
| MON | Toggle button | Enable TX sidetone monitor; calls TransmitModel::setSbMonitor. |
| Monitor volume | Slider | Set sideband monitor volume; calls TransmitModel::setMonGainSb. Slider styling uses applyPrimarySliderStyle (theme-aware, v26.6.1). |
| ALC (Phone panel) | Meter | Shows automatic level control reading from MeterModel::swAlcChanged (post-software-ALC SSB peak in dBFS). Fills right-to-left: empty at -20 dBFS, full at 0 dBFS. Rewired from HWALC (RCA voltage) to SW ALC meter in v26.5.1 (#2552). Initialized to -20 dBFS on startup in v26.5.3. Mirrored by an identical gauge on the CW sub-panel. Hover over the gauge to see the exact dBFS value (v26.7.4, #3936). |
CW Controls¶
| Control | Kind | Description | Default | Range |
|---|---|---|---|---|
| ALC (CW panel) | Meter | Mirrors the Phone-panel ALC gauge; both read from MeterModel::swAlcChanged for consistent readings across voice and CW. Uses HGauge::setFillFromRight mode: empty at -20 dBFS, full at 0 dBFS. Added in v26.5.1 (#2552) as part of the SW ALC meter split. Initialized to -20 dBFS on startup in v26.5.3. Hover over the gauge to see the exact dBFS value (v26.7.4, #3936). | β | -20 to 0 dBFS (red > -3) |
| Delay (CW) | Slider + QLineEdit | Set CW break-in delay. Click the value and type a number directly (0β2000). Calls TransmitModel::setCwDelay. In v0.9.8, setCwDelay caches the value immediately. Slider styling uses applyPrimarySliderStyle (theme-aware, v26.6.1). | 500 | 0-2000 ms (step 10) |
| Speed (CW) | Slider + QLineEdit | Set CW keying speed. Click the value and type a number directly (5β100). Calls TransmitModel::setCwSpeed. Slider styling uses applyPrimarySliderStyle (theme-aware, v26.6.1). | 20 | 5-100 WPM |
| Sidetone | Toggle button | Toggle CW sidetone monitor. Also enables/disables the client-side low-latency CwSidetoneGenerator in lockstep (v0.9.1+). Both the radio's DAX-fed monitor and the local PortAudio sidetone are controlled by this single button. Pitch and pan follow radio's cw_pitch and mon_pan_cw automatically. In v26.5.3, the local sidetone routes to the user-selected audio output (#2899). | β | β |
| Sidetone volume | Slider + QLineEdit | Set CW monitor volume. One slider controls both the radio-side (mon_gain_cw) and client-side sidetone volumes. Click the value and type a number directly (0β100). Slider styling uses applyPrimarySliderStyle (theme-aware, v26.6.1). | 50 | 0-100 |
| L / R pan (CW) | Slider | Set CW monitor stereo pan. Also applies constant-power pan to the local sidetone generator (v0.9.1+). Double-click recenters to 50 (centre). Slider styling uses applyPrimarySliderStyle (theme-aware, v26.6.1). | 50 | 0-100 |
| Breakin | Toggle button | Toggle full break-in (QSK). In v0.9.7, fully honors the radio's break_in setting: with Breakin ON key edges trigger TX and break_in_delay holds the relay; with Breakin OFF keys are queued and operator engages PTT manually. | β | β |
| Iambic | Toggle button | Toggle iambic paddle keyer; calls TransmitModel::setCwIambic. | β | β |
| Pitch < / > | QLineEdit with buttons | QLineEdit with < / > buttons (CwTriBtn). Type a value (100β6000) or click the buttons to step by 10 Hz. Calls TransmitModel::setCwPitch (v0.9.8, #2429). | 600 | 100-6000 Hz (step 10) |
Indicators¶
| Indicator | States | Meaning |
|---|---|---|
| Level gauge | -40 .. +10 dBFS | Microphone peak level. Hover for exact dB value (v26.7.4). |
| Compression gauge | -25 .. 0 dB | Speech compression amount (reversed fill). Hover for exact positive dB value (v26.7.4). Corrected in v26.5.3 to accept positive 0β25 dB compression values. |
| ALC gauge (Phone) | -20 .. 0 dBFS (fill from right) | Automatic level control β post-software-ALC SSB peak, read from MeterModel::swAlcChanged. Initialized to -20 dBFS on startup. Hover for exact dBFS value (v26.7.4). |
| ALC gauge (CW) | -20 .. 0 dBFS (fill from right) | Mirror of the Phone-panel ALC gauge, identically scaled. Initialized to -20 dBFS on startup. Hover for exact dBFS value (v26.7.4). |
Enable iambic paddle keying¶
Enable the radio's built-in iambic keyer so that a dual-lever paddle connected to the FLEX-8600 keys CW using the iambic mode. This lets you set keying speed and break-in behavior from within AetherSDR.
Before you start¶
- AetherSDR must be connected to a FLEX-8600 radio.
- The active slice must be in a CW mode. The Phone/CW applet automatically switches to the CW sub-panel when a CW slice is active.
- A dual-lever paddle must be physically connected to the FLEX-8600's key jack.
Steps¶
- Click the P/CW tray button in the right sidebar to open the Phone/CW applet. If the applet is already visible, skip this step.
- Confirm the CW sub-panel is showing. If the active slice is in CW mode, the applet displays CW controls including Iambic, Speed (CW), Delay (CW), and Breakin.
- Click Iambic to enable the iambic paddle keyer. The button highlights when active.
Tips¶
- For low-latency sidetone feedback when using a paddle, enable Sidetone in the CW sub-panel. The single Sidetone button and Sidetone volume slider control both the radio's DAX-fed monitor and the client-side low-latency sidetone (approximately 10 ms latency) in lockstep. Pitch and pan follow the radio's
cw_pitchandmon_pan_cwsettings automatically. In v26.5.3, the local sidetone routes to the user-selected audio output. See Listen to a TX sidetone monitor. - Adjust Speed (CW) before enabling Iambic to avoid sending at an unexpected rate. See Set CW keying speed in WPM.
- If you want full QSK operation, also enable Breakin. In v0.9.7, Breakin is fully honored: with Breakin on, key edges trigger TX and
break_in_delayholds the relay; with Breakin off, keys are queued and you engage PTT manually. The previous auto-PTT envelope that masked Breakin off and killed QSK hang time has been removed. To set a hang time instead, disable Breakin and set Delay (CW) to a non-zero value. See Set CW break-in delay. - In v0.9.8, the Delay (CW), Speed (