diff --git a/FS25_ADSmartPickup/modDesc.xml b/FS25_ADSmartPickup/modDesc.xml index a558a5a..cd4cbf4 100644 --- a/FS25_ADSmartPickup/modDesc.xml +++ b/FS25_ADSmartPickup/modDesc.xml @@ -1,7 +1,7 @@ masterdraco - 1.25.0.0 + 1.26.0.0 <en>AD Smart Pickup</en> diff --git a/docs/BRUGERMANUAL.md b/docs/BRUGERMANUAL.md index 957dfca..9f615c3 100644 --- a/docs/BRUGERMANUAL.md +++ b/docs/BRUGERMANUAL.md @@ -1,6 +1,6 @@ # AD Smart Pickup — brugermanual -Version 1.25.0 · Farming Simulator 25 · tillæg til AutoDrive +Version 1.26.0 · Farming Simulator 25 · tillæg til AutoDrive *English version: [USER_MANUAL.md](USER_MANUAL.md)* @@ -28,7 +28,7 @@ Moden kan to ting: 7. [Traktorer og vogne](#7-traktorer-og-vogne) 8. [Start, stop og gemning](#8-start-stop-og-gemning) 9. [Lagerfanerne: beholdning og statistik](#9-lagerfanerne-beholdning-og-statistik) -10. [Markarbejde: græs, kløver og lucerne](#10-markarbejde-græs-kløver-og-lucerne) +10. [Markarbejde: alle marker](#10-markarbejde-alle-marker) 11. [Opskrifter](#11-opskrifter) 12. [Fejlfinding](#12-fejlfinding) 13. [Ordliste](#13-ordliste) @@ -127,7 +127,7 @@ Tryk **ESC** og vælg fanen **Smart Pickup**. Fanen har syv underfaner: |---|---| | **Overblik** | Tabel over alle flows og Wait-puljerne | | **Flows** | Redigering af det valgte flow | -| **Marker** | Markarbejde på græs-, kløver- og lucernemarker (kapitel 10) | +| **Marker** | Markarbejde på alle marker: slå, høst, klargøring, såning, pleje (kapitel 10) | | **Fabrikker** | Beholdning og statistik for gårdens fabrikker | | **Siloer** | Beholdning og statistik for gårdens siloer | | **Stalde** | Beholdning og statistik for gårdens stalde | @@ -523,83 +523,93 @@ Varer, der ikke bruges på gården, har en streg under **Rækker til**. Varer ud --- -## 10. Markarbejde: græs, kløver og lucerne +## 10. Markarbejde: alle marker -Fanen **Marker** sender selv maskinerne ud til gårdens slåafgrøder (græs, kløver og lucerne). -AutoDrive kører på vejen, Courseplay arbejder på marken, og Smart Pickup bestemmer hvilken mark, -hvilket trin og hvilken maskine. Kræver **Courseplay** ud over AutoDrive. +Fanen **Marker** kører gårdens marker: slåafgrøder (græs, kløver, lucerne), høstafgrøder (korn, raps, +majs, roer, kartofler …), klargøring og såning efter høst, og pleje mens afgrøden vokser. AutoDrive kører +på vejen, Courseplay arbejder på marken, og Smart Pickup bestemmer hvilken mark, hvilket trin og hvilke +maskiner. Kræver **Courseplay** ud over AutoDrive. -| Plan | Trin | +| Markens art | Kæde | |---|---| -| **Ensilage** | Slås → (Rives) → Samles op → silo | -| **Hø** | Slås → Vendes → (Rives) → Samles op → silo | +| **Slåafgrøde, Ensilage** | Slås → (Rives) → Samles op → gæringssilo/silo | +| **Slåafgrøde, Hø** | Slås → Vendes → (Rives) → Samles op → silo | +| **Høstafgrøde** | Høstes (+ aflæsningsvogne) → Efter høst | +| **Efter høst / bar mark** | (Stub hakkes) → (Kalkes) → Pløjes eller Kultiveres → (Sås) → (Tromles) | +| **Pleje mens afgrøden vokser** | Gødes · Ukrudt bekæmpes · Kalkes — når jorden trænger | ### Opsætning -1. **En markør pr. mark.** Lav en AutoDrive-markør ved markkanten med navnet `F` + marknummeret, - fx `F109` for mark 109. Maskinerne kører dertil ad vejen, før Courseplay tager over. Markøren - må højst ligge 400 m fra marken. Mangler den, står marken med `!` og sendes ikke ud. -2. **Faste sæt.** Redskabet skal sidde på traktoren (eller være selvkørende). Moden kobler aldrig - redskaber på. -3. **Markflåde.** Nederst på fanen står alle køretøjer med slåmaskine, vender, river eller læssevogn - med rolle og aktuel arbejdsbredde. Sæt flueben ved dem, moden må sende ud. Køretøjer i et flow, - og køretøjer du selv sidder i, bliver aldrig brugt. -4. **Parkering.** Sæt en AutoDrive-parkeringsplads på hvert sæt. Når et sæt er færdigt på marken, - kører det dertil. Uden parkering bliver det stående ved marken. +1. **En markør pr. mark.** Lav en AutoDrive-markør ved markkanten med navnet `F` + marknummeret, fx + `F109`. Maskinerne kører dertil ad vejen, før Courseplay tager over. Højst 400 m fra marken. Mangler + den, står marken med `!` og sendes ikke ud. +2. **Faste sæt.** Redskabet skal sidde på traktoren (eller være selvkørende). Moden kobler aldrig på. +3. **Markflåde.** Nederst på fanen står alle køretøjer med et markredskab, med rolle og bredde. Sæt + flueben ved dem, moden må sende ud. Køretøjer i et flow, køretøjer AutoDrive/Courseplay allerede kører, + og køretøjer du selv kører, bruges aldrig. En sprøjte/spreder har først en rolle, når den har fyld på + (gødning → gødningsspreder, kalk → kalkspreder, sprøjtemiddel → ukrudtsmaskine). +4. **Parkering.** Sæt en AutoDrive-parkering på hvert sæt (på redskabet). Færdige sæt kører dertil. ### Bredde -- Courseplay kan højst køre **50 m** bredt. Et sæt over 50 m sendes ikke ud (`!! over 50 m` i - markflåden). -- **Vender og river** kører hele marken i deres egen bredde med deres eget kursus. De må gerne være - smallere end slåmaskinen. -- **Læssevognen** skal ramme skårene og kører derfor et kopieret kursus: - - **uden Riv:** slåmaskinens kursus, og vognen skal være **mindst lige så bred som slåbredden**. - - **med Riv:** rivens kursus, og vognens bredde er ligegyldig. Moden **måler, hvor riven lægger - skåret** (midt i banen eller ude til siden) og forskyder læssevognen tilsvarende med Courseplays - værktøjsforskydning. Vognens egen indstilling sættes tilbage bagefter. Målingen står under marken. -- Har du kun smalle standardvogne, så slå **Riv** til på marken (også ved ensilage). Med Unrealistic Pack: sæt slåmaskinen og - læssevognene til samme bredde, fx 40,8 m. +- Courseplay kan højst køre **50 m** bredt. Moden bruger Courseplays egen bredde (den i HUD'en). +- **Vender, river, jordbehandling, såning, pleje og høst** kører marken i deres egen bredde. +- **Læssevognen** skal ramme skårene og kører et kopieret kursus: + - **uden Riv:** slåmaskinens kursus, og vognen skal være mindst lige så bred som slåbredden. + - **med Riv:** rivens kursus, og vognens bredde er ligegyldig. Moden måler, hvor riven lægger skåret + (midt i banen eller ude til siden), og forskyder læssevognen tilsvarende. Målingen står under marken. +- Har du kun smalle standardvogne, så slå **Riv** til. ### En mark -Klik på en mark i tabellen for at vælge den. Under tabellen står: +Klik på en mark i tabellen. Under tabellen står: | Valg | Betydning | |---|---| -| **Plan** | Ensilage eller Hø | -| **Kørsel** | *Manuel*: marken venter på **Start nu**. *Auto*: marken starter selv, når den er klar | -| **Riv** | Riv skårene sammen før opsamling (hø og ensilage). Standard fra. Slå til ved smalle læssevogne | -| **Tving lager** | Vælg lagre. Uden valg: **ensilage** går til nærmeste **gæringssilo** (en produktion der laver skår om til ensilage, fx FermentingSiloPack) med plads, ellers nærmeste silo. **Hø** går kun i almindelige siloer, aldrig i en gæringssilo | +| **Kørsel** | *Manuel*: marken venter på **Start nu**. *Auto*: den starter selv, når den er klar eller trænger til pleje | +| **Maskiner pr. trin** | 1–5 sæt samtidig (Courseplays multi-tool). Et trin starter først når alle sæt er ledige | +| **Plan** (slåafgrøde) | Ensilage eller Hø | +| **Riv** (slåafgrøde) | Riv skårene sammen før opsamling | +| **Aflæsningsvogne** (høst) | 1–3 vogne der følger høsteren og kører til lager | +| **Stubbehakning** | Hak stubben efter høst | +| **Jordbehandling** | Auto (pløj når jorden trænger, ellers kultivér), Kultivér, Pløj eller Ingen | +| **Så bagefter** + **Afgrøde at så** | Så efter jordbehandlingen. Standard: samme afgrøde som blev høstet | +| **Tromle** | Tromle efter såning | +| **Gød / Kalk / Bekæmp ukrudt** | Pleje mens afgrøden vokser, når jorden trænger (højst to gange pr. pleje pr. vækst) | +| **Tving lager** | Vælg lagre. Uden valg: ensilage → nærmeste gæringssilo, ellers silo; hø og høst → nærmeste silo | -En mark er **klar**, når mindst 90 % af den står i høstvinduet. Status viser andelen, fx `Venter 72 %`. -**Start nu** virker fra 50 %. **Stop mark** stopper maskinerne på marken, og marken står klar igen. +Under valgene står **Jorden trænger til** (kalk, pløjning, gødning, ukrudt), markøren og evt. slåbredde og +skår-forskydning. -**Marksilo:** en silo højst 150 m fra marken er et mellemlager med korte ture. Moden viser -`! Marksilo … tømmes ikke hjem`, hvis intet *Ud fra bygning*-flow har den som kilde. Lav et sådant -flow for at få ensilagen hjem på gården. +En mark er **klar**, når mindst 90 % står i høstvinduet. **Start nu** starter hele kæden (eller pleje, hvis +marken vokser og trænger). På en bar mark starter den klargøring/såning. **Stop mark** stopper maskinerne. + +### Vejr, påfyldning og beskeder + +- **Regn:** høst, slåning, vending, rivning og hø-opsamling sendes ikke ud, mens det regner ("venter på + tørvejr"). Maskiner, der allerede kører, fortsætter. Jordbehandling, såning og pleje kører i regn. +- **Påfyldning:** når en såmaskine eller sprøjte/spreder bliver tom, kører AutoDrive den selv til nærmeste + sted, der har varen, fylder op og kører tilbage, og Courseplay fortsætter. +- **Såperiode:** en afgrøde, der ikke kan sås i den aktuelle periode, venter med grund. +- **Beskeder:** grøn besked når en mark er færdig, rød ved fejl. +- **Marksilo:** en silo højst 150 m fra marken er et mellemlager. `!` hvis intet *Ud fra bygning*-flow + tømmer den hjem. ### Status og grunde | Status | Betyder | |---|---| -| **Venter / Klar** | Marken vokser / er klar (Manuel venter på Start nu) | -| **Slås, Vendes, Rives, Samles op** | Trinnet er i gang | -| **Færdig** | Alle trin er færdige. Marken bliver *Klar* igen, når den er vokset | -| `venter på ledig slåmaskine` | Alle sæt med rollen er optaget | -| `læssevogn for smal: 20 m < slåbredde 40,8 m` | Sæt læssevognens bredde op | +| **Venter / Klar** | Vokser / klar (Manuel venter på Start nu). Med "— trænger til …" når pleje er nødvendig | +| **Slås, Vendes, Rives, Samles op, Høstes, Kultiveres, Pløjes, Sås, Tromles, Gødes …** | Trinnet er i gang | +| **Færdig** | Kæden er færdig. Marken bliver *Klar* igen, når den er vokset | +| `venter på ledig …` | Alle sæt med rollen er optaget | +| `multi-tool: … kun 2 af 3 ledige` | For få ledige sæt til "Maskiner pr. trin" | +| `ingen … kan tage opgaven` | Fx høster med forkert skærebord eller såmaskine der ikke kan så afgrøden | +| `venter på tørvejr` | Regn | | `Courseplay kunne ikke lave kursus` | Nyt forsøg efter 5 minutter | -Loglinjerne i `log.txt` begynder med `ADSmartPickup: F109 …`. - -### Første test - -1. Sæt én græsmark til **Manuel** og **Ensilage**, med `F`-markør og én slåmaskine og én - læssevogn med flueben. -2. Tryk **Start nu**. Slåmaskinen kører til markøren, Courseplay slår marken, og sættet kører hjem. -3. Læssevognen kører ud. Når den er fuld, tømmer AutoDrive den i siloen og kører tilbage, og - Courseplay fortsætter. Marken står **Færdig**. -4. Prøv derefter **Hø** og til sidst **Auto**. +Loglinjerne i `log.txt` begynder med `ADSmartPickup: F109 …`. En samlet testliste står i +`docs/TESTPLAN-markarbejde.md`. ## 11. Opskrifter diff --git a/docs/TESTPLAN-markarbejde.md b/docs/TESTPLAN-markarbejde.md new file mode 100644 index 0000000..0e81482 --- /dev/null +++ b/docs/TESTPLAN-markarbejde.md @@ -0,0 +1,145 @@ +# Testplan — Markarbejde (fanen Marker), version 1.26.0.0 + +Stor test-session. Kør testene i rækkefølge: de første bygger opsætningen, de senere bygger på den. +Hver test har **Gør**, **Forvent** og **Log** (linjer i `log.txt`, der beviser at det virkede). Loglinjer +begynder altid med `ADSmartPickup: F`. + +Kryds af undervejs. Skriv resultatet (OK / FEJL + hvad der skete) ud for hver test, så retter vi i +samme rækkefølge. + +--- + +## 0. Forberedelse + +- [ ] **0.1 Version.** Log: `Available mod: … (Version: 1.26.0.0) FS25_ADSmartPickup`. +- [ ] **0.2 Fanen Marker åbner.** ESC → Smart Pickup → fanen **Marker**. Forvent: "Marker indlæses …" + i få sekunder, derefter én række pr. ejet mark (også korn-, roe- og bare marker, ikke kun græs). + Afgrøde-kolonnen viser afgrøden eller "bar jord". +- [ ] **0.3 F-markører.** Marker uden `F`-markør står med `!` foran marknummeret og "! mangler + markør F…". Lav markører til de marker, der skal testes. +- [ ] **0.4 Markflåden.** Nederst: alle maskiner med slåmaskine, vender, river, læssevogn, høster, + aflæsningsvogn, kultivator, plov, såmaskine, tromle, strigle/sprøjte, gødnings-/kalkspreder, + stubhakker — med rolle og bredde. Tjek: + - [ ] Høstere viser "N afgrøder". + - [ ] Såmaskiner viser "frø ok" eller "!! tom for frø". + - [ ] Strigle viser "strigle (småt ukrudt)", ukrudtssprøjte viser "sprøjte". + - [ ] En **tom** sprøjte/spreder vises ikke (den har ingen rolle før den har fyld på). + - [ ] Maskiner i et Smart Pickup-flow kan godt ses, men sendes aldrig ud. +- [ ] **0.5 Bredder.** BiG M 450 viser **40,8 m** (Courseplays egen bredde), læssevognene 40,8 m. + +## 1. Etape 1 genbekræftet (græs → ensilage) + +Rest fra 25/9: slåning og opsamlingsstart virkede; afslutningen blev aldrig set. + +- [ ] **1.1 Afslutning af opsamling.** Mark 22 (eller en anden lille græsmark) på Manuel + Ensilage, + BiG M + én Boss Alpin med flueben → **Start nu**. + - Forvent: slåmaskine → F22 → Courseplay slår → hjem. Læssevogn → F22 → Courseplay samler op med + **slåmaskinens kursus** → AutoDrive tømmer ved fuld → tilbage → færdig → rest til lager → parkering. + Marken står **Færdig**, og der kommer en grøn besked "F22 er færdig". + - Log: `mower … sendt til F22`, `Courseplay startet (mower)`, `mowing -> collecting`, + `læssevogn … aflæsser i `, `Courseplay startet (collector, mower-kursus kopieret)`, + `collector … færdig`, `collecting -> done`. +- [ ] **1.2 Gæringssilo.** Ensilage-læs går til nærmeste **gæringssilo** (FermentingSilo/GrassSilageSilo), + ikke en Farma-silo. Log: `aflæsser i ` eller `ingen gæringssilo kan tage græsset (…)`. +- [ ] **1.3 Sidde i maskinen.** Sæt dig i slåmaskinen mens Courseplay kører, og stig ud igen. + Forvent: den slippes IKKE (ingen `frigivet`-linje). Kør selv > 3 km/t uden CP → `frigivet — spilleren kører det`. +- [ ] **1.4 Sovende køretøj.** Parkerede maskiner kører af sted med det samme ved udsendelse, uden at + du skal sætte dig ind. + +## 2. Hø og river + +- [ ] **2.1 Hø uden river.** Plan = **Hø**, Riv = Nej. Slå → **Vendes** (venderen i sin egen bredde) → + Samles op (læssevogn på slåkurset, ≥ 40,8 m) → hø-silo (kun almindelig silo, aldrig gæringssilo). + Log: `mowing -> tedding`, `Courseplay startet (tedder)`, `tedding -> collecting`. +- [ ] **2.2 Smal læssevogn uden river.** En læssevogn under 40,8 m → status "læssevogn for smal: + … — sæt Riv til eller brug en bredere". +- [ ] **2.3 Riv (midterrive).** Riv = Ja. Log: `river lægger skåret 0.x m fra sin kursuslinje`, + derefter `Courseplay startet (collector, rake-kursus kopieret)`. Læssevognen rammer skårene. +- [ ] **2.4 Sideriver.** Med en river der lægger skåret til siden: log viser fx `3.2 m`, og + `skår ligger 3.2 m til … -> læssevognens forskydning …`. **Tjek at vognen kører OVER skåret.** + Kører den ved siden af (forkert side), så skriv det ned — så vender jeg fortegnet. +- [ ] **2.5 Riv til ensilage.** Plan = Ensilage + Riv = Ja: Slå → Rives → Samles op. + +## 3. Høst (korn, raps, majs …) + +- [ ] **3.1 Høst.** En moden kornmark, Manuel, høster med passende skærebord + én aflæsningsvogn + (traktor + tipvogn/overlæssevogn) med flueben → **Start nu**. + - Forvent: høster → F-markør → Courseplay høster. Aflæsningsvognen sendes ud når høsteren + arbejder, følger den (Courseplays combine-unloader) og kører fulde læs til siloen. + - Log: `harvester … sendt`, `Courseplay startet (harvester)`, `unloader … sendt`, + `aflæsningsvogn … følger høsteren -> `. +- [ ] **3.2 Afslutning.** Høsten færdig → `harvesting -> `, + `aflæsningsvogn … stoppes — høsten er færdig`, evt. `kører rest-læs … til lager`, parkering. +- [ ] **3.3 Forkert skærebord.** Høster der ikke kan tage afgrøden → status "ingen høster i + markflåden kan tage opgaven (afgrøde/frø/ukrudt)". Ingen udsendelse. +- [ ] **3.4 Flere aflæsningsvogne.** "Aflæsningsvogne under høst" = 2 → to vogne sendes (én ad gangen). +- [ ] **3.5 Regn.** Når det regner: høst/slå/vend/riv sendes ikke ud, status "venter på tørvejr". + Kørende maskiner fortsætter. + +## 4. Roer + +- [ ] **4.1 Roehøst.** Roemark (sukkerroer), roeoptager (Ropa) + aflæsningsvogn → som 3.1, men med + roer. Log viser `harvester 'Ropa …'`. Roerne går til nærmeste silo/lager der tager SUGARBEET + (brug **Tving lager** hvis de skal et bestemt sted hen, fx roeknuseren). + +## 5. Efter høst: klargøring og såning + +Sæt på en kornmark før høst: Efter høst → Stubbehakning Nej, Jordbehandling **Auto**, **Så bagefter** Ja, +Afgrøde "Samme som høstet", Tromle Ja. Kalk Ja. + +- [ ] **5.1 Kæde.** Efter høsten fortsætter marken selv: (kalk hvis jorden trænger) → pløj eller + kultivér → så → tromle → **Færdig**. Log: `harvesting -> cultivating`, `cultivating -> sowing` … +- [ ] **5.2 Auto-jordbehandling.** Står "Jorden trænger til: pløjning" under marken → plov sendes. + Ellers kultivator. +- [ ] **5.3 Såning.** Såmaskinen sættes til afgrøden (`setSeedIndex`), og den rigtige afgrøde spirer. +- [ ] **5.4 Ude af såperioden.** Afgrøde der ikke kan sås nu → status " kan ikke sås i denne + periode", ingen udsendelse. +- [ ] **5.5 Tom for frø / påfyldning.** Såmaskine med lidt frø: når den er tom midt på marken, kører + AutoDrive selv til nærmeste frø-påfyldning, fylder op, kører tilbage, og Courseplay fortsætter. + Log: `… fyldes op med SEEDS af AutoDrive når den er tom`. (Kræver et sted AutoDrive kan læsse frø.) +- [ ] **5.6 Bar mark alene.** Vælg en bar mark (stub/pløjet) → **Start nu** → kun klargøring/såning. + +## 6. Pleje mens afgrøden vokser + +- [ ] **6.1 Behov vises.** En voksende mark viser "Jorden trænger til: gødning, ukrudt …" og status + "— trænger til Gødes". Manuel: intet sker før **Start nu**. +- [ ] **6.2 Gødning.** Start nu (eller Auto) → gødningsspreder/-sprøjte med fyld sendes → `pleje: + fertilizing` → `fertilizing -> idle`. Højst 2 gange pr. vækstcyklus. +- [ ] **6.3 Ukrudt.** Høstafgrøde med tæt ukrudt → strigle (småt ukrudt) eller ukrudtssprøjte + (stort ukrudt, > 4). Græs ukrudtsbehandles ikke. +- [ ] **6.4 Kalk.** Jord der trænger til kalk → kalkspreder. +- [ ] **6.5 Påfyldning.** Sprøjte/spreder der løber tør → AutoDrive fylder op og kører tilbage. + +## 7. Multi-maskine (Courseplay multi-tool) + +- [ ] **7.1 To slåmaskiner.** "Maskiner pr. trin" = 2 på en græsmark med to BiG M med flueben. + Forvent: begge sendes samtidig, den ene laver kurset (`bane -1`), den anden kopierer det (`bane 1`) + og de kører i konvoj. Log: `… sendt … bane -1`, `… bane 1`, `Courseplay startet (mower, bane -1)`, + `Courseplay startet (mower, multi-kursus kopieret, bane 1)`. +- [ ] **7.2 For få maskiner.** 3 pr. trin men kun 2 ledige → status "multi-tool: slåmaskine — kun 2 af 3 ledige". +- [ ] **7.3 Læssevogne på multi-kursus.** Efter 7.1 sendes 2 læssevogne, én pr. bane. + +## 8. Robusthed + +- [ ] **8.1 Genindlæsning midt i et trin.** Gem og genstart under fx opsamling → marken fortsætter på + samme trin, sæt sendes ud igen, slåkurset hentes fra slåmaskinen. +- [ ] **8.2 Stop mark.** **Stop mark** midt i høst → alle maskiner på marken stopper; høst står **Klar** + igen, pleje/klargøring står **Venter**. +- [ ] **8.3 Ingen vej.** Mark hvis F-markør ikke er forbundet → status "… nåede ikke F…" / "intet lager: + … AutoDrive finder ingen rute …" og nyt forsøg efter 5 min. +- [ ] **8.4 Beskeder.** Grøn besked når en mark/pleje er færdig; rød besked ved fejl (hver kun én gang i træk). +- [ ] **8.5 Ydelse.** Ingen mærkbar lag med fanen åben og mange marker (én mark scannes pr. sekund). + +--- + +## Kendte usikkerheder (første gang i spillet) + +| Område | Hvad der er gættet | Tegn på fejl | +|---|---|---| +| Vækstfase | `getFieldDataAtWorldPosition` anden returværdi = vækststadie | Høstet stub vises som voksende, eller moden mark som bar | +| Høsterens afgrøder | `spec_cutter.fruitTypes`/`fruitTypeIndices` | Høster vises med "0 afgrøder" | +| Combine-unloader | stationsvalg ud fra silovalget | `ingen aflæsningsstation Courseplay kan bruge` | +| Multi-tool | `multiTools` + `laneOffset` + `Course:setPosition` | Begge maskiner kører samme bane | +| Sideriver | fortegn på forskydningen | Læssevognen kører ved siden af skåret | +| Påfyldning | AutoDrive LOAD med automatisk påfyldningsmål | Sættet står stille når det er tomt | +| Ukrudt | `weedSystem`-værdi ≥ 2 = tæt | Ukrudtsbehandling uden ukrudt, eller aldrig | diff --git a/docs/USER_MANUAL.md b/docs/USER_MANUAL.md index d764f57..099c3a5 100644 --- a/docs/USER_MANUAL.md +++ b/docs/USER_MANUAL.md @@ -1,6 +1,6 @@ # AD Smart Pickup — user manual -Version 1.25.0 · Farming Simulator 25 · add-on for AutoDrive +Version 1.26.0 · Farming Simulator 25 · add-on for AutoDrive *Dansk version: [BRUGERMANUAL.md](BRUGERMANUAL.md)* @@ -28,7 +28,7 @@ The mod does two things: 7. [Tractors and trailers](#7-tractors-and-trailers) 8. [Start, stop and saving](#8-start-stop-and-saving) 9. [The storage tabs: inventory and statistics](#9-the-storage-tabs-inventory-and-statistics) -10. [Field work: grass, clover and alfalfa](#10-field-work-grass-clover-and-alfalfa) +10. [Field work: all fields](#10-field-work-all-fields) 11. [Recipes](#11-recipes) 12. [Troubleshooting](#12-troubleshooting) 13. [Glossary](#13-glossary) @@ -129,7 +129,7 @@ Press **ESC** and open the **Smart Pickup** tab. It has seven sub-tabs: |---|---| | **Overview** | A table of all flows and the Wait pools | | **Flows** | Editing of the selected flow | -| **Fields** | Field work on grass, clover and alfalfa fields (chapter 10) | +| **Fields** | Field work on all fields: mowing, harvest, preparation, sowing, care (chapter 10) | | **Factories** | Inventory and statistics for the farm's factories | | **Silos** | Inventory and statistics for the farm's silos | | **Barns** | Inventory and statistics for the farm's barns | @@ -529,86 +529,94 @@ selling point*. --- -## 10. Field work: grass, clover and alfalfa +## 10. Field work: all fields -The **Fields** tab sends machines out to the farm's mowable crops (grass, clover and alfalfa) by -itself. AutoDrive drives on the road, Courseplay works the field, and Smart Pickup decides which field, -which step and which machine. Requires **Courseplay** in addition to AutoDrive. +The **Fields** tab runs the farm's fields: mowable crops (grass, clover, alfalfa), harvest crops (grain, +canola, maize, beets, potatoes …), preparation and sowing after harvest, and care while the crop grows. +AutoDrive drives on the road, Courseplay works the field, and Smart Pickup decides which field, which step +and which machines. Requires **Courseplay** in addition to AutoDrive. -| Plan | Steps | +| Field type | Chain | |---|---| -| **Silage** | Mow → (Rake) → Collect → silo | -| **Hay** | Mow → Ted → (Rake) → Collect → silo | +| **Mowable, Silage** | Mow → (Rake) → Collect → fermenting silo/silo | +| **Mowable, Hay** | Mow → Ted → (Rake) → Collect → silo | +| **Harvest crop** | Harvest (+ unloading trailers) → After harvest | +| **After harvest / bare field** | (Mulch) → (Lime) → Plow or Cultivate → (Sow) → (Roll) | +| **Care while the crop grows** | Fertilize · Control weeds · Lime — when the soil needs it | ### Setup 1. **One marker per field.** Create an AutoDrive marker at the field edge named `F` + the field number, - such as `F109` for field 109. Machines drive there on the road before Courseplay takes over. The - marker must be within 400 m of the field. Without it, the field shows `!` and nothing is sent. -2. **Fixed rigs.** The implement must be attached to the tractor (or be self-propelled). The mod never - attaches implements. -3. **Field fleet.** At the bottom of the tab are all vehicles with a mower, tedder, rake or loading - wagon, with role and current working width. Tick the ones the mod may send out. Vehicles in a flow, - and vehicles you are driving, are never used. -4. **Parking.** Set an AutoDrive parking spot on each rig. When a rig is done on the field, it drives - there. Without parking it stays at the field. + such as `F109`. Machines drive there on the road before Courseplay takes over. At most 400 m from the + field. Without it, the field shows `!` and nothing is sent. +2. **Fixed rigs.** The implement must be attached (or self-propelled). The mod never attaches. +3. **Field fleet.** At the bottom are all vehicles with a field implement, with role and width. Tick the + ones the mod may send out. Vehicles in a flow, vehicles AutoDrive/Courseplay are already driving, and + vehicles you drive are never used. A sprayer/spreader only has a role once it holds product + (fertilizer → fertilizer spreader, lime → lime spreader, herbicide → weeding machine). +4. **Parking.** Set an AutoDrive parking spot on each rig (on the implement). Finished rigs drive there. ### Width -- Courseplay can work at most **50 m** wide. A rig over 50 m is not sent out (`!! over 50 m` in the - fleet). -- **Tedder and rake** work the whole field at their own width with their own course. They may be - narrower than the mower. -- **The loading wagon** must hit the swaths, so it drives a copied course: - - **without Rake:** the mower's course, and the wagon must be **at least as wide as the mowing width**. - - **with Rake:** the rake's course, and the wagon's width does not matter. The mod **measures where the - rake drops the swath** (centre or to the side) and offsets the loading wagon to match using - Courseplay's tool offset. The wagon's own setting is restored afterwards. The measurement is shown - under the field. -- If you only have narrow standard wagons, turn **Rake** on for the field (also for silage). With Unrealistic Pack: set the mower and the - loading wagons to the same width, such as 40.8 m. +- Courseplay works at most **50 m** wide. The mod uses Courseplay's own width (the one in its HUD). +- **Tedder, rake, soil work, sowing, care and harvest** work the field at their own width. +- **The loading wagon** must hit the swaths and drives a copied course: + - **without Rake:** the mower's course, and the wagon must be at least as wide as the mowing width. + - **with Rake:** the rake's course, and the wagon's width does not matter. The mod measures where the + rake drops the swath (centre or to the side) and offsets the wagon to match. Shown under the field. +- If you only have narrow standard wagons, turn **Rake** on. ### A field -Click a field in the table to select it. Below the table: +Click a field in the table. Below the table: | Option | Meaning | |---|---| -| **Plan** | Silage or Hay | -| **Mode** | *Manual*: the field waits for **Start now**. *Auto*: the field starts by itself when ready | -| **Rake** | Rake the swaths before collecting (hay and silage). Off by default. Turn on for narrow loading wagons | -| **Force storage** | Pick stores. Without a choice: **silage** goes to the nearest **fermenting silo** (a production that turns swaths into silage, such as FermentingSiloPack) with room, else the nearest silo. **Hay** only goes to ordinary silos, never a fermenting silo | +| **Mode** | *Manual*: the field waits for **Start now**. *Auto*: it starts by itself when ready or when it needs care | +| **Machines per step** | 1–5 rigs at once (Courseplay multi-tool). A step starts only when all rigs are free | +| **Plan** (mowable) | Silage or Hay | +| **Rake** (mowable) | Rake the swaths before collecting | +| **Unloading trailers** (harvest) | 1–3 trailers that follow the harvester and drive to storage | +| **Mulch stubble** | Mulch the stubble after harvest | +| **Soil work** | Auto (plow when the soil needs it, else cultivate), Cultivate, Plow or None | +| **Sow afterwards** + **Crop to sow** | Sow after soil work. Default: the crop that was harvested | +| **Roll** | Roll after sowing | +| **Fertilize / Lime / Control weeds** | Care while the crop grows, when the soil needs it (at most twice per care per season) | +| **Force storage** | Pick stores. Without a choice: silage → nearest fermenting silo, else silo; hay and harvest → nearest silo | -A field is **ready** when at least 90 % of it is in the harvest window. The status shows the share, -such as `Waiting 72 %`. **Start now** works from 50 %. **Stop field** stops the machines on the field, -and the field is ready again. +Below the options: **The soil needs** (lime, plowing, fertilizer, weeds), the marker, and mowing width and +swath offset when relevant. -**Field silo:** a silo within 150 m of the field is an intermediate store with short trips. The mod -shows `! Field silo … is not emptied home` if no *Out of building* flow has it as a source. Create such -a flow to bring the silage home. +A field is **ready** when at least 90 % is in the harvest window. **Start now** starts the whole chain (or +care, when the field grows and needs it). On a bare field it starts preparation/sowing. **Stop field** stops +the machines. + +### Weather, refilling and notifications + +- **Rain:** harvesting, mowing, tedding, raking and hay collecting are not sent out while it rains + ("waiting for dry weather"). Machines already running continue. Soil work, sowing and care run in rain. +- **Refilling:** when a seeder or sprayer/spreader runs empty, AutoDrive drives it to the nearest place + with the product, refills, drives back, and Courseplay continues. +- **Sowing period:** a crop that cannot be sown in the current period waits with a reason. +- **Notifications:** green when a field is done, red on errors. +- **Field silo:** a silo within 150 m of the field is an intermediate store. `!` if no *Out of building* + flow empties it home. ### Status and reasons | Status | Meaning | |---|---| -| **Waiting / Ready** | The field is growing / ready (Manual waits for Start now) | -| **Mowing, Tedding, Raking, Collecting** | The step is running | -| **Done** | All steps are done. The field becomes *Ready* again once it has grown | -| `waiting for a free mower` | All rigs with the role are busy | -| `loading wagon too narrow: 20 m < mowing width 40.8 m` | Increase the loading wagon's width | +| **Waiting / Ready** | Growing / ready (Manual waits for Start now). With "— needs …" when care is due | +| **Mowing, Tedding, Raking, Collecting, Harvesting, Cultivating, Plowing, Sowing, Rolling, Fertilizing …** | The step is running | +| **Done** | The chain is done. The field becomes *Ready* again once it has grown | +| `waiting for a free …` | All rigs with the role are busy | +| `multi-tool: … only 2 of 3 free` | Too few free rigs for "Machines per step" | +| `no … can do the job` | Such as a harvester with the wrong header, or a seeder that cannot sow the crop | +| `waiting for dry weather` | Rain | | `Courseplay could not create a course` | Retried after 5 minutes | -Log lines in `log.txt` start with `ADSmartPickup: F109 …`. - -### First test - -1. Set one grass field to **Manual** and **Silage**, with an `F` marker and one mower and one loading - wagon ticked. -2. Press **Start now**. The mower drives to the marker, Courseplay mows the field, and the rig drives - home. -3. The loading wagon goes out. When it is full, AutoDrive empties it in the silo and drives back, and - Courseplay continues. The field shows **Done**. -4. Then try **Hay**, and finally **Auto**. +Log lines in `log.txt` start with `ADSmartPickup: F109 …`. A full test list is in +`docs/TESTPLAN-markarbejde.md`. ## 11. Recipes