{"id":50766316,"url":"https://github.com/schenlap/XSchenFly","last_synced_at":"2026-06-28T18:00:36.234Z","repository":{"id":311262417,"uuid":"1002318774","full_name":"schenlap/XSchenFly","owner":"schenlap","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-09T20:00:23.000Z","size":8491,"stargazers_count":9,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-10T01:35:47.343Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schenlap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"schenlap","buy_me_a_coffee":"schenlap"}},"created_at":"2025-06-15T07:48:59.000Z","updated_at":"2026-03-09T20:00:27.000Z","dependencies_parsed_at":"2025-08-23T15:07:07.763Z","dependency_job_id":"db8a73fd-cd95-47f0-a354-107151a4ed57","html_url":"https://github.com/schenlap/XSchenFly","commit_stats":null,"previous_names":["schenlap/xschenfly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/schenlap/XSchenFly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schenlap%2FXSchenFly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schenlap%2FXSchenFly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schenlap%2FXSchenFly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schenlap%2FXSchenFly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schenlap","download_url":"https://codeload.github.com/schenlap/XSchenFly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schenlap%2FXSchenFly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34898568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T14:01:24.521Z","updated_at":"2026-06-28T18:00:36.228Z","avatar_url":"https://github.com/schenlap.png","language":"Python","funding_links":["https://github.com/sponsors/schenlap","https://buymeacoffee.com/schenlap","http://buymeacoffee.com/schenlap"],"categories":["Hardware Adapters"],"sub_categories":[],"readme":"# XSchenFly\nUse cockpit hardware devices on Linuc and Mac for X-Plane 12 Toliss Airbus.\nIt combines the functionality of https://github.com/schenlap/winwing_mcdu  and https://github.com/schenlap/winwing_fcu and adds new devices. You only have to start one script now to get all supported devices working.\n\n## Status\n\nAll buttons, leds and lcd displays work the same way as in X-Plane.\u003cbr\u003e\nTested with:\n * XP12 under linux (debian trixie)\n * XP12 under MacOs (Sequoia 15.0.1)\n * Toliss A319, A320Neo, A321Neo, A339, A340-600\n\nSupported Hardware:\n * Rowsfire A107: mostly supported\n   * APU GEN button - I did not find the correct dataref yet\n   * APU Bleed Fault indication - I did not find the correct dataref yet\n   * APU Fire Button - I did not find the correct dataref yet\n   * Special features for not used buttons\n     * IR1-3 switches: autobrakes (min, med, max) can be set\n     * ADIRS ON BAT switch: master warning can be cleared\n * Winwing MCDU: fully supported\n   * Special features for not used buttons\n     * blank button1: Toliss ISCS screen\n     * blank button2: call cabine\n * Winwing FCU: fully supported\n * Winwing EFIS-R: fully supported\n * Winwing EFIS-L: fully supported\n * Winwing Uras Minor 32 Throllte with flaps and speedbrakes\n   * only testes on linux. may not work in mac and widnwos because of virtual joysticks!\n    * Throttle without speedbrake and flaps is untested\n    * Throttle and speedbrakes axis must be configured in X-Plane\n    * Fire 1 \u0026 2 and rudder trim push button can be configured as buttons in X-Plane\n * Winctrl 32 APG: fully supported\n * Winctrl 32 ECAM: fully supported\n * Wingflex RMP: is on todo list\n\n![A107 image](./documentation/A107.png)\n\n![fcu demo image](./documentation/fcu_demo.gif)\n\nChange brightness with the two brightness knobs in the cockpit.\n![fcu demo image](./documentation/xplane_fcu_brightness.png)\n\n\n![mcdu demo image](./documentation/A319MCDU1.jpg)\n\n\n\nFor Discussions use https://forums.x-plane.org/forums/topic/324813-winwing-mcdu-on-x-plane-for-mac-studio-and-linux/\n\n## Installation\n\n#### Debian based system\n1. clone the repo where you want\n2. copy `udev/71-winwing.rules` to `/etc/udev/rules.d`  \n`sudo cp udev/71-winwing.rules /etc/udev/rules.d/`\n3. install dependencies (on debian based systems)  \n`sudo aptitide install python3-hid python3-serial libhidapi-hidraw0 python3-websockets`\n5. start script (with udev rule no sudo needed): `python3 ./XSchenFly.py` when X-Plane with Toliss aircraft is loaded.\n\n\n#### MAC-OS\n\n1. clone the repo where you want\n2. change into the directory `cd XSchenFly`\n3. install homebrew\n4. install dependencies\n`python3 -m pip install hid`\n`python3 -m pip install requests`\n`python3 -m pip install websockets`\n`python3 -m pip install serial`\n6. brew install hidapi\n7. let hid find hidapi: `ln -s /opt/homebrew/lib/libhidapi.dylib .`\n8. start script with: `python3 ./XSchenFly.py` when X-Plane with Toliss aircraft is loaded.\n\n### Configuration of rowsfire devices (mobiflight)\n1. on first start you will see something like:\n```\n   find mobiflight devices:\n   /dev/ttyUSB0: None 6790:29987\ntesting /dev/ttyUSB0 - USB Serial\n   received serial number: SN-08B-DB1\n   Not using mobiflight device SN-08B-DB1, expected SN-XXX-XXX\n [A107] No compatible rawsfire device found, quit\n```\nbecause it does not know which serial number it should use.\n\n2. Change `MOBIFLIGHT_SERIAL = \"SN-XXX-XXX\"` in devices/rawsfire_a107.py to `MOBIFLIGHT_SERIAL = \"SN-08B-DB1\"` (use your serial that was printed under `Not using mobiflight device SN-08B-DB1`)\n\n### Configuration of Ursa Minor 32 Throttle\n1. No not calibrate your device in simapp pro\n2. for throttle and speedbrake a virtual joystick is created. Configure this XSchenfly-Stick in X-Plane \u003cbr\u003e\n![configure joystick in x-plane](./documentation/throttle_joystick_config.png)\n3. calibrate joystick in X-Plane (move all up/down)\n4. calibrate axis in toliss (to use reversers and set correct dents) \u003cbr\u003e\n![configure joystick in toliss](./documentation/toliss_throttle_calibration.png)\n\n## Use\n1. start X-Plane\n2. enable incoming traffic in settings / network (at the very bottom of the page)\n3. load Toliss A319\n4. start script as written above\n5. enjoy flying (and report bugs :-)  )\n\n\n## developer documentation\nSee [documention](./documentation/README.md) for developers. TODO\n\n## Notes\nUse at your own risk. Updates to the winwing devices can make the script incompatible.\nTODO: The data sent in the USB protocol by SimApp Pro has not yet been fully implemented, only to the extent that it currently works.\n\n## Next steps\n * bring all devices to websockets communication\n\n## Contact\n\u003cmemo_5_@gmx.at\u003e (without the two underscores!) or as pm in https://forums.x-plane.org, user memo5.\n\n## Sponsoring\nTo sponsor you can ![buy_me_a_coffee](https://github.com/user-attachments/assets/d0a94d75-9ad3-41e4-8b89-876c0a2fdf36)\n[http://buymeacoffee.com/schenlap](http://buymeacoffee.com/schenlap)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschenlap%2FXSchenFly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschenlap%2FXSchenFly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschenlap%2FXSchenFly/lists"}