Sandy R Posted December 5, 2022 Report Posted December 5, 2022 (edited) I have a Spitfire cockpit with authentic style control inputs. A real Spitfire does not have toe brakes but has a single lever on the control column for the brakes. A pneumatic valve configuration operated through the Rudder control allows this single lever to actuate the left and right wheel brakes independently/differentially. For those with a single brake lever like mine, the following LUA script simulated this facility in the MSFS spitfires by mixing the analog Rudder input with another single analog Brake input to provide standard MSFS Toe Brake outputs. I have successfully tested following LUA file originally written for me by John Dowson with the Flying Iron Mk IX and the Airplane Heaven Mk1a Spitfire models for MSFS. The file should be placed in the FSUIPC7 folder and the lines: [Auto] 1=Lua spitfireBrake added to the end of the FSUIPC7.ini file or add 1=Lua spitfireBrake in the [Auto.xxx] section (where xxx is the name of your spitfire profile). You also then need to assign both your rudder and brake lever axis in FSUIPC7 using Send to FSUIPC Offset with Offset Dword Set. The script uses offset 0xA000 for the rudder axis and 0xA004 for the brake lever axis - use these or update the script to the ones that you use. If your rudder and/or brake axis are reversed, you can also adjust for this by setting the rudderAxisReversed and/or brakeAxisReversed variables to true (near the top of the script). spitfireBrake.lua Edited yesterday at 05:28 PM by John Dowson Script updated to handle both reversed rudder and brake axes correctly 1
Darth JBell Posted April 17, 2024 Report Posted April 17, 2024 Thanks, Sandy! I’ll take a look although I’m running PREPAR3D w/FSUIPC version 6. The Behr Studio/Sim Market folks say the Chang doesn’t work w/MSFS 2020. 😢
John Dowson Posted April 17, 2024 Report Posted April 17, 2024 52 minutes ago, Darth JBell said: I’ll take a look although I’m running PREPAR3D w/FSUIPC version 6. The Behr Studio/Sim Market folks say the Chang doesn’t work w/MSFS 2020. This post is for the Spitfire brake. I referenced it for you as you need to do something similar for the CJ-6 Nanchang. I will help you with this in the thread where you asked. Once this is done, you can create a User Contribution similar to this to explain to others how to do this in the CJ-6.
Darth JBell Posted April 17, 2024 Report Posted April 17, 2024 8 minutes ago, John Dowson said: This post is for the Spitfire brake. I referenced it for you as you need to do something similar for the CJ-6 Nanchang. I will help you with this in the thread where you asked. Once this is done, you can create a User Contribution similar to this to explain to others how to do this in the CJ-6. Sounds good, Sir!
Hazzer111 Posted August 6 Report Posted August 6 (edited) Hi John, As per my post on the last thread, yes I assigned as per the instructions. The only change I made was setting "local brakeReversed =" to true. I can see from looking at this, and my findings in the sim that the rudder input is applying the brakes irrespective of the actual input to the brake lever. The brake lever is itself running so that it can be pressed and will apply the brakes, but again does take into account the rudder position. Sorry as I am unable to see how to resolve this in the code, or if I myself have done something wrong. PSB log: Unfortunately the attachment limit is too small for me to attach the log. Quote ********* FSUIPC7, Version 7.5.4 (13th July 2025) by John Dowson ********* WebSocket server found: D:\FSUIPC\\Utils\FSUIPCWebSocketServer.exe Windows 11 detected - setting DisableMSFSMonitor to 'Enum' Windows 10 Home 64 Bit reported as Build 22631, Release ID: 2009 (OS 10.0) FSUIPC is running with standard privileges Reading options from "D:\FSUIPC\FSUIPC7.ini" Checking the Registrations now ... User Name="harry smith" User Addr="smithy-harry@hotmail.co.uk" FSUIPC7 Key is provided WIDEFS7 not user registered, or expired 47 System time = 06/08/2025 17:31:21 47 Allowing calibration when not assigned with 'Send direct to FSUIPC Calibration' 63 ------------------------------------------------------------------- 63 *** Preset name 'Cirrus_SF50_Vision_Jet__MSFS2024_-_Toggle_VNV_Button_in_Autopilot_On_and_OFF' exceeds max allowed length of 63 characters - ignoring 219 *** Preset name 'NAV_GPS_SWAP__NAV__button_on_EFIS_Control_Panel__LEFT_SIDE__CAPTAIN_' exceeds max allowed length of 63 characters - ignoring 219 *** Preset name 'NAV_GPS_SWAP__NAV__button_on_EFIS_Control_Panel__RIGHT__SIDE__FIRST_OFFICER_' exceeds max allowed length of 63 characters - ignoring 235 *** Preset name 'Main_instrument_panel_standby_attitude_indicator_cage_button_release' exceeds max allowed length of 63 characters - ignoring 235 Preset file 'D:\FSUIPC\myevents.txt' not found [info only] 235 19666 Calculator Code presets have been loaded and are available for use 266 Registered HotKey 'InvokeFSUIPCOptionsKey' (key=0x46, modifier=0x1) 282 FS path = "" 297 ---------------------- Joystick Device Scan ----------------------- 297 Product= Rhino FFB Joystick 297 Manufacturer= VPforce 297 Serial Number= 3359534E0100004C52006600 297 Vendor=FFFF, Product=2055 (Version 2.8) 360 GUIDs returned for product: VID_FFFF&PID_2055: 360 GUID= {A8C007E0-1192-11F0-800C-444553540000} 360 Details: Btns=64, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R255,U255,V255,X4096,Y4096,Z4096 360 Product= MFG Crosswind V2 360 Manufacturer= MFG 360 Serial Number= MFG500002 360 Vendor=16D0, Product=0A38 (Version 33.1) 360 GUIDs returned for product: VID_16D0&PID_0A38: 360 GUID= {1ECE9D80-1192-11F0-8009-444553540000} 360 Details: Btns=2, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R4096,U0,V0,X4096,Y4096,Z0 360 Product= L-VPC Throttle MT-50 375 Manufacturer= VIRPIL Controls/20210102 375 Vendor=3344, Product=8191 (Version 0.1) 375 GUIDs returned for product: VID_3344&PID_8191: 375 GUID= {564B53C0-1192-11F0-800A-444553540000} 375 Details: Btns=84, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R16384,U16384,V16384,X0,Y0,Z16384 375 Product= Bravo Throttle Quadrant 375 Manufacturer= Honeycomb Aeronautical 375 Serial Number= 6F7B2E091F1A3B00 375 Vendor=294B, Product=1901 (Version 1.5) 375 GUIDs returned for product: VID_294B&PID_1901: 375 GUID= {966C4330-10C3-11F0-8001-444553540000} 375 Details: Btns=48, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R1023,U1023,V1023,X1023,Y1023,Z1023 375 ------------------------------------------------------------------- 375 Device acquired for use: 375 Joystick ID = 3 (Registry okay) 375 3=VPforce Rhino FFB Joystick 375 3.GUID={A8C007E0-1192-11F0-800C-444553540000} 375 Device acquired for use: 375 Joystick ID = 1 (Registry okay) 375 1=MFG Crosswind V2 375 1.GUID={1ECE9D80-1192-11F0-8009-444553540000} 375 Device acquired for use: 375 Joystick ID = 2 (Registry okay) 375 2=L-VPC Throttle MT-50 375 2.GUID={564B53C0-1192-11F0-800A-444553540000} 375 Device acquired for use: 375 Joystick ID = 0 (Registry okay) 375 0=Bravo Throttle Quadrant 375 0.GUID={966C4330-10C3-11F0-8001-444553540000} 375 ------------------------------------------------------------------- 407 LogOptions=00000000 00000001 407 Manually started with DetectToConnectDelay=1, InitialStallTime=15 3266 Simulator detected 4266 Trying to connect... 4282 SimConnect_Open succeeded 4282 Running in "SunRise", Version: 12.2.282174.999 (SimConnect: 12.2.0.0) 4282 MSFS version = 12.2.282174.999 4282 MSFS 2024 Steam installation detected 4282 Checking for FS path in 'C:\Users\Harry\AppData\Roaming\Microsoft Flight Simulator 2024\UserCfg.opt' 4282 FS path found = D:\MSFS Community\ 4282 FLT path = "C:\Users\Harry\AppData\Roaming\Microsoft Flight Simulator 2024\" 4282 FS path = "D:\MSFS Community\" 4282 Initialising SimConnect data requests now 4282 Offset file 'D:\FSUIPC\myOffsets.txt' not found (info only) 4282 Number of FS control/events registered : 1795 4282 Mapping custom control numbers 69632 - 84232 (maximum defined by ini parameter MaxCustomControlNumber, defaults to 84232 when not present) 4297 Maximum number of custom events available is 1024 (defined by ini parameter MaxNumberOfCustomEvents) 4297 C:\Users\Harry\AppData\Roaming\Microsoft Flight Simulator 2024\MISSIONS\Custom\CustomFlight\CustomFlight.FLT 4422 User Aircraft ID 39387136 supplied, now being used (myftm=1) 4422 Requesting keyboard input... 4422 Requesting user aircraft data... 4704 Aircraft loaded: running normally now ... 4704 System time = 06/08/2025 17:31:26, Simulator time = 17:31:26 (16:31Z) 4704 Requesting Input Events.... 4704 Starting WAPI (WAPI enabled)... 4704 [INFO]: **** Starting FSUIPC7 WASM Interface (WAPI) version 1.0.4 (WASM version 1.0.7) using connection -1 4704 [INFO]: Connected to MSFS 4704 Aircraft="Lancaster NX611 Just Jane" 4704 -------------------- Starting everything now ---------------------- 4766 Lvars received: 331 L:vars & 0 H:vars now available 4766 Lvars/Hvars received - checking aircraft autos.... 4829 LUA.1: Spitfire differential brake lua started 4860 LUA.1: rudderChange: value=0 4875 LUA.1: rudderControl sent with value=0 4891 LUA.1: Rudder %: 50 , brake %:100 4907 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 4922 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 4938 LUA.1: brakeChange: value=0 4954 LUA.1: Rudder %: 50 , brake %:50 4969 LUA.1: Left brake value sent: -0 (rudder % used: 100) 4985 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 5891 LUA.1: rudderChange: value=816 5907 LUA.1: rudderControl sent with value=816 5922 LUA.1: Rudder %: 52.490386376122 , brake %:50 5938 LUA.1: Left brake value sent: 816 (rudder % used: 95.019227247757) 5954 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 5985 LUA.1: rudderChange: value=6744 6000 LUA.1: rudderControl sent with value=6744 6016 LUA.1: Rudder %: 70.582310932064 , brake %:50 6032 LUA.1: Left brake value sent: 6744 (rudder % used: 58.835378135873) 6047 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6079 LUA.1: rudderChange: value=12079 6094 LUA.1: rudderControl sent with value=12079 6110 LUA.1: Rudder %: 86.864432643594 , brake %:50 6125 LUA.1: Left brake value sent: 12079 (rudder % used: 26.271134712812) 6141 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6172 LUA.1: rudderChange: value=7576 6188 LUA.1: rudderControl sent with value=7576 6204 LUA.1: Rudder %: 73.121528413599 , brake %:50 6219 LUA.1: Left brake value sent: 7576 (rudder % used: 53.756943172801) 6235 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6266 LUA.1: rudderChange: value=2608 6282 LUA.1: rudderControl sent with value=2608 6297 LUA.1: Rudder %: 57.959470182506 , brake %:50 6313 LUA.1: Left brake value sent: 2608 (rudder % used: 84.081059634987) 6329 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6360 LUA.1: rudderChange: value=0 6375 LUA.1: rudderControl sent with value=0 6391 LUA.1: Rudder %: 50 , brake %:50 6407 LUA.1: Left brake value sent: -0 (rudder % used: 100) 6422 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6704 LUA.1: rudderChange: value=456 6719 LUA.1: rudderControl sent with value=0 6735 LUA.1: Rudder %: 50 , brake %:50 6750 LUA.1: Left brake value sent: -0 (rudder % used: 100) 6766 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6797 LUA.1: rudderChange: value=7512 6813 LUA.1: rudderControl sent with value=7512 6829 LUA.1: Rudder %: 72.926203991943 , brake %:50 6844 LUA.1: Left brake value sent: 7512 (rudder % used: 54.147592016114) 6860 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6891 LUA.1: rudderChange: value=13135 6907 LUA.1: rudderControl sent with value=13135 6922 LUA.1: Rudder %: 90.087285600928 , brake %:50 6938 LUA.1: Left brake value sent: 13135 (rudder % used: 19.825428798144) 6954 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 6985 LUA.1: rudderChange: value=13399 6985 LUA.1: rudderControl sent with value=13399 7000 LUA.1: Rudder %: 90.892998840261 , brake %:50 7016 LUA.1: Left brake value sent: 13399 (rudder % used: 18.214002319478) 7032 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 7063 LUA.1: rudderChange: value=12311 7079 LUA.1: rudderControl sent with value=12311 7094 LUA.1: Rudder %: 87.572483672099 , brake %:50 7110 LUA.1: Left brake value sent: 12311 (rudder % used: 24.855032655802) 7125 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 7157 LUA.1: rudderChange: value=4440 7172 LUA.1: rudderControl sent with value=4440 7188 LUA.1: Rudder %: 63.550631752426 , brake %:50 7204 LUA.1: Left brake value sent: 4440 (rudder % used: 72.898736495147) 7219 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 7250 LUA.1: rudderChange: value=24 7266 LUA.1: rudderControl sent with value=0 7282 LUA.1: Rudder %: 50 , brake %:50 7297 LUA.1: Left brake value sent: -0 (rudder % used: 100) 7313 LUA.1: Rught brake value sent: -0 (rudder % used: 100) 8594 LUA.1: brakeChange: value=8575 8610 LUA.1: Rudder %: 50 , brake %:76.170420557895 8625 LUA.1: Left brake value sent: -8575 (rudder % used: 100) 8641 LUA.1: Rught brake value sent: -8575 (rudder % used: 100) 8657 LUA.1: brakeChange: value=-16384 8672 LUA.1: Rudder %: 50 , brake %:-0.0030519440883843 8688 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 8688 LUA.1: Rught brake value sent: 16384 (rudder % used: 100) 9063 LUA.1: brakeChange: value=-15083 9079 LUA.1: Rudder %: 50 , brake %:3.9675273148996 9094 LUA.1: Left brake value sent: 15083 (rudder % used: 100) 9110 LUA.1: Rught brake value sent: 15083 (rudder % used: 100) 9125 LUA.1: brakeChange: value=7552 9141 LUA.1: Rudder %: 50 , brake %:73.048281755478 9157 LUA.1: Left brake value sent: -7552 (rudder % used: 100) 9172 LUA.1: Rught brake value sent: -7552 (rudder % used: 100) 9188 LUA.1: brakeChange: value=16127 9204 LUA.1: Rudder %: 50 , brake %:100 9219 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 9235 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 9282 LUA.1: brakeChange: value=16383 9297 LUA.1: Rudder %: 50 , brake %:100 9313 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 9329 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 9829 LUA.1: brakeChange: value=16127 9844 LUA.1: Rudder %: 50 , brake %:100 9860 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 9875 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 9891 LUA.1: brakeChange: value=5376 9907 LUA.1: Rudder %: 50 , brake %:66.407251419154 9922 LUA.1: Left brake value sent: -5376 (rudder % used: 100) 9938 LUA.1: Rught brake value sent: -5376 (rudder % used: 100) 9954 LUA.1: brakeChange: value=-15734 9969 LUA.1: Rudder %: 50 , brake %:1.9807117133614 9985 LUA.1: Left brake value sent: 15734 (rudder % used: 100) 10000 LUA.1: Rught brake value sent: 15734 (rudder % used: 100) 10000 LUA.1: brakeChange: value=-16384 10016 LUA.1: Rudder %: 50 , brake %:-0.0030519440883843 10032 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 10047 LUA.1: Rught brake value sent: 16384 (rudder % used: 100) 10204 LUA.1: brakeChange: value=-15734 10219 LUA.1: Rudder %: 50 , brake %:1.9807117133614 10235 LUA.1: Left brake value sent: 15734 (rudder % used: 100) 10250 LUA.1: Rught brake value sent: 15734 (rudder % used: 100) 10266 LUA.1: brakeChange: value=1920 10282 LUA.1: Rudder %: 50 , brake %:55.859732649698 10297 LUA.1: Left brake value sent: -1920 (rudder % used: 100) 10313 LUA.1: Rught brake value sent: -1920 (rudder % used: 100) 10329 LUA.1: brakeChange: value=12927 10344 LUA.1: Rudder %: 50 , brake %:89.452481230544 10360 LUA.1: Left brake value sent: -12927 (rudder % used: 100) 10375 LUA.1: Rught brake value sent: -12927 (rudder % used: 100) 10391 LUA.1: brakeChange: value=16127 10407 LUA.1: Rudder %: 50 , brake %:100 10422 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 10438 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 10454 LUA.1: brakeChange: value=16383 10469 LUA.1: Rudder %: 50 , brake %:100 10485 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 10500 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 10516 LUA.1: brakeChange: value=16383 10532 LUA.1: Rudder %: 50 , brake %:100 10547 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 10563 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 10594 LUA.1: rudderChange: value=264 10610 LUA.1: rudderControl sent with value=0 10625 LUA.1: Rudder %: 50 , brake %:100 10641 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 10657 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 10891 LUA.1: rudderChange: value=0 10907 LUA.1: rudderControl sent with value=0 10922 LUA.1: Rudder %: 50 , brake %:100 10938 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 10954 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 10985 LUA.1: rudderChange: value=-1073 11000 LUA.1: rudderControl sent with value=-1073 11016 LUA.1: Rudder %: 46.725263993164 , brake %:100 11032 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 11047 LUA.1: Rught brake value sent: -14237 (rudder % used: 93.450527986327) 11079 LUA.1: rudderChange: value=-8212 11094 LUA.1: rudderControl sent with value=-8212 11110 LUA.1: Rudder %: 24.937435146188 , brake %:100 11125 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 11141 LUA.1: Rught brake value sent: 41 (rudder % used: 49.874870292376) 11172 LUA.1: rudderChange: value=-13983 11188 LUA.1: rudderControl sent with value=-13983 11204 LUA.1: Rudder %: 7.3246658121223 , brake %:100 11219 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 11235 LUA.1: Rught brake value sent: 11583 (rudder % used: 14.649331624245) 11266 LUA.1: rudderChange: value=-14607 11282 LUA.1: rudderControl sent with value=-14607 11297 LUA.1: Rudder %: 5.4202527009705 , brake %:100 11313 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 11329 LUA.1: Rught brake value sent: 12831 (rudder % used: 10.840505401941) 11422 LUA.1: rudderChange: value=-15191 11438 LUA.1: rudderControl sent with value=-15191 11454 LUA.1: Rudder %: 3.6379173533541 , brake %:100 11469 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 11485 LUA.1: Rught brake value sent: 13999 (rudder % used: 7.2758347067082) 11500 LUA.1: rudderChange: value=-16256 11516 LUA.1: rudderControl sent with value=-16256 11532 LUA.1: Rudder %: 0.38759689922481 , brake %:100 11547 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 11563 LUA.1: Rught brake value sent: 16129 (rudder % used: 0.77519379844961) 12094 LUA.1: rudderChange: value=-15743 12110 LUA.1: rudderControl sent with value=-15743 12125 LUA.1: Rudder %: 1.953244216566 , brake %:100 12141 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 12157 LUA.1: Rught brake value sent: 15103 (rudder % used: 3.9064884331319) 12188 LUA.1: rudderChange: value=-8540 12204 LUA.1: rudderControl sent with value=-8540 12219 LUA.1: Rudder %: 23.936397485198 , brake %:100 12235 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 12250 LUA.1: Rught brake value sent: 697 (rudder % used: 47.872794970396) 12282 LUA.1: rudderChange: value=4360 12297 LUA.1: rudderControl sent with value=4360 12313 LUA.1: Rudder %: 63.306476225356 , brake %:100 12329 LUA.1: Left brake value sent: -7663 (rudder % used: 73.387047549289) 12344 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 12375 LUA.1: rudderChange: value=9103 12391 LUA.1: rudderControl sent with value=9103 12407 LUA.1: Rudder %: 77.781847036562 , brake %:100 12422 LUA.1: Left brake value sent: 1823 (rudder % used: 44.436305926875) 12438 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 12469 LUA.1: rudderChange: value=9743 12485 LUA.1: rudderControl sent with value=9743 12500 LUA.1: Rudder %: 79.735091253128 , brake %:100 12516 LUA.1: Left brake value sent: 3103 (rudder % used: 40.529817493744) 12532 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 12563 LUA.1: rudderChange: value=14015 12579 LUA.1: rudderControl sent with value=14015 12594 LUA.1: Rudder %: 92.772996398706 , brake %:100 12610 LUA.1: Left brake value sent: 11647 (rudder % used: 14.454007202588) 12625 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 12657 LUA.1: rudderChange: value=15935 12672 LUA.1: rudderControl sent with value=15935 12688 LUA.1: Rudder %: 98.632729048404 , brake %:100 12704 LUA.1: Left brake value sent: 15487 (rudder % used: 2.7345419031923) 12719 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 12750 LUA.1: rudderChange: value=16223 12766 LUA.1: rudderControl sent with value=16223 12782 LUA.1: Rudder %: 99.511688945859 , brake %:100 12797 LUA.1: Left brake value sent: 16063 (rudder % used: 0.97662210828298) 12813 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 13282 LUA.1: rudderChange: value=15655 13297 LUA.1: rudderControl sent with value=15655 13313 LUA.1: Rudder %: 97.778184703656 , brake %:100 13329 LUA.1: Left brake value sent: 14927 (rudder % used: 4.4436305926876) 13344 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 13375 LUA.1: rudderChange: value=9751 13391 LUA.1: rudderControl sent with value=9751 13407 LUA.1: Rudder %: 79.759506805835 , brake %:100 13422 LUA.1: Left brake value sent: 3119 (rudder % used: 40.480986388329) 13438 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 13469 LUA.1: rudderChange: value=1248 13485 LUA.1: rudderControl sent with value=1248 13500 LUA.1: Rudder %: 53.808826222304 , brake %:100 13516 LUA.1: Left brake value sent: -13887 (rudder % used: 92.382347555393) 13532 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 13563 LUA.1: rudderChange: value=72 13579 LUA.1: rudderControl sent with value=0 13594 LUA.1: Rudder %: 50 , brake %:100 13610 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 13625 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 17079 === Hot key unregistered 17079 === Stop called ... 17079 === Closing external processes we started ... 17594 === About to kill any Lua plug-ins still running ... 17750 Lua threads being terminated: 17750 1 = "D:\FSUIPC\spitfireBrake.lua" 17938 LUA: "D:\FSUIPC\spitfireBrake.lua": killed 17938 === Closing global Lua thread 18719 === About to kill my timers ... 18922 === Restoring window procs ... 18922 === Unloading libraries ... 18922 === stopping other threads ... 18922 === ... Button scanning ... 19016 === ... Axis scanning ... 19125 === Releasing joystick devices ... 19125 === Freeing macro memory 19125 === Removing any offset overrides 19125 === Clearing any displays left 19125 === Calling SimConnect_Close ... 19344 === SimConnect_Close done! 19344 === AI slots deleted! 19344 === Freeing button memory ... 19344 === Closing my Windows ... 19344 === Freeing FS libraries ... 20360 === Closing devices ... 20360 === Closing the Log ... Bye Bye! ... 20360 System time = 06/08/2025 17:31:41 20360 *** FSUIPC log file being closed Minimum frame rate was 42.7 fps, Maximum was 46.1 fps Average frame rate for running time of 13 secs = 44.1 fps Maximum AI traffic for session was 14 aircraft Traffic deletions 0 aircraft Memory managed: 10 Allocs, 8 Freed ********* FSUIPC Log file closed *********** ** Edit : for completeness, this is your initial description of the issue *** Quote I was very happy to discover this solution for making it possible to use differential braking with one axis in msfs. The Avro Lancaster (amongst others) also used this single lever for differential braking. I have been trying to make it work in my sim, however I have reached a dead end. Presently: Pulling the lever applies both brakes - excellent! When I add left rudder the left brake comes on, and the right reduces, visa versa - great, apart from it does this without input from the brake lever. When the brake lever is applied and rudder is input, the brakes just come on as if there was no differential braking. I apologies as this is beyond my basic understanding of the FSUIPC world, so any help would be appreciated. I have searched around and attempted to change numerous settings with no joy. Edited August 7 by John Dowson Initial problem description added
John Dowson Posted August 6 Report Posted August 6 5 minutes ago, Hazzer111 said: Unfortunately the attachment limit is too small for me to attach the log. You can always compress/zip it. Your attachment limit will increase the more you post. 7 minutes ago, Hazzer111 said: I can see from looking at this, and my findings in the sim that the rudder input is applying the brakes irrespective of the actual input to the brake lever. The brake lever is itself running so that it can be pressed and will apply the brakes, but again does take into account the rudder position. Looking at that log, you are getting some differential braking via FSUIPC, e.g. Quote 12688 LUA.1: Rudder %: 98.632729048404 , brake %:100 12704 LUA.1: Left brake value sent: 15487 (rudder % used: 2.7345419031923) 12719 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) 12750 LUA.1: rudderChange: value=16223 12766 LUA.1: rudderControl sent with value=16223 12782 LUA.1: Rudder %: 99.511688945859 , brake %:100 12797 LUA.1: Left brake value sent: 16063 (rudder % used: 0.97662210828298) 12813 LUA.1: Rught brake value sent: -16383 (rudder % used: 100) Can you check that you also don't have the brakes assigned to the brake axis events anywhere else, i.e. both in FSUIPC and in MSFS. Also, generate another log but this time also set logging for Axes Controls. This script is also quite old and I can't remember it in detail. I will have to go over it again and get back to you. I am pretty busy at the moment so this may take a day or two. John
Hazzer111 Posted August 6 Report Posted August 6 2 hours ago, John Dowson said: You can always compress/zip it. Your attachment limit will increase the more you post. Looking at that log, you are getting some differential braking via FSUIPC, e.g. Can you check that you also don't have the brakes assigned to the brake axis events anywhere else, i.e. both in FSUIPC and in MSFS. Also, generate another log but this time also set logging for Axes Controls. This script is also quite old and I can't remember it in detail. I will have to go over it again and get back to you. I am pretty busy at the moment so this may take a day or two. John I definitely have no other inputs - I have triple checked presently this is the only thing I have set up fsuipc for as well. The script is doing something and it is almost correct but not quite right. As you say I do get differential braking, but it is doing that just off the rudder input alone (so with the brake released) - but as I had mentioned previously, the brake lever operates independently as well in this mode (when applied it applies brakes to left and right regardless of rudder pos). Hope that makes sense as to what it should do and what it is actually doing. If needed I can send a video of it at some point. No rush getting to this either as I wont be at my pc for a few days.
John Dowson Posted August 7 Report Posted August 7 (edited) On 8/6/2025 at 6:35 PM, Hazzer111 said: The only change I made was setting "local brakeReversed =" to true. I think this is the issue - or one of them. By setting this to true, the script is sending a value of +16384 for brakes off, and -16383 for brakes full on. Try setting that back to false. This variable is to reverse the brake axis values sent to the sim. In fact, the script is not clear on this and it seems that it wasn't tested properly with a reversed brake lever axis. I have corrected this in the attached script, so please try this and set brakeAxisReversed to true and leave brakeReversed as false. The second issue is that the initial brake lever offset will be set at 0, which is 50% brakes. I have also attempted to correct this in the attached script, which explicitly calls the brakeChange function to set an initial value of -16383 ( or +16383 if reversed) so that brakes are initially off. If you want the brakes initially full on, set the initial/default value of lastBrakeValue to 16383 instead of -16383 (regardless of reversing). Please try this and let me know how it goes, and show me / attach your log if any issues (with enableLog set to true). John Edited yesterday at 05:26 PM by John Dowson Script removed - available in first post in this topic
Hazzer111 Posted Monday at 04:58 PM Report Posted Monday at 04:58 PM On 8/7/2025 at 10:33 AM, John Dowson said: I think this is the issue - or one of them. By setting this to true, the script is sending a value of +16384 for brakes off, and -16383 for brakes full on. Try setting that back to false. This variable is to reverse the brake axis values sent to the sim. In fact, the script is not clear on this and it seems that it wasn't tested properly with a reversed brake lever axis. I have corrected this in the attached script, so please try this and set brakeAxisReversed to true and leave brakeReversed as false. The second issue is that the initial brake lever offset will be set at 0, which is 50% brakes. I have also attempted to correct this in the attached script, which explicitly calls the brakeChange function to set an initial value of -16383 ( or +16383 if reversed) so that brakes are initially off. If you want the brakes initially full on, set the initial/default value of lastBrakeValue to 16383 instead of -16383 (regardless of reversing). Please try this and let me know how it goes, and show me / attach your log if any issues (with enableLog set to true). John spitfireBrake.lua 4.02 kB · 0 downloads That works great thanks John
Hazzer111 Posted yesterday at 03:41 PM Report Posted yesterday at 03:41 PM 21 hours ago, John Dowson said: 👍 Sorry John, I jumped the gun slightly. It works however when pulling the brake and applying left rudder, the left brake should apply - currently the right brake applies. So that is inverted, I tried various combinations of the brakeReversed & brakeAxisReversed which obvs didn't help. Assume some parts of the lua may need to be switched around, but I tried and made things worse. If you get chance to have a look that would be greatly appreciated. Quote ********* FSUIPC7, Version 7.5.4 (13th July 2025) by John Dowson ********* WebSocket server found: D:\FSUIPC\\Utils\FSUIPCWebSocketServer.exe Windows 11 detected - setting DisableMSFSMonitor to 'Enum' Windows 10 Home 64 Bit reported as Build 22631, Release ID: 2009 (OS 10.0) FSUIPC is running with standard privileges Reading options from "D:\FSUIPC\FSUIPC7.ini" Checking the Registrations now ... User Name="harry smith" User Addr="smithy-harry@hotmail.co.uk" FSUIPC7 Key is provided WIDEFS7 not user registered, or expired 78 System time = 12/08/2025 16:40:07 78 Allowing calibration when not assigned with 'Send direct to FSUIPC Calibration' 78 ------------------------------------------------------------------- 93 *** Preset name 'Cirrus_SF50_Vision_Jet__MSFS2024_-_Toggle_VNV_Button_in_Autopilot_On_and_OFF' exceeds max allowed length of 63 characters - ignoring 265 *** Preset name 'NAV_GPS_SWAP__NAV__button_on_EFIS_Control_Panel__LEFT_SIDE__CAPTAIN_' exceeds max allowed length of 63 characters - ignoring 265 *** Preset name 'NAV_GPS_SWAP__NAV__button_on_EFIS_Control_Panel__RIGHT__SIDE__FIRST_OFFICER_' exceeds max allowed length of 63 characters - ignoring 281 *** Preset name 'Main_instrument_panel_standby_attitude_indicator_cage_button_release' exceeds max allowed length of 63 characters - ignoring 297 Preset file 'D:\FSUIPC\myevents.txt' not found [info only] 297 19666 Calculator Code presets have been loaded and are available for use 312 Registered HotKey 'InvokeFSUIPCOptionsKey' (key=0x46, modifier=0x1) 328 FS path = "" 328 ---------------------- Joystick Device Scan ----------------------- 328 Product= Controller (Xbox One For Windows) 328 Vendor=045E, Product=02FF (Version 0.0) 406 GUIDs returned for product: VID_045E&PID_02FF: 406 GUID= {0CE66430-7160-11F0-8001-444553540000} 406 Details: Btns=16, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U65535,V65535,X65535,Y65535,Z65535 406 Product= Rhino FFB Joystick 406 Manufacturer= VPforce 406 Serial Number= 3359534E0100004C52006600 406 Vendor=FFFF, Product=2055 (Version 2.8) 406 GUIDs returned for product: VID_FFFF&PID_2055: 406 GUID= {A8C007E0-1192-11F0-800C-444553540000} 406 Details: Btns=64, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R255,U255,V255,X4096,Y4096,Z4096 406 Product= MFG Crosswind V2 406 Manufacturer= MFG 406 Serial Number= MFG500002 406 Vendor=16D0, Product=0A38 (Version 33.1) 406 GUIDs returned for product: VID_16D0&PID_0A38: 406 GUID= {1ECE9D80-1192-11F0-8009-444553540000} 406 Details: Btns=2, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R4096,U0,V0,X4096,Y4096,Z0 406 Product= L-VPC Throttle MT-50 406 Manufacturer= VIRPIL Controls/20210102 406 Vendor=3344, Product=8191 (Version 0.1) 406 GUIDs returned for product: VID_3344&PID_8191: 406 GUID= {564B53C0-1192-11F0-800A-444553540000} 406 Details: Btns=84, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R16384,U16384,V16384,X0,Y0,Z16384 406 Product= Bravo Throttle Quadrant 406 Manufacturer= Honeycomb Aeronautical 406 Serial Number= 6F7B2E091F1A3B00 406 Vendor=294B, Product=1901 (Version 1.5) 406 GUIDs returned for product: VID_294B&PID_1901: 406 GUID= {966C4330-10C3-11F0-8001-444553540000} 406 Details: Btns=48, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R1023,U1023,V1023,X1023,Y1023,Z1023 406 ------------------------------------------------------------------- 422 Device acquired for use: 422 Joystick ID = 4 (Registry okay) 422 4=Controller (Xbox One For Windows) 422 4.GUID={0CE66430-7160-11F0-8001-444553540000} 437 Device acquired for use: 437 Joystick ID = 3 (Registry okay) 437 3=VPforce Rhino FFB Joystick 437 3.GUID={A8C007E0-1192-11F0-800C-444553540000} 437 Device acquired for use: 437 Joystick ID = 1 (Registry okay) 437 1=MFG Crosswind V2 437 1.GUID={1ECE9D80-1192-11F0-8009-444553540000} 437 Device acquired for use: 437 Joystick ID = 2 (Registry okay) 437 2=L-VPC Throttle MT-50 437 2.GUID={564B53C0-1192-11F0-800A-444553540000} 437 Device acquired for use: 437 Joystick ID = 0 (Registry okay) 437 0=Bravo Throttle Quadrant 437 0.GUID={966C4330-10C3-11F0-8001-444553540000} 437 ------------------------------------------------------------------- 453 LogOptions=00000000 00000001 453 Manually started with DetectToConnectDelay=1, InitialStallTime=15 3312 Simulator detected 4312 Trying to connect... 4328 SimConnect_Open succeeded 4328 Running in "SunRise", Version: 12.2.282174.999 (SimConnect: 12.2.0.0) 4328 MSFS version = 12.2.282174.999 4328 MSFS 2024 Steam installation detected 4328 Checking for FS path in 'C:\Users\Harry\AppData\Roaming\Microsoft Flight Simulator 2024\UserCfg.opt' 4328 FS path found = D:\MSFS Community\ 4328 FLT path = "C:\Users\Harry\AppData\Roaming\Microsoft Flight Simulator 2024\" 4328 FS path = "D:\MSFS Community\" 4328 Initialising SimConnect data requests now 4328 Offset file 'D:\FSUIPC\myOffsets.txt' not found (info only) 4328 Number of FS control/events registered : 1795 4328 Mapping custom control numbers 69632 - 84232 (maximum defined by ini parameter MaxCustomControlNumber, defaults to 84232 when not present) 4328 Maximum number of custom events available is 1024 (defined by ini parameter MaxNumberOfCustomEvents) 4328 C:\Users\Harry\AppData\Roaming\Microsoft Flight Simulator 2024\Test.FLT 4422 User Aircraft ID 39387136 supplied, now being used (myftm=1) 4422 Requesting keyboard input... 4422 Requesting user aircraft data... 4687 Aircraft loaded: running normally now ... 4718 System time = 12/08/2025 16:40:12, Simulator time = 16:40:12 (15:40Z) 4718 Requesting Input Events.... 4718 Starting WAPI (WAPI enabled)... 4718 [INFO]: **** Starting FSUIPC7 WASM Interface (WAPI) version 1.0.4 (WASM version 1.0.7) using connection -1 4718 [INFO]: Connected to MSFS 4734 Aircraft="Lancaster NX611 Just Jane" 4734 -------------------- Starting everything now ---------------------- 4781 Lvars received: 3861 L:vars & 0 H:vars now available 4781 Lvars/Hvars received - checking aircraft autos.... 4843 LUA.1: brakeChange: value=-16383 4859 LUA.1: Rudder %: 50 , brake %:100 4875 LUA.1: Left brake value sent: 16383 (rudder % used: 100) 4890 LUA.1: Right brake value sent: 16383 (rudder % used: 100) 4906 LUA.1: Spitfire differential brake lua started 4937 LUA.1: rudderChange: value=0 4953 LUA.1: rudderControl sent with value=0 4968 LUA.1: Rudder %: 50 , brake %:100 4984 LUA.1: Left brake value sent: 16383 (rudder % used: 100) 5000 LUA.1: Right brake value sent: 16383 (rudder % used: 100) 5015 LUA.1: brakeChange: value=0 5031 LUA.1: Rudder %: 50 , brake %:50 5047 LUA.1: Left brake value sent: 0 (rudder % used: 100) 5062 LUA.1: Right brake value sent: 0 (rudder % used: 100) 5687 LUA.1: brakeChange: value=15871 5703 LUA.1: Rudder %: 50 , brake %:1.5625953732528 5718 LUA.1: Left brake value sent: -15871 (rudder % used: 100) 5734 LUA.1: Right brake value sent: -15871 (rudder % used: 100) 5750 LUA.1: brakeChange: value=-260 5765 LUA.1: Rudder %: 50 , brake %:50.79350546298 5781 LUA.1: Left brake value sent: 260 (rudder % used: 100) 5797 LUA.1: Right brake value sent: 260 (rudder % used: 100) 5812 LUA.1: brakeChange: value=-15344 5828 LUA.1: Rudder %: 50 , brake %:96.829030092169 5843 LUA.1: Left brake value sent: 15344 (rudder % used: 100) 5859 LUA.1: Right brake value sent: 15344 (rudder % used: 100) 5875 LUA.1: brakeChange: value=-16384 5890 LUA.1: Rudder %: 50 , brake %:100.00305194409 5906 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 5922 LUA.1: Right brake value sent: 16384 (rudder % used: 100) 6375 LUA.1: brakeChange: value=-12743 6390 LUA.1: Rudder %: 50 , brake %:88.890923518281 6406 LUA.1: Left brake value sent: 12743 (rudder % used: 100) 6422 LUA.1: Right brake value sent: 12743 (rudder % used: 100) 6437 LUA.1: brakeChange: value=16383 6453 LUA.1: Rudder %: 50 , brake %:0 6468 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 6484 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 6953 LUA.1: brakeChange: value=15871 6968 LUA.1: Rudder %: 50 , brake %:1.5625953732528 6984 LUA.1: Left brake value sent: -15871 (rudder % used: 100) 7000 LUA.1: Right brake value sent: -15871 (rudder % used: 100) 7015 LUA.1: brakeChange: value=-2861 7031 LUA.1: Rudder %: 50 , brake %:58.731612036867 7047 LUA.1: Left brake value sent: 2861 (rudder % used: 100) 7062 LUA.1: Right brake value sent: 2861 (rudder % used: 100) 7078 LUA.1: brakeChange: value=-16384 7093 LUA.1: Rudder %: 50 , brake %:100.00305194409 7109 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 7125 LUA.1: Right brake value sent: 16384 (rudder % used: 100) 7750 LUA.1: brakeChange: value=-15994 7765 LUA.1: Rudder %: 50 , brake %:98.812793749619 7781 LUA.1: Left brake value sent: 15994 (rudder % used: 100) 7797 LUA.1: Right brake value sent: 15994 (rudder % used: 100) 7812 LUA.1: brakeChange: value=13311 7828 LUA.1: Rudder %: 50 , brake %:9.3755722395166 7843 LUA.1: Left brake value sent: -13311 (rudder % used: 100) 7859 LUA.1: Right brake value sent: -13311 (rudder % used: 100) 7875 LUA.1: brakeChange: value=16383 7890 LUA.1: Rudder %: 50 , brake %:0 7906 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 7922 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 8297 LUA.1: rudderChange: value=496 8312 LUA.1: rudderControl sent with value=0 8328 LUA.1: Rudder %: 50 , brake %:0 8343 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 8359 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 8390 LUA.1: rudderChange: value=8743 8406 LUA.1: rudderControl sent with value=8743 8422 LUA.1: Rudder %: 76.683147164744 , brake %:0 8437 LUA.1: Left brake value sent: -16383 (rudder % used: 46.633705670512) 8453 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 8484 LUA.1: rudderChange: value=16383 8500 LUA.1: rudderControl sent with value=16383 8515 LUA.1: Rudder %: 100 , brake %:0 8531 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 8547 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 9172 LUA.1: brakeChange: value=15231 9187 LUA.1: Rudder %: 100 , brake %:3.5158395898187 9203 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 9218 LUA.1: Right brake value sent: -15231 (rudder % used: 100) 9234 LUA.1: brakeChange: value=-260 9250 LUA.1: Rudder %: 100 , brake %:50.79350546298 9265 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 9281 LUA.1: Right brake value sent: 260 (rudder % used: 100) 9297 LUA.1: brakeChange: value=-12093 9312 LUA.1: Rudder %: 100 , brake %:86.907159860831 9328 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 9343 LUA.1: Right brake value sent: 12093 (rudder % used: 100) 9359 LUA.1: brakeChange: value=-15994 9375 LUA.1: Rudder %: 100 , brake %:98.812793749619 9390 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 9406 LUA.1: Right brake value sent: 15994 (rudder % used: 100) 9609 LUA.1: brakeChange: value=-16384 9625 LUA.1: Rudder %: 100 , brake %:100.00305194409 9640 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 9656 LUA.1: Right brake value sent: 16384 (rudder % used: 100) 10031 LUA.1: brakeChange: value=-15994 10047 LUA.1: Rudder %: 100 , brake %:98.812793749619 10062 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10078 LUA.1: Right brake value sent: 15994 (rudder % used: 100) 10093 LUA.1: brakeChange: value=-1561 10109 LUA.1: Rudder %: 100 , brake %:54.764084721968 10125 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10140 LUA.1: Right brake value sent: 1561 (rudder % used: 100) 10156 LUA.1: brakeChange: value=16127 10172 LUA.1: Rudder %: 100 , brake %:0 10187 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10203 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 10484 LUA.1: brakeChange: value=16383 10500 LUA.1: Rudder %: 100 , brake %:0 10515 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10531 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 10718 LUA.1: brakeChange: value=16127 10734 LUA.1: Rudder %: 100 , brake %:0 10750 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10765 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 10781 LUA.1: brakeChange: value=9471 10797 LUA.1: Rudder %: 100 , brake %:21.095037538912 10812 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10828 LUA.1: Right brake value sent: -9471 (rudder % used: 100) 10843 LUA.1: brakeChange: value=-13783 10859 LUA.1: Rudder %: 100 , brake %:92.064945370201 10875 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10890 LUA.1: Right brake value sent: 13783 (rudder % used: 100) 10906 LUA.1: brakeChange: value=-16384 10922 LUA.1: Rudder %: 100 , brake %:100.00305194409 10937 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 10953 LUA.1: Right brake value sent: 16384 (rudder % used: 100) 11703 LUA.1: brakeChange: value=-15994 11718 LUA.1: Rudder %: 100 , brake %:98.812793749619 11734 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 11750 LUA.1: Right brake value sent: 15994 (rudder % used: 100) 11765 LUA.1: brakeChange: value=8191 11781 LUA.1: Rudder %: 100 , brake %:25.001525972044 11797 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 11812 LUA.1: Right brake value sent: -8191 (rudder % used: 100) 11828 LUA.1: brakeChange: value=16383 11843 LUA.1: Rudder %: 100 , brake %:0 11859 LUA.1: Left brake value sent: -16383 (rudder % used: 0) 11875 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 11906 LUA.1: rudderChange: value=15847 11922 LUA.1: rudderControl sent with value=15847 11937 LUA.1: Rudder %: 98.364157968626 , brake %:0 11953 LUA.1: Left brake value sent: -16383 (rudder % used: 3.271684062748) 11968 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 12000 LUA.1: rudderChange: value=12679 12015 LUA.1: rudderControl sent with value=12679 12031 LUA.1: Rudder %: 88.695599096625 , brake %:0 12047 LUA.1: Left brake value sent: -16383 (rudder % used: 22.608801806751) 12062 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 12093 LUA.1: rudderChange: value=8759 12109 LUA.1: rudderControl sent with value=8759 12125 LUA.1: Rudder %: 76.731978270158 , brake %:0 12140 LUA.1: Left brake value sent: -16383 (rudder % used: 46.536043459684) 12156 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 12187 LUA.1: rudderChange: value=4168 12187 LUA.1: rudderControl sent with value=4168 12218 LUA.1: Rudder %: 62.720502960386 , brake %:0 12234 LUA.1: Left brake value sent: -16383 (rudder % used: 74.558994079228) 12234 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 12281 LUA.1: rudderChange: value=-536 12297 LUA.1: rudderControl sent with value=-536 12312 LUA.1: Rudder %: 48.364157968626 , brake %:0 12328 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 12343 LUA.1: Right brake value sent: -16383 (rudder % used: 96.728315937252) 12375 LUA.1: rudderChange: value=-176 12390 LUA.1: rudderControl sent with value=0 12406 LUA.1: Rudder %: 50 , brake %:0 12422 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 12422 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 13562 LUA.1: rudderChange: value=-945 13578 LUA.1: rudderControl sent with value=-945 13593 LUA.1: Rudder %: 47.115912836477 , brake %:0 13609 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 13625 LUA.1: Right brake value sent: -16383 (rudder % used: 94.231825672954) 13656 LUA.1: rudderChange: value=-3538 13672 LUA.1: rudderControl sent with value=-3538 13687 LUA.1: Rudder %: 39.202221815296 , brake %:0 13703 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 13718 LUA.1: Right brake value sent: -16383 (rudder % used: 78.404443630593) 13750 LUA.1: rudderChange: value=-9485 13765 LUA.1: rudderControl sent with value=-9485 13781 LUA.1: Rudder %: 21.052310321675 , brake %:0 13797 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 13812 LUA.1: Right brake value sent: -16383 (rudder % used: 42.10462064335) 13843 LUA.1: rudderChange: value=-13863 13859 LUA.1: rudderControl sent with value=-13863 13875 LUA.1: Rudder %: 7.6908991027284 , brake %:0 13890 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 13906 LUA.1: Right brake value sent: -16383 (rudder % used: 15.381798205457) 13937 LUA.1: rudderChange: value=-16368 13953 LUA.1: rudderControl sent with value=-16368 13968 LUA.1: Rudder %: 0.045779161325765 , brake %:0 13984 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 14000 LUA.1: Right brake value sent: -16383 (rudder % used: 0.091558322651522) 14672 LUA.1: brakeChange: value=15871 14687 LUA.1: Rudder %: 0.045779161325765 , brake %:1.5625953732528 14703 LUA.1: Left brake value sent: -15871 (rudder % used: 100) 14718 LUA.1: Right brake value sent: -16382.531221388 (rudder % used: 0.091558322651522) 14734 LUA.1: brakeChange: value=1536 14750 LUA.1: Rudder %: 0.045779161325765 , brake %:45.312213880242 14765 LUA.1: Left brake value sent: -1536 (rudder % used: 100) 14781 LUA.1: Right brake value sent: -16369.406335836 (rudder % used: 0.091558322651522) 14797 LUA.1: brakeChange: value=-16384 14812 LUA.1: Rudder %: 0.045779161325765 , brake %:100.00305194409 14828 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 14843 LUA.1: Right brake value sent: -16352.999084417 (rudder % used: 0.091558322651522) 15359 LUA.1: brakeChange: value=-15344 15375 LUA.1: Rudder %: 0.045779161325765 , brake %:96.829030092169 15375 LUA.1: Left brake value sent: 15344 (rudder % used: 100) 15390 LUA.1: Right brake value sent: -16353.951290972 (rudder % used: 0.091558322651522) 15406 LUA.1: brakeChange: value=6912 15422 LUA.1: Rudder %: 0.045779161325765 , brake %:28.904962461088 15437 LUA.1: Left brake value sent: -6912 (rudder % used: 100) 15453 LUA.1: Right brake value sent: -16374.328511262 (rudder % used: 0.091558322651522) 15468 LUA.1: brakeChange: value=16383 15484 LUA.1: Rudder %: 0.045779161325765 , brake %:0 15500 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 15515 LUA.1: Right brake value sent: -16383 (rudder % used: 0.091558322651522) 15875 LUA.1: brakeChange: value=15871 15890 LUA.1: Rudder %: 0.045779161325765 , brake %:1.5625953732528 15906 LUA.1: Left brake value sent: -15871 (rudder % used: 100) 15922 LUA.1: Right brake value sent: -16382.531221388 (rudder % used: 0.091558322651522) 15937 LUA.1: brakeChange: value=256 15953 LUA.1: Rudder %: 0.045779161325765 , brake %:49.218702313374 15968 LUA.1: Left brake value sent: -256 (rudder % used: 100) 15984 LUA.1: Right brake value sent: -16368.234389306 (rudder % used: 0.091558322651522) 16000 LUA.1: brakeChange: value=-15734 16015 LUA.1: Rudder %: 0.045779161325765 , brake %:98.019288286639 16031 LUA.1: Left brake value sent: 15734 (rudder % used: 100) 16047 LUA.1: Right brake value sent: -16353.594213514 (rudder % used: 0.091558322651522) 16062 LUA.1: brakeChange: value=-16384 16078 LUA.1: Rudder %: 0.045779161325765 , brake %:100.00305194409 16093 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16109 LUA.1: Right brake value sent: -16352.999084417 (rudder % used: 0.091558322651522) 16281 LUA.1: rudderChange: value=-16088 16297 LUA.1: rudderControl sent with value=-16088 16312 LUA.1: Rudder %: 0.90032350607337 , brake %:100.00305194409 16328 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16343 LUA.1: Right brake value sent: -15792.98199353 (rudder % used: 1.8006470121467) 16375 LUA.1: rudderChange: value=-13951 16390 LUA.1: rudderControl sent with value=-13951 16406 LUA.1: Rudder %: 7.4223280229506 , brake %:100.00305194409 16422 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16437 LUA.1: Right brake value sent: -11518.85155344 (rudder % used: 14.844656045901) 16468 LUA.1: rudderChange: value=-11654 16484 LUA.1: rudderControl sent with value=-11654 16500 LUA.1: Rudder %: 14.432643593969 , brake %:100.00305194409 16515 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16531 LUA.1: Right brake value sent: -6924.7113471281 (rudder % used: 28.865287187939) 16562 LUA.1: rudderChange: value=-9725 16578 LUA.1: rudderControl sent with value=-9725 16593 LUA.1: Rudder %: 20.319843740463 , brake %:100.00305194409 16609 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16625 LUA.1: Right brake value sent: -3066.5936031252 (rudder % used: 40.639687480925) 16656 LUA.1: rudderChange: value=-8436 16672 LUA.1: rudderControl sent with value=-8436 16687 LUA.1: Rudder %: 24.25379967039 , brake %:100.00305194409 16703 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16718 LUA.1: Right brake value sent: -488.51492400659 (rudder % used: 48.50759934078) 16750 LUA.1: rudderChange: value=-6291 16765 LUA.1: rudderControl sent with value=-6291 16781 LUA.1: Rudder %: 30.800219739974 , brake %:100.00305194409 16797 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16812 LUA.1: Right brake value sent: 3801.6160043948 (rudder % used: 61.600439479949) 16843 LUA.1: rudderChange: value=-4314 16859 LUA.1: rudderControl sent with value=-4314 16875 LUA.1: Rudder %: 36.83391320271 , brake %:100.00305194409 16890 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 16906 LUA.1: Right brake value sent: 7755.7366782641 (rudder % used: 73.66782640542) 16937 LUA.1: rudderChange: value=-2337 16953 LUA.1: rudderControl sent with value=-2337 16968 LUA.1: Rudder %: 42.867606665446 , brake %:100.00305194409 16984 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 17000 LUA.1: Right brake value sent: 11709.857352133 (rudder % used: 85.735213330892) 17031 LUA.1: rudderChange: value=-1121 17047 LUA.1: rudderControl sent with value=-1121 17062 LUA.1: Rudder %: 46.578770676921 , brake %:100.00305194409 17078 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 17093 LUA.1: Right brake value sent: 14141.931575414 (rudder % used: 93.157541353842) 17125 LUA.1: rudderChange: value=-40 17140 LUA.1: rudderControl sent with value=0 17156 LUA.1: Rudder %: 50 , brake %:100.00305194409 17172 LUA.1: Left brake value sent: 16384 (rudder % used: 100) 17187 LUA.1: Right brake value sent: 16384 (rudder % used: 100) 18547 LUA.1: brakeChange: value=-15734 18562 LUA.1: Rudder %: 50 , brake %:98.019288286639 18578 LUA.1: Left brake value sent: 15734 (rudder % used: 100) 18593 LUA.1: Right brake value sent: 15734 (rudder % used: 100) 18609 LUA.1: brakeChange: value=9855 18625 LUA.1: Rudder %: 50 , brake %:19.923091008973 18640 LUA.1: Left brake value sent: -9855 (rudder % used: 100) 18656 LUA.1: Right brake value sent: -9855 (rudder % used: 100) 18672 LUA.1: brakeChange: value=16383 18687 LUA.1: Rudder %: 50 , brake %:0 18703 LUA.1: Left brake value sent: -16383 (rudder % used: 100) 18718 LUA.1: Right brake value sent: -16383 (rudder % used: 100) 25406 === Hot key unregistered 25406 === Stop called ... 25406 === Closing external processes we started ... 25922 === About to kill any Lua plug-ins still running ... 26078 Lua threads being terminated: 26078 1 = "D:\FSUIPC\spitfireBrake.lua" 26265 LUA: "D:\FSUIPC\spitfireBrake.lua": killed 26265 === Closing global Lua thread 27031 === About to kill my timers ... 27234 === Restoring window procs ... 27234 === Unloading libraries ... 27234 === stopping other threads ... 27234 === ... Button scanning ... 27343 === ... Axis scanning ... 27453 === Releasing joystick devices ... 27453 === Freeing macro memory 27453 === Removing any offset overrides 27453 === Clearing any displays left 27453 === Calling SimConnect_Close ... 27672 === SimConnect_Close done! 27672 === AI slots deleted! 27672 === Freeing button memory ... 27672 === Closing my Windows ... 27672 === Freeing FS libraries ... 28687 === Closing devices ... 28687 === Closing the Log ... Bye Bye! ... 28687 System time = 12/08/2025 16:40:36 28687 *** FSUIPC log file being closed Minimum frame rate was 44.9 fps, Maximum was 48.3 fps Average frame rate for running time of 21 secs = 47.0 fps Maximum AI traffic for session was 22 aircraft Traffic deletions 0 aircraft Memory managed: 10 Allocs, 8 Freed ********* FSUIPC Log file closed ***********
John Dowson Posted yesterday at 04:16 PM Report Posted yesterday at 04:16 PM 30 minutes ago, Hazzer111 said: It works however when pulling the brake and applying left rudder, the left brake should apply - currently the right brake applies. So that is inverted, I tried various combinations of the brakeReversed & brakeAxisReversed which obvs didn't help. That would imply that the rudder axis is reversed. Look at the rudderChange function, and find this: Quote -- Rudder value expected in range -16383 to + 16383: calibrate the value to this range here if axis values not in this range -- You can also reverse the range here if needed Then add a line to reverse the rudder after that comment, i.e. Quote -- Rudder value expected in range -16383 to + 16383: calibrate the value to this range here if axis values not in this range -- You can also reverse the range here if needed value = -value You could also add a rudderAxisReversed variable and do this on an if...then conditional if you wish, as is done with brakeAxisReversed. John
Hazzer111 Posted yesterday at 04:23 PM Report Posted yesterday at 04:23 PM 6 minutes ago, John Dowson said: That would imply that the rudder axis is reversed. Look at the rudderChange function, and find this: Then add a line to reverse the rudder after that comment, i.e. You could also add a rudderAxisReversed variable and do this on an if...then conditional if you wish, as is done with brakeAxisReversed. John thats sorted it 🙂
John Dowson Posted yesterday at 05:26 PM Report Posted yesterday at 05:26 PM 1 hour ago, Hazzer111 said: thats sorted it 🙂 Ok. I have updated the script available in the first post in this topic to accommodate for both reversed brake and rudder axis when necessary, and provided instructions on how to do so. John
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now