Autospeed: improvements

This commit is contained in:
Sidi Liang 2020-01-20 17:02:32 +08:00
parent 28013f6b29
commit d56b603e81
2 changed files with 31 additions and 23 deletions

View File

@ -2,22 +2,30 @@
print("Auto speed system loaded");
var active = 0;
var targetSpeed = 0;
var mode = 1;#//1:Hold 2:Auto Speed
var leftBrakes = props.getNode("/controls/gear/brake-left",1);
var rightBrakes = props.getNode("/controls/gear/brake-right",1);
var throttleNode = props.getNode("/controls/engines/engine/throttle",1);
var autoSpeedMainLoop = func(){
if(leftBrakes.getValue() == 1 or rightBrakes.getValue() == 1 or throttleNode.getValue() == 1){ #//Stop if full brakes or full throttle are manually applied
stopAutoSpeed();
}
var currentSpeed = props.getNode("/", 1).getValue("sim/multiplay/generic/float[15]");
var deltaSpeed = targetSpeed - currentSpeed;
var throttle = 0;
var brakes = 0; #//range from 0 to 1;
if(deltaSpeed > 0){
throttle = deltaSpeed / targetSpeed;
throttle = deltaSpeed/targetSpeed - 0.05; #// Max throttle 0.95
}else if(deltaSpeed <= -1.852){
throttle = 0;
brakes = (0 - deltaSpeed) / targetSpeed;
brakes = ((0 - deltaSpeed) / targetSpeed) - 0.2; #// Max brake 0.8
}else{
throttle = 0;
}
props.getNode("/",1).setValue("/controls/engines/engine/throttle", throttle);
props.getNode("/",1).setValue("/controls/gear/brakes-left", brakes);
props.getNode("/",1).setValue("/controls/gear/brakes-right", brakes);
throttleNode.setValue(throttle);
leftBrakes.setValue(brakes);
rightBrakes.setValue(brakes);
}
var autoSpeedTimer = maketimer(0.05,autoSpeedMainLoop);
@ -29,26 +37,29 @@ var startAutoSpeed = func(){
var stopAutoSpeed = func(){
autoSpeedTimer.stop();
props.getNode("/sim/messages/copilot",1).setValue("ze dong chao sue see tong yee guan bee. Auto Speeding System is off.");
active = 0;
throttleNode.setValue(0);
}
var toggleAutoSpeed = func(){
if(!autoSpeedTimer.isRunning)
{
mode = 2;
startAutoSpeed();
props.getNode("/sim/messages/copilot",1).setValue("ze dong chao sue see tong yee tse yung. Auto Speeding System Activated!");
}
else
{
stopAutoSpeed();
props.getNode("/sim/messages/copilot",1).setValue("ze dong chao sue see tong yee guan bee. Auto Speeding System is off.");
}
}
var toggleSpeedHold = func(){
if(!autoSpeedTimer.isRunning)
{
mode = 1;
startAutoSpeed();
targetSpeed = props.getNode("/", 1).getValue("sim/multiplay/generic/float[15]");
props.getNode("/sim/messages/copilot",1).setValue("bao chie chao sue see tong yee tse yung. Keep Speeding System Activated! Target Speed: "~sprintf("%.1f", targetSpeed*1.852));
@ -56,7 +67,6 @@ var toggleSpeedHold = func(){
else
{
stopAutoSpeed();
props.getNode("/sim/messages/copilot",1).setValue("bao chie chao sue see tong yee guan bee. Keep Speeding System is off.");
}
}
var targetSpeedChange = func(speed){

View File

@ -7,7 +7,7 @@
<author>Gijs de Rooy, 李维昊Weihao Li, 梁思地Sidi Liang, 罗启元Qiyuan LuoValKmjolnir</author>
<status>early production</status>
<long-description>
An electronic, High-Performance version of a follow me car with Chinese characteristics.
An electronic, High-Performance version of a follow me car (Renault Kangoo I) with Chinese characteristics.
</long-description>
<gui><style><colors>
@ -23,7 +23,7 @@
</splash-screen>
</colors></style></gui>
<previews>
<previews>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
@ -191,11 +191,10 @@
<tags>
<tag>groundvehicle</tag>
<tag>1970s</tag>
<tag>1980s</tag>
<tag>1990s</tag>
<tag>2000s</tag>
<tag>2010s</tag>
<tag>2020s</tag>
</tags>
<flight-model>jsb</flight-model>
@ -211,6 +210,7 @@
<path>Aircraft/followme_e-tron/followme-sound.xml</path>
<switch type = "bool"></switch>
</sound>
<view n="/0">
<internal archive="y">true</internal>
<config>
@ -221,37 +221,31 @@
<default-field-of-view-deg type="double">90</default-field-of-view-deg>
</config>
</view>
<view n="1">
<config>
<target-y-offset-m archive="y" type="double">1.6</target-y-offset-m>
</config>
</view>
<view n="2">
<config>
<target-y-offset-m archive="y" type="double">1.6</target-y-offset-m>
</config>
</view>
<view n="3">
<config>
<target-y-offset-m archive="y" type="double">1.6</target-y-offset-m>
</config>
</view>
<view n="4">
<config>
<target-y-offset-m archive="y" type="double">1.6</target-y-offset-m>
</config>
</view>
<view n="5">
<config>
<target-y-offset-m archive="y" type="double">1.6</target-y-offset-m>
</config>
</view>
<view n="6">
<config>
<target-y-offset-m archive="y" type="double">1.6</target-y-offset-m>
@ -304,7 +298,7 @@
</key>
<key>
<name>f</name>
<desc>Toggle false indicator light</desc>
<desc>Toggle fault indicator light</desc>
</key>
<key>
<name>[</name>
@ -323,7 +317,7 @@
<desc>Toggle auto-cruise system</desc>
</key>
<text>
You can select the message to be displayed on the bar, through the "Follow Me E > Select message" menu.
You can select the message to be displayed on the bar, through the "Follow Me EV > Select message" menu.
</text>
<text>
For more options, see "Follow Me EV > Show Options" menu.
@ -332,8 +326,14 @@
e-tron Brought to you by FGPRC.
</text>
</help>
<menubar>
<systems>
<autopilot>
<serviceable>0</serviceable>
</autopilot>
</systems>
<menubar>
<default>
<menu n="10">
<label>Follow Me EV</label>
@ -460,8 +460,6 @@
</lighting>
</controls>
<input>
<keyboard>
<key n="91">