XPFO Help
Voice-first control and call-outs for X-Plane
Overview
XPFO lets you create per-aircraft voice folders. Lock a folder to start listening and monitoring datarefs; unlock to edit and manage voice commands or call-outs.
Network setup
- Open Settings (gear icon on the root screen).
- Enter the X-Plane host/IP (the machine running X-Plane). On X-Plane, find it in Settings → Network.
- Use UDP ports 49000/49000 unless you changed them in X-Plane.
- Run the “Listen” RREF test with a known dataref (e.g.,
sim/cockpit2/gauges/indicators/altitude_ft_pilot). A green indicator and changing values confirm the link.
Datarefs vs Commands
- Dataref: A simulator variable you can read/write (e.g.,
.../altitude_ft_pilot). Used in criteria and in actions when the type is “Dataref.” - Command: A simulator trigger (e.g.,
sim/autopilot/altitude_up). Used when the action type is “Command.”
Voice folders
- Each folder represents an aircraft and holds its voice commands and call-outs.
- Lock to listen/monitor; unlock to edit.
- Toolbar: add items, duplicate/export/import, clipboard paste, mic toggle.
- Sections for voice commands and call-outs can collapse/expand.
Voice commands
- Props: trigger phrase, optional confirmation + custom response, optional “Always say title,” cooldown, monitor Hz, enable switch.
- Actions: multiple per command; each action can have up to 3 criteria.
- Criteria pieces: monitors A–D (dataref paths), formula vs target expression, comparator, logic (AND/OR), trigger mode, title (spoken on failure).
- Confirmation: if enabled, the app asks for the configured response. If any criterion is false, the first failing criterion title is spoken instead of asking for confirmation.
- “Always say title”: speaks the command title even when confirmation is off.
Call-outs
- Speak a message when criteria become true, respecting cooldown.
- Each call-out has monitors A–D, formula/target/comparator/logic, monitor Hz, cooldown, and enable switch.
- When locked, rows show live A–D values and expression results for debugging.
Criteria logic & expressions
- Compare: =, !=, <, <=, >, >= between Formula and Target.
- Variables: A, B, C, D (from that criterion’s monitored datarefs).
- Operators: +, -, *, /, parentheses, unary minus.
- Functions:
sqrt(x),abs(x),sin,cos,tan,asin,acos,atan,rad(x)(deg→rad),deg(x)(rad→deg),pi(). - Domains:
sqrtneeds non-negative;asin/acosneed [-1,1]. Out-of-range or missing datarefs make the expression invalid (shown in red). - Up to 3 criteria per action/call-out; they’re evaluated top-to-bottom.
- AND vs OR (plain language): AND means “this must also be true or the action stops.” OR means “if this is true it can satisfy things by itself; if false, keep checking the others.”
- Trigger options:
- Execute immediately: as soon as this criterion is true, the action/call-out fires; later criteria are skipped.
- Execute if true: this criterion counts as a green light; if any such criterion is true (and no AND criterion blocked earlier), the action/call-out executes at the end.
Import / Export / Clipboard
- Export shares the full folder (commands + call-outs) as JSON.
- Import loads a folder JSON.
- Clipboard copy/paste moves a full folder via local JSON.
Mic & listening
- Mic toggle lets you pause/resume listening quickly.
- Lock controls listening; locked green = listening for the open folder only.
- TTS is used for confirmations, titles, and call-outs; all speech is on-device.
Tips & limits
- Keep monitor Hz reasonable (1–20) to avoid overload.
- Ensure parentheses balance in long expressions; invalid expressions are rejected.
- Cooldowns prevent rapid repeats for commands/call-outs.
EULA (short)
This software is provided “as is” without warranties of any kind. Use at your own risk. The developer is not liable for any damages, losses, or simulator issues arising from use or misuse of this app. Ensure network, command, and dataref settings are correct before use. By using the app, you accept these terms.
Privacy Policy (summary)
- No accounts, no analytics, no advertising, no third-party tracking SDKs.
- Network: communicates only with the X-Plane host/ports you configure (LAN/your simulator). No data is sent to developer servers.
- Microphone: used solely for on-device speech recognition; audio is not uploaded.
- Data storage: settings, folders, voice commands, and call-outs are stored locally on your device. Exports/clipboard are user-initiated JSON files.
- User content: you configure commands/call-outs; nothing is broadly published or shared unless you export or share it yourself.
- Children: no child-directed features; no parental controls; no age gating.
- Contact: for privacy questions, include your device model, iOS version, and a short description of your request.
Contact
For support, provide your device model, iOS version, a brief description, and any reproducible steps.
Comments
Post a Comment