Loading...
 

LET OP: Release 0.0.0.9. bevat substantiele wijzigingen. Er is geen garantie dat alles probleemloos werkt. Voorlopig alleen aanbevolen voor enigszins gevorderde gebruikers!

OC32 Firmware 0.0.0.9

  • Toegevoegd: Inverted PWM mode
  • Toegevoegd: Event Timer
  • Toegevoegd: Aspect Mode Configuratie

OC32 Config 0.0.0.9

Release 0.0.0.9 van OC32 Config ondersteunt het gebruik van de extra mogelijkheden van de firmware.

Onder de tab "OC32 Pin CFG" in de sub-tab "PWM" is een checkbox toegevoegd, genaamd "Inverted". Als je deze activeert en met een "Set" of "Write" naar de OC32 schrijft wordt de betreffende pin geinverteerd aangestuurd. Hiervoor zijn diverse leuke en nuttige toepassingen te bedenken die niet (gemakkelijk) kunnen met een normale aansturing. Voorbeelden geven we hier niet direct, maar die zullen binnenkort wel volgen.

Er is een nieuwe tab "OC32 Pin Asp". Hierin kun je de "Aspect Configuratie" van de OC32 uitvoeren. Voorlopig is deze nog geheel handmatig. Er zijn nog geen handige voorgedefinieerde "devices" zoals je die bij de OM32 wel hebt, maar dit slechts een aanpassing van de applicatiesoftware (OC32Config) en volgt binnenkort.

De OC32 kent 32 uitgangen. Deze worden vanaf heden "Pin" genoemd. De reden hiervan is dat de mogelijkheid voorzien is om een "Pin" ook als ingang te kunnen gebruiken (ooit). In dat geval zou de benaming "Output" niet meer toepasselijk zijn. De termen "Output" en "Pin" lopen nu nog een beetje door elkaar heen en zullen zo spoedig mogelijk worden geharmoniseerd.

Voor elke "Pin" kun je standen definiëren en die opslaan in het flash-geheugen van de OC32. Zo'n stand heet een "Aspect". De toepassingssoftware (bv Koploper, iTrain) kan die stand vervolgens oproepen met een "Set Aspect" commando. Dit "Set Aspect" commando is compatible met de oude OM32 structuur en kan dus ook door Koploper worden gegenereerd zonder aanpassingen. Om het "Set Aspect" commando aan Koploper te kunnen geven heb je versie 1.4a van OM32Config nodig. De volgende stap zal worden dat je de "Aspects" ook kunt oproepen met een DCC commando. Vanaf dat moment is de OC32 dus DCC compatible.

Per Aspect kun je een aantal instructies definiëren die moeten worden uitgevoerd bij het activeren van de betreffende Aspect. Per Pin is een bepaalde hoeveelheid geheugenruimte beschikbaar in de OC32 voor Aspect Configuratie. Je kun de Aspect-mode van de OC32 per Pin op 2 manieren gebruiken:

  • 12 Aspects van 3 instructies elk
  • 4 Aspects van 9 instructies elk

Voor elke Pin (Output) kun je een omschrijving ("Descr.") opgeven. Deze omschrijving doet verder niets en wordt niet opgeslagen in de OC32, maar is voor je eigen verduidelijking.

Per "Instruction" kun je een keuze maken uit een drop-down list. De meeste instructies komen overeen met wat je gewend bent van de OM32 Advanced Modus.

Bij veel instructies kun je optioneel een "Fade" optie meegeven (bij OM32 "Glow" genoemd).

"Offset" is de Pin die door de instructie daadwerkelijk wordt bestuurd ten opzichte van de huidige Pin. Dus definieer je een Instructie van een Aspect onder Pin 4 en is de Offset 2, dan bestuurt die instructie Pin 6. De Offset is modulo 32, dit betekent dat een Offset van 30 feitelijk -2 betekent.

"Param" is de parameter die hoort bij de instructie. De betekenis kun je voorlopig halen uit de OM32 documentatie, want deze betekenis is 99% identiek.

Er zijn een aantal instructies die zijn toegevoegd aan de OM32 set. Dit zijn "Timed Events". Op dit moment zijn dat de instructies "SetAspect x". Bij deze instructies kun je geen Parameter opgeven maar wel een "Time" en een "TimeBase". Dat betekent dat de betreffende instructie pas na een bepaalde tijd wordt uitgevoerd. Cruciaal is dat per Pin slechts 1 Event Timer bestaat. Een nieuwe "Timed Event" die voor de betreffende Pin wordt gegenereerd voordat de Event Timer "afloopt" wist dus de vorige, nog niet uitgevoerde actie.

De vetragingstijd (Time) is afhankelijk van de TimeBase (Base):

  • Base = 0: Time = eenheden van 20ms
  • Base = 1: Time = eenheden van 160ms
  • Base = 2: Time = eenheden van 1.28s
  • Base = 3: Time = eenheden van 10.24s

De echte tijd wordt door OC32Config in min:ss.ms aangegeven. Merk op dat de maximale vertraging meer dan 10 minuten kan zijn!

OC32Config werkt per OC32 module. Het "Module Address" bovenaan is alleen het adres waarmee gecommuniceerd wordt, maar verder niet van betekenis binnen OC32Config. Je zult dus per OC32 een apart configuratiebestand moeten maken. Wellicht ietwat omslachtig, maar ook flexibel als je adressen ooit verandert.

  • "Write Pin" Stelt het Aspect Configuratie type in voor de betreffende pin en schrijft alle Instructies voor alle Aspects van de betreffende Pin naar de OC32;
  • "Read Pin" Leest het Aspect Configuratie type uit de OC32 voor de betreffende pin en leest alle Instructies voor alle Aspects van de betreffende Pin uit de OC32;
  • "Write All" Schrijft alle Aspect Configuratie types voor alle Pinnen inclusief alle Instructies voor alle Aspects;
  • "Read All" Leest alle Aspect Configuratie types voor alle Pinnen inclusief alle Instructies voor alle Aspects;
  • "Write Single" Schrijft de Instructies voor 1 Aspect van 1 Pin (handig voor een update als je aan het testen bent)
  • "Test" Geeft een Set Apects commando aan de OC32 om de Aspect Configuratie te testen.
  • "Save" Schrijft de gehele configuratie zoals op dat moment opgeslagen in OC32 naar een bestand (inclusief de "Descr." tekst die je zelf hebt verzonnen).
  • "Load" Leest een eerder opgeslagen configuratie uit een bestand.

Write All/Pin/Single werken bij unidirectionele communicatie, maar het gaat sneller als je "Bidirectional" aan zet.

OC32 Config 0.0.0.A

Release 0.0.0.A van OC32 Config is een update van 0.0.0.9 en biedt extra faciliteiten. Het voornaamste is dat je nu ook voorgedefinieerde "apparaten" kunt laden, zoals het geval is bij OM32Config. Op dit moment is er een beperkt definitiebestand waarin alleen de Nederlandse onderdelen zitten. Dit bestand moet je in principe in dezelfde map zetten als OM32Config.exe. Je kunt het definitiebestand ook ergens anders neerzetten, alleen zul je het dan bij het opstarten van OC32Config specifiek zelf moeten aanwijzen. Het voordeel daarvan is wel dat je meerdere definitiebestanden kunt hebben met een verschillende naam.

Het kiezen van een apparaatdefinitie werkt vergelijkbaar met OM32Config. Je selecteert eerst de Pin die de eerste aansluiting is van het apparaat en selecteert vervolgens een apparaat uit de drop-down list. Klik op "Load Device". De configuratie wordt nu geladen in OC32Config. Als je de volgende Pinnen bekijkt zul je zien dat daar (in de meeste gevallen) ook een definitie in geladen wordt. Dat zijn de opvolgende Pinnen die ook door het betreffende apparaat gebruikt worden. Enerzijds is dat meteen een check voor jezelf dat je die Pinnen niet nogmaals kunt gebruiken, verder vind je een aantal "Redirect" instructies waardoor je de Aspects 0 en 1 van die Pinnen ook kunt gebruiken voor het aanroepen van standen. Voor gebruik met Koploper als OM32 apparaat is dat niet zo interessant, maar het is noodzakelijk is we de OC32 straks ook willen gebruiken voor DCC aansturing. LET OP: Als je de Aspects die horen bij de opvolgende Pinnen behorende bij een apparaat ook naar de OC32 wilt schrijven moet je dat per pin doen met "Write Pin" of (simpeler) met "Write All" voor de hele module.

De Aspect heeft ook een eigen omschrijving gekregen, zodat je kunt zien wat de verschillende standen doen.

Verder heeft de Offset (in OC32Config) vanaf nu een variabele range, die afhangt van het Pin-nummer waar de instructie bij hoort. Je kunt bij Pinnen groter dan 0 nu ook een negatieve Offset opgeven. De Offset range voor de instructies horende bij Pin 5 loopt dus van -5 tot 26.

Belangrijk: Een configuratiebestand dat je hebt weggeschreven met OC32Config_0009 kun je NIET inlezen met OC32Config_000A. Gezien het experimentele karakter van de software is er geen conversiemogelijkheid.

Tot slot

Het bovenstaande is een zeer beknopte weergave van de mogelijkheden. Gebruik is vooralsnog voor eigen risico. Feedback via het Forum wordt zeer gewaardeerd.

Mvg, Leon

Page last modified on Sunday 30 May, 2010 23:19:26 CEST
Dutch (Nederlands, nl)English British (British English, en-uk)German (Deutsch, de)