Text-to-speech of vehicle status text mangles acronyms — e.g. "GPS" is spoken as "jeeps". AudioOutput::_textHash in src/Utilities/Audio/AudioOutput.cc only covers a handful of tokens (ERR, RTL, EKF, ADSB, ID, WP, CMD, ...).
Scanned PX4 (mavlink_log_* / events::send literals + libevents common.json / enums.json) and ArduPilot (GCS_SEND_TEXT / send_text / check_failed literals) for all-caps tokens in status text. Parameter names and MAVLink message names are intentionally out of scope.
Spell letter-by-letter
Both firmwares (high frequency):
GPS GNSS GCS ESC VTOL RC IMU EKF2 EKF3 AHRS INS CPU RPM SD USB PWM PPS CRC
PX4:
ICAO SIH HAGL FMU UTM MAV
ArduPilot:
FFT AFS AMSL MSL HDOP GPIO SITL ODID TCP UDP UART I2C IOMCU FTP NACK NED RSSI OSD MSP DMA DFU DNA EFI ISR WDG NMEA RTCM VTX WMM HW SW FW RX LLH IP IO RF LQ DEVID
Expand to words
CNT → count, DNST → density, TKOFF → takeoff, TERRN → terrain, AROT → autorotation, TCAL → temperature calibration, PWR → power, PERF → performance, CFG → config, FBWA → fly-by-wire A
Needs context
CAN — bus vs. English verb ("CAN node", "CAN%d", SLCAN, KDECAN).
Leave as-is (pronounceable / vendor names)
FLARM SBG MXS SBF GSOF KEBNI NET POI MAG SERVO AUTO OFF ON OK and flight mode names.
Notes
_replaceAbbreviations splits on spaces only, so tokens adjacent to punctuation ("GPS:", "(GPS)", "GPS%i") are currently missed and need word-boundary matching.
EKF2 / EKF3 don't match the existing EKF entry.
- 2-char tokens (
RC, SD, HW, SW, FW, RX, IP, IO, RF, LQ) are common and need care to avoid false positives on real words.
Text-to-speech of vehicle status text mangles acronyms — e.g. "GPS" is spoken as "jeeps".
AudioOutput::_textHashinsrc/Utilities/Audio/AudioOutput.cconly covers a handful of tokens (ERR,RTL,EKF,ADSB,ID,WP,CMD, ...).Scanned PX4 (
mavlink_log_*/events::sendliterals + libeventscommon.json/enums.json) and ArduPilot (GCS_SEND_TEXT/send_text/check_failedliterals) for all-caps tokens in status text. Parameter names and MAVLink message names are intentionally out of scope.Spell letter-by-letter
Both firmwares (high frequency):
GPSGNSSGCSESCVTOLRCIMUEKF2EKF3AHRSINSCPURPMSDUSBPWMPPSCRCPX4:
ICAOSIHHAGLFMUUTMMAVArduPilot:
FFTAFSAMSLMSLHDOPGPIOSITLODIDTCPUDPUARTI2CIOMCUFTPNACKNEDRSSIOSDMSPDMADFUDNAEFIISRWDGNMEARTCMVTXWMMHWSWFWRXLLHIPIORFLQDEVIDExpand to words
CNT→ count,DNST→ density,TKOFF→ takeoff,TERRN→ terrain,AROT→ autorotation,TCAL→ temperature calibration,PWR→ power,PERF→ performance,CFG→ config,FBWA→ fly-by-wire ANeeds context
CAN— bus vs. English verb ("CAN node", "CAN%d",SLCAN,KDECAN).Leave as-is (pronounceable / vendor names)
FLARMSBGMXSSBFGSOFKEBNINETPOIMAGSERVOAUTOOFFONOKand flight mode names.Notes
_replaceAbbreviationssplits on spaces only, so tokens adjacent to punctuation ("GPS:","(GPS)","GPS%i") are currently missed and need word-boundary matching.EKF2/EKF3don't match the existingEKFentry.RC,SD,HW,SW,FW,RX,IP,IO,RF,LQ) are common and need care to avoid false positives on real words.