Doel:€250.00
Donaties:€72.00

Per saldo:€-178.00

Steun ons nu!

Laatst bijgewerkt
op 17-04-2019
Algemeen

De stichting

Recente berichten

Projekt 083-338 door Hlv53
Vandaag om 00:25:49
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 00:13:28
Tips voor een natuurgetrouwe modelbaan door laurent
20 april 2019, 23:50:28
Restanten loc NS 164 naar vlechtmuseum in Noordwolde door sneek
20 april 2019, 23:49:36
Toon hier je nieuwe (model-) spooraanwinst(en)... door laurent
20 april 2019, 23:49:23
[Hoontje's Beursbaan] "Kamp Rijen" door Hoontje
20 april 2019, 23:37:47
NS 5500 / HSM 700 spoor 0 / 1 door FritsT
20 april 2019, 23:28:28
Kranenberg, een exercitie in code 70 door meino
20 april 2019, 23:22:20
Bouw spoor nul module baan bahnhof Königshofen tijdperk III door bernhard67
20 april 2019, 23:12:10
De Hoekse Lijn nader bekeken. door elt-Mhv
20 april 2019, 23:02:44
BMB 00-modulebaan, Algemeen. door St00mboy
20 april 2019, 22:59:43
Mooi weer om buiten te spelen door Eric B
20 april 2019, 22:44:34
De opdracht voor de fotowedstrijd voor april/mei: stoomtreinen door bernhard67
20 april 2019, 22:25:00
Knallende wielen wat nu!! door Samuel.bottollier-depois
20 april 2019, 21:59:51
Project 0m, iets heel anders: Rhätische Bahn door Daniels
20 april 2019, 21:20:50
Onlangs gespot - gefotografeerd, de foto's door Remco vM
20 april 2019, 21:19:40
Modelspoor in de buurt van Venlo door Wisselwachter
20 april 2019, 21:11:08
Baanplan Duitse Museumsbahn met DB station door NS264
20 april 2019, 20:41:06
NS modelbaan Hoekdam H0 door Eric B
20 april 2019, 20:05:56
Baanbouw met Ecos besturing genaamd: Giessenstad Rbf door Pauw Gauwes
20 april 2019, 19:35:42
Westlandbaan door Ronald Hofmeester
20 april 2019, 18:58:39
Station Rekerdam door Ronald Hofmeester
20 april 2019, 18:46:11
Artitec 6300 door Gerke
20 april 2019, 18:02:51
De bouw van mijn modelbaan in Thailand door Arjen52
20 april 2019, 17:58:32
Hij komt door joepDE2
20 april 2019, 17:52:11
Een Amsterdamse bolkop in Lego door Pauldg
20 april 2019, 16:38:48
Update: baan in de tropen door Hans Grasmaijer
20 april 2019, 16:16:21
N-spoor gebogen wissel R3-R4 door VictorPM
20 april 2019, 16:04:56
Wiebelbak met dakwipkip te Breukelen door spoorzeven
20 april 2019, 14:13:19
VERPLAATST: Gezocht: iemand die flensen kan afdraaien H0 wielen, omg. Almere door Reinout van Rees
20 april 2019, 14:10:23
  

Auteur Topic: Zelf gemaakte DCC-centrale werkt niet helemaal  (gelezen 3703 keer)

bask185

  • Offline Offline
  • Berichten: 166
Re: Zelf gemaakte DCC-centrale werkt niet helemaal
« Reactie #45 Gepost op: 11 april 2019, 17:19:32 »
Het grappige is dat mijn programma eigenlijk zo oningewikkeld als mogelijk op gezet. Ik bedoel dit is mijn loop()
void loop() {
  readSerialBus();                           
  shortCircuit();
 
  if(packetSent) {                              // signal from ISR that last bit is transmitted on tracks
    if(nextPacket()) {                          // nextPacket returns true when the first following packet is a speed packet
      nextAddres(); }                          // select next 'active' addres
    assemblePackets();                       // assemble a new packet
    sendPacket(); } }                         // sets required variables and enables ISR                   
Nogmaals in sequentie stuur ik: speed, function1, function2 -> volgende adres
Ik kijk dus of een pakket verzonden is, dan selecteer ik de volgende pakket. Dat is een speed, function1 of function2 (F1-F4 / F5-F8) en als het een snelheids pakket betreft, dan schuif ik ook het volgende adres. Dit was naar mijn mening de makkelijkste en kortste (514 regels code inclusief wit regels en compacte{} schrijfwijze) manier om alle pakketten de deur uit te trappen. Ik denk niet dat ik het korter en makkelijker had kunnen maken.

volgens mij doet een gemiddeld pakket er ca ~3ms (14 preabmle bits, 3 bytes en 4 extra bits met 50:50 '0' : '1' bits = ~75us/bit) over om verzonden te worden.

Ik doe in grote maten al hetzelfde als MRdirect muv het feit dat ik 3 pakketten per lok de deur uit stuur.
Het ringbuffer idee heb ik al anders opgelost door inactieve decoders over te slaan. Wat ik wel interessant vind, is om alleen de laatst gewijzigde functies uit te voeren, maar dit geeft we wel weer het probleem dat ik decoders, die stroomloos geweest zijn, ook nog een herhalingspakketjes moet versturen voor alles.

Wat voor mij de volgende logische stap zou zijn, is om eerst alle snelheidspakketten te sturen, dan de function1 pakketten en als laatste de function2 pakketten. Zo stuur ik nog steeds alles naar alle actieve decoders en elke decoder krijgt niet binnen 5ms een nieuwe pakket binnen.

Patrick Smout

  • Offline Offline
  • Berichten: 266
Re: Zelf gemaakte DCC-centrale werkt niet helemaal
« Reactie #46 Gepost op: 14 april 2019, 20:41:36 »
Ook ik heb veel plezier beleefd aan het zelf bouwen van een command station.
Initiëel enkel DCC, later uitgebreid met MOTI en MOTII (new) (multi protocol centrale). Was inderdaad een hele kluif.
Initiële versie is ook gepubliceerd als een bouwproject in elektor ( https://www.elektormagazine.com/magazine/elektor-200809/18906)
Ik heb toen gekozen voor een ringbuffer die cyclisch alle pakketten ververst voor locs die recentelijk nog een opdracht ontvangen hebben, zij van het de MM of van een PC. Daarnaast maak ik gebruik van "urgent frames" die de cyclische afhandeling tijdelijk onderbreken. Elk pakket dat ontvangen wordt via PC (IB P50x) en/of MM wordt eerst verstuurd als urgent frame. Opdrachten die de snelheid van de loc verlagen worden daar bovenop nog met extra voorrang behandeld.
Loconet heeft nog lang op het lijstje gestaan maar nooit aan begonnen omdat ik voor mijn baan als S88 terugmelders had en de nodige accessory decoders.
Al bij al een leuk project.

mvg, Patrick

@ Marco, jouw aanpak is goed gevonden. Ik ben gestart met gelinkt lijsten van buffers voor diverse soorten pakketten en jouw oplossing is zelfs niet bij mij opgekomen.

MRdirect

  • Offline Offline
  • Berichten: 129
  • Marco Roede
Re: Zelf gemaakte DCC-centrale werkt niet helemaal
« Reactie #47 Gepost op: 15 april 2019, 16:36:42 »
@ Marco, jouw aanpak is goed gevonden. Ik ben gestart met gelinkt lijsten van buffers voor diverse soorten pakketten en jouw oplossing is zelfs niet bij mij opgekomen.
Leuk te horen. Er zit natuurlijk wel meer dan 15 jaar denkwerk in en optimalisatie (pogingen) aan ten grondslag. En ik ben er voor mezelf nog steeds mee bezig, oa LocoNet implementatie. Die wekt maar bij MRdirect is het P50 protocol toch stabieler. Door het XEvent mechanisme weet je continue of de verbinding cq communicatie nog goed functioneert.

M.vr.gr. Marco
MRdirect met S88lpt-interface / MRD-LNET met LocoNet, Edits-Booster.
Rosoft servo-wisseldecoders, Henk Kooiman draaischijf met eigen ontwerp decoder