Doel:€250.00
Donaties:€172.50

Per saldo:€-77.50

Steun ons nu!

Laatst bijgewerkt
op 12-01-2021
Algemeen

De stichting

Recente berichten

Artitec Hondekop IC-uitvoering, model 2020, materieelbespreking. door Spoor010
Vandaag om 23:11:50
Gezocht: Roco motor 85113, of soortgelijk door meino
Vandaag om 23:06:03
Klein Hertogdom Moresnet in H0 door Wim Vink
Vandaag om 22:59:14
Projekt 083-338 door 44
Vandaag om 22:49:44
Roco NS 200/300 Sik, model 2019 door Huup
Vandaag om 22:41:33
Uit en Thuis, de bouw door Klaas Zondervan
Vandaag om 22:25:49
Vragen over keerlus, en benodigde digitale onderdelen. door Juroen
Vandaag om 22:19:40
Pimp my Fleischmann BR01 164 ==> Lofzang op een Fleischmann BR 01 door Karst Drenth
Vandaag om 22:08:21
Ontstaan van module/ diorama baan De Lagerweij door jaco1988
Vandaag om 21:57:44
Toon hier je nieuwe (model-) spooraanwinst(en)... door barry1972
Vandaag om 21:56:26
Digikeijs DR5000 Centrale, productbeschrijving door Karst Drenth
Vandaag om 21:47:26
Electrotren 1300, probleem bij Marklin M-rails wissel. door NL-modelspoor
Vandaag om 21:45:43
Stoomtrein Goes Borsele: Wat zijn we aan het bouwen door barry1972
Vandaag om 21:44:52
Philotrain 3759 door roadster36
Vandaag om 21:36:11
Mijn eerste H0-modeltreinbaan in aanbouw door Frycio82
Vandaag om 21:22:17
3D/RM: Stadler Flirt 3 in 1:160 door Stick
Vandaag om 21:13:22
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door St00mboy
Vandaag om 21:09:12
NL baan: Frotterdam in h0 door SvenW
Vandaag om 21:01:51
LTM-51 Garratt in messing, Spoor-0 door FritsT
Vandaag om 20:50:33
Hoe Nederlandse wisselsteller plaatsen? door Mitchell
Vandaag om 20:37:44
Gezocht: Lima H0 motors door Biesje@work
Vandaag om 20:36:46
Mehano Blue Tiger DCC, loopt slecht. Decoder defect? door hein frunt
Vandaag om 20:34:40
Haven/industrie rangeerbaantje in spoor 0 door Hans_omBC
Vandaag om 20:33:42
Deining in D├Ânsdorf door Basilicum
Vandaag om 20:33:42
Onlangs gespot - gefotografeerd, de foto's door dh3201
Vandaag om 20:22:48
Loof en bladeren, welke leveranciers zijn er? door Wim Janse
Vandaag om 19:37:25
3-weg wissel aansluiten, en terugmelding d.m.v. leds? door Pascal77
Vandaag om 19:13:38
Bad Burgstein door ruben derks
Vandaag om 19:13:19
Falkenheim door Falcon10
Vandaag om 19:08:53
Depot + vervolg Vlieringen-2 door Hans Reints
Vandaag om 19:03:50
  

Auteur Topic: MARDEC, de Multifunctionele ARduino dcc DECoder.  (gelezen 243667 keer)

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1500 Gepost op: 17 november 2020, 20:51:23 »
Sorry, maar hier kan ik dus niks mee. Ik wil gewoon een kant en klaar scriptje hebben dat iedere Linux gebruiker direct kan toepassen.
Stelt misschien niks voor maar voor een Linux leek als ik is gaat dat niet lukken.
Gewoon een vertaling naar Linux van het hiervoor genoemde Windows script.

Nico

Hi Nico, Ik wil wel helpen. ik heb nog geen ervaring met het flashen van een hex-bestand naar een Arduino (of eigenlijk wel maar dan via jouw Windows-porgramma  :)) maar kan redelijk scripten dus dat moet wel lukken.
De moeilijkheid bij mij is dat ik door m'n Arduino's heen ben en eerst weer in China moet bestellen.
Ik kan wel een basis maken maar kan hem niet testen.

Jouw windows-programma's zijn kant en klaar. Moet dat ook voor Linux zo zijn?
Indien ja, dan moeten we op de een of andere manier een gecompileerde versie van avrdude op zien te snorren zodat we die mee kunnen leveren.
Indien nee (zou het handigste zijn en tevens mijn voorstel zijn) nemen we op in de handleiding dat men eerst avrdude moet installeren (uitgaande van Ubuntu/debian: even apt-get update + apt-get install avrdude). Laat maar weten.
« Laatst bewerkt op: 18 november 2020, 07:40:52 door erikkral »

NTeering

  • Offline Offline
  • Berichten: 930
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1501 Gepost op: 18 november 2020, 13:09:34 »
Citaat
Jouw windows-programma's zijn kant en klaar. Moet dat ook voor Linux zo zijn?

Nee dat hoeft niet. Dat moet je alle vb-scripts gaan omzetten.
Alleen het upload script is voldoende. Zoals hierboven de windows versie.
De avrdude.exe en de avrdude.conf heb je denk ik automatisch als je de Arduino IDE voor Linux installeert.
Net als bij de Windows IDE.
Beide files kun je dan meeleveren in de zip-file. Ook de .hex files kunnen worden toegevoegd.
Maar die moet je dan eerst compileren in de IDE.

Nico

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1502 Gepost op: 18 november 2020, 14:05:39 »
avrdude kan onder linux geinstalleerd worden zonder de Arduino IDE, althans als ik de dependencies naloop van avrdude, dan hoeft Arduino IDE niet geinstalleerd te zijn bij het gebruik van avrdude.
Wat staat er in de avrdude.conf?

bask185

  • Offline Offline
  • Berichten: 1020
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1503 Gepost op: 18 november 2020, 14:18:29 »
Ja wat niet, dat bestand is op mijn werk pc 16084 lijntjes lang. Ik weet niet 100% zeker of mijn config op mn windows PC volstaat voor een linux computer. Als je me een e-mail PM't kan ik mijn config naar je toe sturen.  Echter als je arduino zelf installeert, dan wordt avrdude ook voor je geinstalleerd, en dan is het config ook al gevuld voor je en dan hij is 100% zeker goed.

Ook heb ik op mijn computer libusb0.dll nodig. Ik weet niet Linux van je verwacht.

Ik heb me ook wel eens laten vertellen dat de avrdude die arduino voor je installeert iets afwijkt van de originele avrdude, dus mocht je tegen rare problemen aanlopen, zou dat het kunnen zijn. Dus nogmaals installeer de arduino ide of arduino cli, dan moet je een 100% werkende avrdude krijgen.

Mijn batch file ziet er nu zo uit:
Citaat
avrdude -C avrdude.conf -v -p atmega328p -c arduino -P COM9 -b115200 -D -Uflash:w:test.hex:i
In shellscriptonees zou dat wss worden

Citaat
#!/bin/bash
./avrdude -C avrdude.conf -v -p atmega328p -c arduino -P ttyUSB0 -b115200 -D -Uflash:w:test.hex:i


@Nico, ik snap wat je bedoelt, maar totdat ik mijn laptop voeding heb teruggevonden, heb ik geen toegang tot een linux pc dus kan ik verder idd niet zo veel toevoegen

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1504 Gepost op: 18 november 2020, 14:29:14 »
Ik was ook niet echt geïnteresseerd in hoeveel lijntjes het bestand bevat maar meer wat het bestand doet.
Misschien dat mijn domme vraag deze rare reactie uitlokt en had ik moeten Googlen. Dat heb ik inmiddels gedaan en ik ben erachter gekomen dat het conf bestand bepaalt hoe avrdude de Arduino aan moet spreken.

Ik begrijp er verder van dat avrdude een generiek config bestand is.
Of de Windows versie hetzelfde is als de Linux-versie, dat valt nog te ontdekken. In ieder geval was ik niet van plan om standaard de Arduino IDE door mensen te laten installeren. Ik zal eens kijken of ik met de default configs van internet uit de voeten kan...

bask185

  • Offline Offline
  • Berichten: 1020
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1505 Gepost op: 18 november 2020, 14:53:43 »
In ieder geval was ik niet van plan om standaard de Arduino IDE door mensen te laten installeren.
Dat bedoelde ik ook niet, ik bedoelde als je het nu alleen bij je zelf doet. Dan zal die installatie van arduino er toe leiden dat op jouw computer een werkende avrdude met goed gevulde config mee wordt geinstalleerd en dat is het hetgene waar wij geinteresseerd in zijn. En die executable en die config kan je dan kopieren, hosten op internet en die zou dan moeten werken op andere linux computers. Reverse engineering noemen we dat.

Toen ik wilde weten wat ik in m'n script moest tikken om avrdude te laten werken, liet ik eerst arduino IDE zelf een programma uploaden met de --verbose optie aangezet. Zo kon ik ook precies zien hoe ik avrdude moest gebruiken.

Bas

NTeering

  • Offline Offline
  • Berichten: 930
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1506 Gepost op: 18 november 2020, 14:59:24 »
Mijn idee is ook om eenmalig de IDE te installeren om:
- de Avrdude.exe en avrdude.conf te verkrijgen.
- de .ino files te compileren tot .hex files.
De eindgebruiker heeft dan geen IDE nodig.
Deze actie laat ik graag aan iemand anders

Precies zoals Bas net zei.

De syntax van Avrdude (volgens Bas) lijkt nagenoeg hetzelfde als de Windows-versie.
Ik gebruik wel 2 command line parameters (%1 en %2 voor resp. voor de sketchnaam en de com-poort)


Nico

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1507 Gepost op: 22 november 2020, 12:58:35 »
Ik heb in een half uurtje wat in elkaar geflanst.

Screenshot:


Het script geeft bij stap 1 alle aanwezige ttyUSB devices weer. Dit zijn dus alle devices met USB Serial port, waaronder de Arduino.
Stap 1 geeft enkel een overzicht maar doet verder niets wanneer de gebruiker meerdere devices aangesloten laat.
Stap 2 vraagt om de input van het device, zoals aangegeven bij Stap 1. Gebruiker moet dus hier het volledige device pad invoeren.
Stap 3 geeft weer dat het device pad in het upload-commando is verwerkt als een variabele.

Bedankt Nico en Bas voor aanleveren van het voorbeeldcommando.

Terugkomend op de suggestie van Nico om voor dit programmeerwerk de Arduino IDE te installeren, daarvoor mis ik toch echt de noodzaak.
Ik kon zonder het installeren van de IDE de avrdude installeren. Die installatie bevatte ook een avrdude.conf die ik kan aanroepen.

Ik kan uit Nico zijn vorige antwoord niet opmaken of hij verwacht dat ikzelf ook ga compileren tot een hex-bestand. Die bestanden heb je toch al? Dat hoeft niet opnieuw gedaan te worden, lijkt mij...
Hoor graag van je.

Oh ja, ik heb nog een Arduino gevonden dus ik kan het zelf testen. Heb ik wel even een hex-bestand nodig...

Groet,

Erik
 
« Laatst bewerkt op: 22 november 2020, 13:02:23 door erikkral »

bask185

  • Offline Offline
  • Berichten: 1020
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1508 Gepost op: 22 november 2020, 20:48:33 »
Nee je hoeft niet een .hex te compileren dat is idd al gedaan.

Citaat
Ik kon zonder het installeren van de IDE de avrdude installeren. Die installatie bevatte ook een avrdude.conf die ik kan aanroepen.
Dat eh zullen we wel of niet zien als het je lukt een arduino daadwerkelijk te flashen  :police:

Bas

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1509 Gepost op: 23 november 2020, 15:49:12 »
Ah fijn Bas!

Ik heb op m'n windows PC de msi-installatie gedaan en zie dat dan de volgende hex-bestanden worden uitgepakt:

Mardec
1. MARDEC.hex
2. MARDECm.hex

ArLoco
1. ARLoco.hex
2. ARLocom.hex
3. ARLocon.hex

Arsigdec
1. ArSigDec.hex
2. ArSigDecm.hex
3. ArSigDecn.hex

Wat is de betekenis van deze bestanden? Wat heb ik nodig voor een flash test?
Moet ik alle Mardec/ArLoco/Arsigdec-bestanden flashen naar een Arduino?
Of maar 1 specifieke?

NTeering

  • Offline Offline
  • Berichten: 930
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1510 Gepost op: 23 november 2020, 16:24:57 »
Citaat
Ik kon zonder het installeren van de IDE de avrdude installeren.
Waar haal je die dan vandaan? Is toch onderdeel van de IDE?

Citaat
compileren tot een hex-bestand
Ik ging ervan uit dat een onder windows gecompileerde hex-file niet zou werken onder Linux.
Daarom zou je onder Linux apart moeten compileren, dacht ik.
Maar als dat niet nodig is, ook prima.

Stap 1 van script.
Kan dat niet wat slimmer?
Het windows vb-script kan zelf de com poort bepalen waar de Arduino aan hangt.
Daartoe wordt eerst een scan gemaakt van alle COM poorten zonder aangesloten Arduino
Daarna dezelfde scan met aangesloten Arduino.
Uit het verschil volgt de gebruikte COMpoort.

Stap 2
Waarom is deze ingave nodig? Er is toch nog maar een poort aangesloten. Dat is dan toch automatisch de goede?

Stap 3
Hoe kun je via een command line parameter het gewenste programma uploaden?


Dan de hex-files:
naam.hex: hex file voor Arduino UNO en DCCNext
naamM.hex: hex file voor Arduino MEGA
naamN.hex: hex file voor Arduino Nano

Om het flashen te testen hoef je met maar een hex-file te testen. Bij voorkeur de UNO variant.
Als dat werkt zullen de andere ook wel werken.

mvg
Nico

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1511 Gepost op: 23 november 2020, 16:47:50 »
Dag Nico,

Hieronder even een reactie op jouw opmerking. Doe het even zo, is het wat makkelijker het bij elkaar te houden

Citaat
Waar haal je die dan vandaan? Is toch onderdeel van de IDE?
Onder linux niet. Als je de details van package avrdude zie je dat er geen dependencies zijn met de arduino-IDE, alleen met andere libraries.

Citaat
Ik ging ervan uit dat een onder windows gecompileerde hex-file niet zou werken onder Linux.
Daarom zou je onder Linux apart moeten compileren, dacht ik.
Maar als dat niet nodig is, ook prima.
Het is ook een aanname van mij dat jouw Windows hex ook geflasht kan worden onder linux. Vanavond ga ik erachter komen wie gelijk heeft.

Citaat
Stap 1 van script.
Kan dat niet wat slimmer?
Het windows vb-script kan zelf de com poort bepalen waar de Arduino aan hangt.
Daartoe wordt eerst een scan gemaakt van alle COM poorten zonder aangesloten Arduino
Daarna dezelfde scan met aangesloten Arduino.
Uit het verschil volgt de gebruikte COMpoort.

Stap 2
Waarom is deze ingave nodig? Er is toch nog maar een poort aangesloten. Dat is dan toch automatisch de goede?
Deze stappen kunnen zeker slimmer. Ik wil daar later opnieuw naar kijken. Wil nu eerst kijken of ik de Arduino goed geflasht krijg.

Citaat
Stap 3
Hoe kun je via een command line parameter het gewenste programma uploaden?
Ehhmm, uploaden volgens het commando zoals het er staat? Commando word nu op het scherm getoond, script word aangepast zodat dit commando uitgevoerd word.

Dank voor de uitleg van de hex-bestanden. Hier kan ik vanavond mee testen.

bask185

  • Offline Offline
  • Berichten: 1020
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1512 Gepost op: 23 november 2020, 18:04:19 »
Waar haal je die dan vandaan? Is toch onderdeel van de IDE?
Internet en nee, niet helemaal. Arduino gebruikt avrdude, maar het is een arduino eigen ding.

Ik ging ervan uit dat een onder windows gecompileerde hex-file niet zou werken onder Linux.
Daarom zou je onder Linux apart moeten compileren, dacht ik.
Maar als dat niet nodig is, ook prima.
?? Een .hex bestand is een tekstbestand waarin onder andere de instructies ( <-- het programma) staan voor de microcontroller (de arduino in ons geval). De .hex is dus bestemd en gebouwd voor de arduino en of dat ding in elkaar wordt gezet (= compileren) op Linux, windows, mac, unix, whatever dat maakt allemaal niks uit.

Stap 1 van script.
Kan dat niet wat slimmer?
Ja natuurlijk kan dat, een script is immers zo slims zo als de programmeur het schrijft.


Het windows vb-script kan zelf de com poort bepalen waar de Arduino aan hangt.
Daartoe wordt eerst een scan gemaakt van alle COM poorten zonder aangesloten Arduino
Daarna dezelfde scan met aangesloten Arduino.
Uit het verschil volgt de gebruikte COMpoort.

Waarom is deze ingave nodig? Er is toch nog maar een poort aangesloten. Dat is dan toch automatisch de goede?
Dat hangt er van af wat er nog meer aanhangt. Die arduino IDE kan soms al problemen geven als er 2 arduinos aan je PC hangen dus ook wanneer je de comport handmatig selecteert, kan het nog misgaan.

Bij een windows laptop bijvoorbeeld, verschijnen de bluetooth modules vaak ook als comporten in het lijstje.

Hoe kun je via een command line parameter het gewenste programma uploaden?
Door simpelweg het parameter mee te tikken in de command line of een script dit voor je te laten doen.

Om een script een lijst met comporten te laten tonen en de gebruiker vervolgens te vragen om er een te kiezen is sws een goed idee. Dan weet je namelijk zeker dat je de goede pakt.

Citaat
...Bij voorkeur de UNO variant...
Nou ik zou zeggen, UNO verplicht. De .hex bestanden zijn namelijk gecompileerd voor de UNO's atmega328p. Je krijgt ze misschien ook wel werkend op een NANO omdat die dezelfde atmega chip gebruiken, maar de NANO's atmega verschilt wel met die van de UNO. De partities zijn iets anders en de NANO heeft bijvoorbeeld A6 en A7 extra tov de UNO.

En voor het uploaden zelf is het wel 100% cruciaal dat het goede board wordt geselecteerd anders krijg je ruzie met de verschillende bootloaders.

Bas

erikkral

  • Offline Offline
  • Berichten: 82
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1513 Gepost op: 23 november 2020, 21:27:27 »
Eerste flash is gelukt:


Op deze Arduino stond eerst ArLoco en nu heb ik er Mardec op geflasht.
Ik had een lege config verwacht maar blijkbaar haalt ie toch nog iets op vanuit het verleden.



Misschien was de Arduino een keer eerder ingezet als een Mardec. Dat weet ik niet meer.
Moeten we het flash-commando aanpassen zodat ie het het hele geheugen leeggooit?

Erik Baas

  • Offline Offline
  • Berichten: 351
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #1514 Gepost op: 23 november 2020, 21:32:52 »
Zou die "achtergebleven" data niet gewoon in EEPROM staan? Die kun je met een simpele sketch zelf wissen.