feat(marker): redskaber over 50 m bruges, CP-kursus begrænses til 50 m (v1.61.5.0)
This commit is contained in:
@@ -519,6 +519,24 @@ function ADCpBridge.courseHasHeadlands(course)
|
||||
return not ok or type(n) ~= "number" or n > 0
|
||||
end
|
||||
|
||||
-- Kursusbredde til Courseplay: højst 50 m (CP's grænse; Unrealistic-redskaber kan sættes bredere). nil = urørt.
|
||||
ADCpBridge.CP_MAX_WIDTH = 50
|
||||
function ADCpBridge.cpCourseWidth(width)
|
||||
if type(width) == "number" and width > ADCpBridge.CP_MAX_WIDTH then return ADCpBridge.CP_MAX_WIDTH end
|
||||
return nil
|
||||
end
|
||||
|
||||
local function clampCourseWidth(vehicle)
|
||||
pcall(function()
|
||||
local setting = vehicle:getCourseGeneratorSettings().workWidth
|
||||
local capped = ADCpBridge.cpCourseWidth(setting:getValue())
|
||||
if capped ~= nil then
|
||||
setting:setValue(capped)
|
||||
Logging.info("ADSmartPickup: kursusbredde for '%s' begrænset til %d m (Courseplays maksimum)", tostring(vehicle.getName ~= nil and vehicle:getName() or "?"), capped)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
-- Multi-tool: sæt antal sæt på kursus-generatoren før kurset laves (1 = normalt kursus).
|
||||
local function setMultiTools(vehicle, n)
|
||||
pcall(function() vehicle:getCourseGeneratorSettings().multiTools:setValue(n or 1) end)
|
||||
@@ -619,6 +637,7 @@ function ADCpBridge.start(vehicle, fieldX, fieldZ, onDone, opts)
|
||||
Logging.warning("ADSmartPickup: kunne ikke kopiere kursus: %s — laver nyt", tostring(copyError))
|
||||
end
|
||||
setMultiTools(vehicle, opts.multiTools or 1)
|
||||
clampCourseWidth(vehicle)
|
||||
-- kursusberegningen kører over mange frames på store marker: moden venter længere imens
|
||||
local function generate(headlands)
|
||||
ADCpBridge.setHeadlands(vehicle, headlands)
|
||||
|
||||
Reference in New Issue
Block a user