1
0
mirror of https://github.com/metrostroi-repo/MetrostroiAddon.git synced 2026-05-02 00:42:29 +00:00

Temporary commit just to switch to the base branch

This commit is contained in:
Moon Horse
2024-04-18 19:49:19 +03:00
parent 0027160c2d
commit 61952affe8
12 changed files with 119 additions and 61 deletions

View File

@@ -75,13 +75,14 @@ function TRAIN_SYSTEM:Initialize(parameters,extra_parameters)
-- Should relay be spring-returned to initial position
parameters.returns = parameters.returns or (not parameters.latched)
-- Trigger level for the relay
parameters.trigger_level = parameters.trigger_level or 0.2*math.random() + 0.4
--parameters.trigger_level = parameters.trigger_level or 0.15*math.random() + 0.2
parameters.trigger_level = parameters.trigger_level or 0.002*math.random() + 0.001 -- 100300 mA in percentage of 80 A (coil hold current)
-- relay coil resistance, Ohm
parameters.coil_res = parameters.coil_res or math.random(100,300)
for k,v in pairs(parameters) do
self[k] = v
end
----------------------------------------------------------------------------
-- Relay parameters
if self.close_time == 0 then
@@ -289,6 +290,11 @@ function TRAIN_SYSTEM:Think(dT)
self.Value = self.TargetValue
self.SpuriousTripTimer = nil
end
-- Register new relay as current consumer
if self.Train.Battery and self.Train.Battery.Consumers and not self.Train.Battery.Consumers[self] then
--print("Registering relay",self, "Train: ", self.Train)
self.Train.Battery.Consumers[self] = {0,self.coil_res}
end
-- Switch relay
if self.ChangeTime and (self.Time > self.ChangeTime) and not self.SpuriousTripTimer then
-- Electropneumatic relays make this sound
@@ -340,6 +346,7 @@ function TRAIN_SYSTEM:Think(dT)
end
end
self.Value = self.TargetValue
self.Train.Battery.Consumers[self][1] = self.Value
self.ChangeTime = nil
-- Age relay a little