Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Bahn-AG
Vandaag om 16:42:57
Toon hier je nieuwe (model-) spooraanwinst(en)... door Nullus
Vandaag om 16:29:51
MARDEC, de Multifunctionele ARduino dcc DECoder. door bord4kop
Vandaag om 16:29:12
Gebruik je Arduino zonder te "programmeren" ;) door fleischmann1
Vandaag om 16:18:39
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:58:15
Al mijn goede ideeën... door bask185
Vandaag om 15:23:03
US diorama in H0 door VAM65
Vandaag om 15:22:05
Beekdaelen in H0 door VulcanRaven
Vandaag om 15:15:11
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 15:08:30
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 15:06:14
U-vorm beperkte ruimte (H0 C-rails) door Jelmer
Vandaag om 14:58:04
Onlangs gespot - gefotografeerd, de links door Jeroen Water
Vandaag om 14:33:00
N spur scenery elementen maken van gips of klei? door Dave.......
Vandaag om 14:30:06
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 14:28:54
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:18:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:07:52
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
Vandaag om 13:40:42
GSS Jubileumbaantje (0e / 0n30) door MacArthur
Vandaag om 12:55:30
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
Mijn eerste H0-modeltreinbaan in aanbouw door Jack Black (NS1220)
Vandaag om 11:33:00
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Bauarbeiten im gange door Dave.......
Vandaag om 10:55:26
Variaties op Station Zetten Andelst in HO door Duikeend
Vandaag om 10:54:40
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 10:42:29
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
M.s.v. De Percee bouwt aan nieuwe clubbaan door J. Moors
Vandaag om 01:00:05
30 maart Modelspoorbeurs Houten & HCC Kennisdag door WimM
Vandaag om 00:42:50
Raadplaatje door Magic
27 maart 2024, 23:27:03
  

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

erikkral

  • Offline Offline
  • Berichten: 343
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: 1023
    • 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: 343
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: 4007
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
Train-Science.com
Train-Science github
It ain't rocket science ;-)

erikkral

  • Offline Offline
  • Berichten: 343
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: 4007
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
Train-Science.com
Train-Science github
It ain't rocket science ;-)

NTeering

  • Offline Offline
  • Berichten: 1023
    • 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: 343
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: 4007
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
Train-Science.com
Train-Science github
It ain't rocket science ;-)

erikkral

  • Offline Offline
  • Berichten: 343
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: 1023
    • 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: 343
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: 4007
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
Train-Science.com
Train-Science github
It ain't rocket science ;-)

erikkral

  • Offline Offline
  • Berichten: 343
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?

ikbenerevenniet

  • Offline Offline
  • Berichten: 379
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.