--[[ -- -- -- -- -- -- -- -- -- -- -- --
Taxi_speed.lua v1.1
created by Mike Gromley December 2019
this script will maintain a taxi speed close to the
speed set by the user by adjusting the throttle and
brake to maintain speed.
Revisions Version 1.1
Version 1.2 by RAJ 03/12/2022 to work for ToLiss A321
also works for JD A330, but not FF A350
1) Added disconnect master on toe brake press
2) Added BetterPushback commands if it is installed
BetterPushback is the work of
*Click on one of the two speed boxes to open/close BP panel
3) Fixed (hopefully) the throttle sticking on occasion
Usage
1) set the speed you would like to taxi
with the mouse wheel on Taxi Speed boxes.
2) Master has to be on
3) Park brake has to be off
4) It is disabled in the air
5) It is automatically disablled if you advance the throttles bast 45%
6) It doesn't hold the exact speed that is set but in the area, usually by 1-3 knots
In this version you can arm taxi after landing, retract flaps, and retract spoilers
in any combination.
--Thanks to KAPTEJNLN for his autopilot script that taught me how to do the interface]]
--print(string.format("############ Taxi_Speed - PLANE_ICAO: %s", PLANE_ICAO))
--============ USER CHANGABLE VARIABLES default values in ( )
local l_desired_speed = 15 -- default taxi speed (20)
local l_max_taxi = 30 -- maximum selectable taxi speed (30)
local l_flap_splr_speed = 45 -- ground speed spoilers and flaps are retracted if set to armed(45)
local l_mstr_off_at = 0.45 -- throttle percent that turns off master 0.4 to 0.7 (0.45)
local l_toebrake_ratio = 0.15 -- percentage of toebrake that turns off master 0.0 - 0.5(0.15)
--** -- where to place the click text and subsequent rows **--
local l_x_pos = 25 -- distance from left edge (25)
local l_y_pos = 10 -- distance up from bottom edge(10)
--** change 0 to 1 to have these defaulted to on at startup 1 is on 0 is off **--
local ls_master_status = 0 -- Master switch
local ls_brake_status = 1 -- Parking brake
local ls_taxi_AL = 1 -- Arm taxi after landing
local ls_flaps_AL = 0 -- Arm flaps up after landing
local ls_spoilers_AL = 1 -- Arm retract spoilers at l_splrs_speed after landing
local l_show_main = 1 -- Start with panel open
local l_display_text = "Taxi" -- Displayed text when panels are not displayed
-- Clickspot only works on first 4 characters
--============ END of USER CHANGABLE VARIABLES
--===================================== TEXT TABLES
local ltx_status_txt = {[0] = "OFF", [1] = "ON", [2] = "ARMD", [3] = "TLS"}
local ltx_colors = {[0] = "white", [1] = "green", [2] = "yellow", [3] = "red"}
local ltx_AL_colors = {[0] = "white", [1] = "yellow"}
--===================================== Misc
local l_show_AL = 0 --arming row visible
local l_show_BP = 0
local l_toliss = nil --the Toliss A319/21 is loaded
local l_thrtl = 0.0
local l_brake = 0.0
local l_ground_speed = 0
local l_we_landed = 0
local l_we_took_off = 0
local l_counter = 0
local l_brake_counter = 0
local ls_armed_status = 0
local l_default_check = true
local ls_home_status = 0
local ls_pre_master = 0
local l_check = false
local l_debug = false
local l_better_pb = 0
--===================================== Datarefs
dataref("dr_ground_speed", "sim/flightmodel/position/groundspeed", "readonly")
dataref("dr_on_ground", "sim/flightmodel/failures/onground_any", "readonly")
dataref("dr_flap_ratio", "sim/cockpit2/controls/flap_ratio", "readonly")
dataref("dr_speedbrake_ratio", "sim/cockpit2/controls/speedbrake_ratio", "readonly")
dataref( "dr_rbrake_ratio", "sim/cockpit2/controls/right_brake_ratio", "readonly")
dataref( "dr_lbrake_ratio", "sim/cockpit2/controls/left_brake_ratio", "readonly")
dataref("dr_parkbrake_ratio","sim/cockpit2/controls/parking_brake_ratio", "readonly")
--==== modification of vSpeedsCallouts method ==============================================================
function getAircraftName()
local t = {} -- table to store the indices
local i = 0
while true do
i = string.find(AIRCRAFT_PATH, "/", i+1) -- find next "/" pattern in path
if i == nil then break end
table.insert(t, i)
end
aircraft = AIRCRAFT_PATH:sub(t[table.maxn(t)-1] + 1,AIRCRAFT_PATH.len(AIRCRAFT_PATH) - 1)
logMsg("Taxi_Speed - aircraft type: "..aircraft)
-- current version (V1p3p1+) has AIRCRAFT_PATH string as ToLissA321_V1p3p1 not ToLiss321_V1p3p1:
if aircraft.lower(aircraft):match("tolissa3[12][19]") then l_toliss = 1 end
t = nil
i = nil
end -- end function getAircraftName()
--==========================================================================================================
--Because toliss uses different datarefs:
--original logic was: if PLANE_ICAO is NOT A319, then do [...], otherwise do [...]
--if PLANE_ICAO ~= "A319" then // ~= is negation symbol in lua !!!
--this seems confusing, and didn't work anyway for A321 (but amending A319 to A321 did work), so changed to using
--vSpeedsCallouts method of determining if it's a ToLiss airbus [for non-ToLiss A319/21 see end of script for directions]
getAircraftName()
if l_toliss == 1 then
logMsg("Taxi_Speed - loading ToLiss datarefs")
dataref("dr_throttle", "AirbusFBW/throttle_input", "writable", 0)
dataref("dr_throttle_1", "AirbusFBW/throttle_input", "writable", 1)
dataref("dr_toliss_park_brake", "AirbusFBW/ParkBrake", "writable")
else
logMsg("Taxi_Speed - loading standard datarefs")
dataref("dr_throttle", "sim/cockpit2/engine/actuators/throttle_ratio_all", "readonly")
end
logMsg(dr_throttle)
--logMsg("Taxi_Speed - it's a ToLiss airbus: "..l_toliss)
--===================================== functions
function f_set_controls(x_brake, x_throttle)
if x_brake then
set("sim/cockpit2/controls/parking_brake_ratio", x_brake)
if l_toliss then
set("sim/cockpit2/controls/left_brake_ratio", x_brake)
set("sim/cockpit2/controls/right_brake_ratio", x_brake)
dr_toliss_park_brake = x_brake
end
end
if x_throttle then
if l_toliss then
dr_throttle = x_throttle
dr_throttle_1 = x_throttle
else
set("sim/cockpit2/engine/actuators/throttle_ratio_all", x_throttle)
end
end
end
--============ Drawing
function f_draw_TS()
--if user changed brake via keyboard or cockpit
if dr_on_ground == 1 then
if ls_brake_status == 1 or ls_brake_status == 0 then
if l_toliss then
ls_brake_status = dr_toliss_park_brake
else
ls_brake_status = dr_parkbrake_ratio
end
end
end
glColor4f(0.5,0.5,0.5,1.0)
if l_show_main == 0 then
draw_string(l_x_pos, l_y_pos, l_display_text, ltx_colors[ls_home_status] )
else-- Show the main row
glRectf(l_x_pos, l_y_pos - 9, l_x_pos + 400, l_y_pos + 10)
draw_string(l_x_pos + 390, l_y_pos - 3, "X", ltx_colors[0] )
draw_string(l_x_pos + 157, l_y_pos - 3, "|Set:" .. l_desired_speed, "cyan")
draw_string(l_x_pos + 205, l_y_pos - 3, "|Speed:" .. l_ground_speed, "black")
draw_string(l_x_pos + 270, l_y_pos - 3, "|", "black")
draw_string(l_x_pos + 275, l_y_pos - 3, " Arm on Landing |", ltx_AL_colors[ls_armed_status])
draw_string(l_x_pos, l_y_pos - 3, "Master: " .. ltx_status_txt[ls_home_status], ltx_colors[ls_home_status])
draw_string(l_x_pos + 80, l_y_pos - 3, "| Brake: " .. ltx_status_txt[math.floor(ls_brake_status)], ltx_colors[ls_brake_status])
-- Show the arm on landing options
if l_show_AL + l_show_main == 2 then
glRectf(l_x_pos + 270, l_y_pos + 10,l_x_pos + 400,l_y_pos + 30)
draw_string(l_x_pos + 270, l_y_pos + 20, "| Taxi", ltx_AL_colors[ls_taxi_AL])
draw_string(l_x_pos + 315, l_y_pos + 20, "| Flaps", ltx_AL_colors[ls_flaps_AL])
draw_string(l_x_pos + 355, l_y_pos + 20, "| Splrs", ltx_AL_colors[ls_spoilers_AL])
draw_string(l_x_pos + 397, l_y_pos + 20, "|",ltx_AL_colors[ls_spoilers_AL])
end
if (not l_default_check) and (l_better_pb + l_show_main + l_show_BP == 3) then
glRectf(l_x_pos + 80, l_y_pos + 10,l_x_pos + 275,l_y_pos + 38)
draw_string(l_x_pos + 80, l_y_pos + 17, "| -- Plan --" , "cyan")
draw_string(l_x_pos + 108, l_y_pos + 30, " Better Pushback " , "cyan")
draw_string(l_x_pos + 140, l_y_pos + 17, "|" , "cyan")
draw_string(l_x_pos + 143, l_y_pos + 17, " -- Start --" , "cyan")
draw_string(l_x_pos + 203, l_y_pos + 17, "| -- Stop --" , "cyan")
draw_string(l_x_pos + 270, l_y_pos + 17, "|" , "cyan")
end
end
if l_debug then
draw_string(l_x_pos + 1000, l_y_pos + 200, "l_counter "..l_counter, "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 215, "l_brake_counter "..l_brake_counter, "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 230, "l_check " .. tostring(l_check), "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 245, "ls_brake_status ".. ls_brake_status , "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 260, "ls_master_status " .. ls_master_status, "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 275, "dr_flap_ratio " .. dr_flap_ratio , "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 290, "dr_parkbrake_ratio " .. dr_parkbrake_ratio , "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 310, "dr_rbrake_ratio " .. dr_rbrake_ratio , "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 325, "dr_lbrake_ratio " .. dr_lbrake_ratio, "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 340, "dr_speedbrake_ratio " .. dr_speedbrake_ratio, "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 355, "dr_throttle " .. dr_throttle, "yellow" )
draw_string(l_x_pos + 1000, l_y_pos + 370, "l_better_pb " .. tostring(l_better_pb), "yellow" )
end
end
--============ Mouse
function f_mouse_click_TS()
--===================================== Close
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 380 and MOUSE_X < l_x_pos + 399 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 10 and MOUSE_STATUS == "down" then
l_show_main = 0
return
end
--===================================== Open
if l_show_main == 0 and MOUSE_X >= l_x_pos and MOUSE_X <= l_x_pos + 25 and MOUSE_Y >= l_y_pos and MOUSE_Y <= l_y_pos + 9 and MOUSE_STATUS == "down" then
l_show_main = 1
return
end
--===================================== Master
if l_show_main ~= 0 and MOUSE_X > l_x_pos and MOUSE_X < l_x_pos + 79 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 10 and MOUSE_STATUS == "down" then
ls_master_status = 1 - ls_master_status
ls_home_status = ls_master_status
if ls_home_status ~= 1 then
l_check = false
l_brake_counter = 0
end
f_change_armed_TS()
return
end
--===================================== Brakes
if l_show_main + dr_on_ground == 2 and MOUSE_X > l_x_pos + 80 and MOUSE_X < l_x_pos + 160 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 10 and MOUSE_STATUS == "down" then
if dr_parkbrake_ratio == 1 or dr_parkbrake_ratio == 0 then
ls_brake_status = 1 - ls_brake_status
else
ls_brake_status = 1
end
if ls_brake_status == 1 then
l_check = false
l_brake_counter = 0
end
f_set_controls(ls_brake_status,nil)
return
end
--===================================== Arm/disarm all if in the air
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 275 and MOUSE_X < l_x_pos + 305 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 10 and MOUSE_STATUS == "down" then
if dr_on_ground == 0 then
--all are off or on so toggle
if ls_taxi_AL + ls_flaps_AL + ls_spoilers_AL == 0 or ls_taxi_AL + ls_flaps_AL + ls_spoilers_AL == 3 then
ls_taxi_AL = 1 - ls_taxi_AL
ls_flaps_AL = 1 - ls_flaps_AL
ls_spoilers_AL = 1 - ls_spoilers_AL
ls_armed_status = 1 - ls_armed_status
else
--1 or more already set so enable all
ls_spoilers_AL, ls_flaps_AL, ls_taxi_AL, ls_armed_status = 1, 1, 1, 1
end
f_change_armed_TS()
return
else --on the ground use as arming arming screen toggle
l_show_AL = 1 - l_show_AL --works like show arming screen
return
end
end
--===================================== Show Arming screen
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 306 and MOUSE_X < l_x_pos + 375 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 10 and MOUSE_STATUS == "down" then
l_show_AL = 1 - l_show_AL
return
end
--============ Arming form clicks
--===================================== Taxi
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 270 and MOUSE_X < l_x_pos + 310 and MOUSE_Y > l_y_pos + 12 and MOUSE_Y < l_y_pos + 30 and MOUSE_STATUS == "down" then
ls_taxi_AL = 1 - ls_taxi_AL
f_change_armed_TS()
return
end
--===================================== Flaps
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 313 and MOUSE_X < l_x_pos + 353 and MOUSE_Y > l_y_pos + 12 and MOUSE_Y < l_y_pos + 30 and MOUSE_STATUS == "down" then
ls_flaps_AL = 1 - ls_flaps_AL
f_change_armed_TS()
return
end
--===================================== Spoilers
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 355 and MOUSE_X < l_x_pos + 395 and MOUSE_Y > l_y_pos + 12 and MOUSE_Y < l_y_pos + 30 and MOUSE_STATUS == "down" then
ls_spoilers_AL = 1 - ls_spoilers_AL
f_change_armed_TS()
end
--============ Open Better Pushback panel if installed
if l_show_main + l_better_pb == 2 and MOUSE_X > l_x_pos + 162 and MOUSE_X < l_x_pos + 269 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 10 and MOUSE_STATUS == "down" then
l_show_BP = 1 - l_show_BP
--turn off master if BetterPushback is open
if ls_master_status + l_show_BP == 2 then
ls_master_status = 0
end
end
--============ better pushback form clicks
--===================================== Plan
if l_show_main + l_show_BP == 2 and MOUSE_X > l_x_pos + 80 and MOUSE_X < l_x_pos + 140 and MOUSE_Y > l_y_pos + 18 and MOUSE_Y < l_y_pos + 38 and MOUSE_STATUS == "down" then
command_once("BetterPushback/start_planner")
end
--===================================== Start
if l_show_main + l_show_BP == 2 and MOUSE_X > l_x_pos + 143 and MOUSE_X < l_x_pos + 203 and MOUSE_Y > l_y_pos + 18 and MOUSE_Y < l_y_pos + 38 and MOUSE_STATUS == "down" then
command_once("BetterPushback/start")
end
--===================================== Stop
if l_show_main + l_show_BP == 2 and MOUSE_X > l_x_pos + 206 and MOUSE_X < l_x_pos + 270 and MOUSE_Y > l_y_pos + 18 and MOUSE_Y < l_y_pos + 38 and MOUSE_STATUS == "down" then
command_once("BetterPushback/stop")
end
end
function f_change_armed_TS()
if ls_brake_status == 1 or ls_master_status == 0 then
l_check = false
l_brake_counter = 0
end
--get and save the current state of Master if it is not armed
if ls_master_status < 2 then
ls_pre_master = ls_master_status
end
--if anything is armed then change status
if ls_flaps_AL + ls_spoilers_AL + ls_taxi_AL > 0 then
ls_armed_status = 1
else
ls_armed_status = 0
end
--we are in the air and something is armed
if l_we_took_off + ls_armed_status == 2 then
ls_home_status = 2
else
--we return to OFF or ON if we are no longer armed
ls_master_status = ls_pre_master
ls_home_status = ls_pre_master
end
end
function f_mouse_wheel_TS()
if l_show_main ~= 0 and MOUSE_X > l_x_pos + 162 and MOUSE_X < l_x_pos + 269 and MOUSE_Y > l_y_pos - 9 and MOUSE_Y < l_y_pos + 30 then
--don't zoom
RESUME_MOUSE_WHEEL = true
l_desired_speed = l_desired_speed + MOUSE_WHEEL_CLICKS
--stay within bounds
if l_desired_speed < 0 then
l_desired_speed = l_max_taxi
elseif l_desired_speed > l_max_taxi then
l_desired_speed = 0
end
end
end
--============ Other
function f_do_often_TS() --determines flow
f_change_armed_TS()
if l_default_check then
f_first_run_TS()
return
end
if (not l_check and ls_home_status == 1) and (dr_parkbrake_ratio < l_toebrake_ratio and l_brake_counter < 2) then
l_brake_counter = l_brake_counter + 1
elseif l_brake_counter == 2 then
l_check = true
l_brake_counter = 0
end
--convert meters/sec to knots
l_ground_speed = math.floor(dr_ground_speed * 1.943)
--we are flying now so move along nothing to see here
if dr_on_ground == 0 and l_we_took_off == 1 then
return
end
--we just took off so make sure we have been in the air at least 5 seconds
if dr_on_ground == 0 and l_counter <= 5 then
l_counter = l_counter + 1
return
end
--we should stay aloft now so clean up
if dr_on_ground + l_we_took_off == 0 then
l_we_took_off = 1
l_counter, ls_master_status = 0, 0
ls_brake_status = 0
f_set_controls(0,nil)
end
--cut the throttle if the user hit the parking brake while master is on
if ls_master_status + ls_brake_status == 2 then
f_set_controls(1,0.0)
return
end
--check if we are on the ground and advanced the throttle too far turn off
if dr_on_ground == 1 and dr_throttle >= l_mstr_off_at then
ls_master_status, ls_home_status, ls_brake_status = 0, 0, 0
return
end
--we just landed make sure we are down for good
if l_we_took_off + dr_on_ground == 2 and l_counter <= 3 then
l_counter = l_counter + 1
return
elseif l_we_took_off + dr_on_ground == 2 and l_counter > 3 then
--definately not bouncing so set variables
l_we_took_off = 0
l_we_landed = 1
l_counter = 0
end
--we landed so do any armed functions
if l_we_landed + ls_armed_status == 2 or l_we_landed + ls_armed_status + ls_master_status == 3 then
f_after_landing_TS()
end
-- otherwise lets do things if the master is on
if ls_master_status == 1 then
f_decide_TS()
end
end
function f_decide_TS()
if not (l_check and f_check_TS()) then
return
end
--do nothing if taxi speed is zero or exact
if l_desired_speed == 0 or l_desired_speed == l_ground_speed then
return
end
--we are too slow
if l_ground_speed < l_desired_speed then
f_increase_TS()
else
--we are too fast
f_decrease_TS()
end
end
function f_check_TS()
--Check if user hit toe brake while master on
if ((dr_lbrake_ratio + dr_rbrake_ratio) >= l_toebrake_ratio) then--or ((dr_parkbrake_ratio >= l_toebrake_ratio) and (dr_parkbrake_ratio <= 0.9)) then
--cut throttle and turn off master
ls_master_status = 0
f_set_controls(nil,0.0)
f_change_armed_TS()
return false
else
return true
end
end
function f_increase_TS() --determines how much to adjust the throttle
f_set_controls(0, nil)
--a lot
if l_ground_speed <= (l_desired_speed - 7) then
l_thrtl = 0.375
--not so much
elseif l_ground_speed <= (l_desired_speed - 5) then
l_thrtl = 0.275
--some
elseif l_ground_speed <= (l_desired_speed - 2) then
l_thrtl = 0.2
--a bit
else
l_thrtl = 0.1
end
f_set_controls(0, l_thrtl)
end
function f_decrease_TS() --determines how much to adjust the brake
f_set_controls(0, 0.001)
--a lot
if l_ground_speed >= (l_desired_speed + 7) then
l_brake = 0.4
--not so much
elseif l_ground_speed >= (l_desired_speed + 5) then
l_brake = 0.3
--some
elseif l_ground_speed > (l_desired_speed + 2) then
l_brake = 0.2
--a bit
else
l_brake = .1
end
--Toliss brakes need more
if l_toliss == 1 then
l_brake = l_brake + 0.5
end
f_set_controls(l_brake,0.001)
end
function f_first_run_TS() --First run through the script syncs thing
f_set_controls(ls_brake_status,nil)
f_check_better_pushback()
l_default_check = nil
end
function f_after_landing_TS()
if l_counter % 3 == 0.0 then
--Retract flaps and spoilers when speed is under the set speed
if l_ground_speed < l_flap_splr_speed then
if ls_flaps_AL == 1 and dr_flap_ratio ~= 0.00 then
command_once("sim/flight_controls/flaps_up")
set("sim/cockpit2/controls/flap_ratio",0.00)
end
if ls_spoilers_AL == 1 then
if dr_speedbrake_ratio ~= 0.00 or dr_speedbrake_ratio < 0 then
command_once("sim/flight_controls/speed_brakes_up_all")
set("sim/cockpit2/controls/speedbrake_ratio", 0.00)
end
end
end
end
l_counter = l_counter + 1
--Engage the taxi hold if armed and within 10 knots
if ls_taxi_AL == 1 and l_ground_speed < (l_desired_speed + 10) then
ls_taxi_AL = 0
ls_master_status = 1
end
if ls_flaps_AL == 1 and dr_flap_ratio == 0.00 and l_counter > 15 then
ls_flaps_AL = 0
end
if ls_spoilers_AL == 1 and dr_speedbrake_ratio == 0.00 and l_counter > 15 then
ls_spoilers_AL = 0
end
if ls_spoilers_AL + ls_flaps_AL + ls_taxi_AL == 0.00 then
l_we_landed = 0
end
end
function f_check_better_pushback()
file = io.open("Resources"..DIRECTORY_SEPARATOR.."plugins"..DIRECTORY_SEPARATOR.."BetterPushback"..DIRECTORY_SEPARATOR.. "64" ..DIRECTORY_SEPARATOR.. "win.xpl", "r")
if file == nil then
l_better_pb = 0
return
else
l_better_pb = 1
end
file:close()
end
--============ FWLUA CALLS
do_often("f_do_often_TS()")
do_on_mouse_wheel("f_mouse_wheel_TS()")
do_every_draw("f_draw_TS()")
do_on_mouse_click("f_mouse_click_TS()")
--[[ If you have an A319 that isn't from Toliss and uses standard datarefs then
at top of script either place two hyphens/minus signs infront of the following
lines to make the script look like this:
(safest option if you later purchase the Toliss)
--if PLANE_ICAO ~= "A319" then
dataref("dr_throttle", "sim/cockpit2/engine/actuators/throttle_ratio_all", "readonly")
dataref("dr_parkbrake_ratio", "sim/cockpit2/controls/parking_brake_ratio","readonly")
l_toliss = nil
--else --its an A319, hopefully toliss if its not a Toliss A319 the see end of script for directions
-- dataref("dr_throttle", "AirbusFBW/throttle_input", "readonly", 0)
-- dataref("dr_throttle_1", "AirbusFBW/throttle_input", "readonly", 1)
-- dataref("dr_toliss_park_brake", "AirbusFBW/ParkBrake", "readonly")
-- l_toliss = 1
--end
OR:
Delete those same lines so it looks like this
dataref("dr_throttle", "sim/cockpit2/engine/actuators/throttle_ratio_all", "readonly")
dataref("dr_parkbrake_ratio", "sim/cockpit2/controls/parking_brake_ratio","readonly")
l_toliss = nil ]]