Hi,
Ik wil eens proberen om zelf een .Net programma (C# en WPF) te maken om mijn locs via de pc te bedienen ipv met de MultiMaus. Puur voor de fun, want mijn module is maar een scheet groot ;)
Nu heb ik dit al gevonden: [size=78%]http://xpressnetlib.brozek.org/index.html (http://xpressnetlib.brozek.org/index.html)[/size]
Een .Net lib om commando's naar het command station te sturen.
Echter vind ik niet direct hoe ik het command station verbind met mijn pc zijn usb aansluiting. Wat ik wel al gevonden heb is dat de pc connectie moet gebeuren met een rj12 kabel die in de master poort moet van de command station. Is dat alles wat nodig is dan, enkel en kabeltje van USB naar rj12? Ik vermoed dat er nog iets tussen moet, of niet?
Ondertussen heb ik de demo solution al gedownload en zou dit eens willen testen.. Enkel de verbinding tussen de pc en command station ontbreekt..
Roco 10764 command station/booster is de zwarte doos die in de MultiMaus startsets zit.
Iemand die me wat meer inzicht kan geven? :D
vraag me eigenlijk af waarom jij geen rocomotion gebruikt. daar heb je een verbindingskabel bijzitten voor de booster naar de pc. En je hebt alles wat je wilt . Of is het dat niet ?
Nee, dat denk ik niet.
Ik wil het programma om mijn locs te sturen zelf schrijven, wat niet zo moeilijk is met de XpressnetLib code.
Alleen heb ik geen idee hoe ik de pc met mijn command station kan verbinden.. Op hun site staat iets van GenLI, GenLI-USB, GenLI-Bluetooth maar waarschijnlijk zijn er nog andere manieren.
Vandaar dat ik dacht dat misschien hier iemand het wel wist :D
hoe je die verbinding maakt weet ik ook niet zo direct, zou ik eens moeten bestuderen.
(ik zal proberen morgen op je mail te antwoorden ook, trouwens, maar wasvandaag tot laat aan het werk voor mijn job).
De source van mijn programma mag je gerust hebben als je daar war mee bent .
Succes
Ik denk dat ik dit moet hebben: http://rosoft.biedmeer.nl/Webwinkel-Product-1363936/s88XPressNetLi.html (http://rosoft.biedmeer.nl/Webwinkel-Product-1363936/s88XPressNetLi.html)
Net een mailtje gestuurd naar de verkoper voor wat meer informatie. :)
Edit: in de handleiding vanaf p6 staat hoe alles te verbinden. [size=78%]http://people.zeelandnet.nl/rosoft/Handleiding_S88XPressNetLI-V1.0.pdf (http://people.zeelandnet.nl/rosoft/Handleiding_S88XPressNetLI-V1.0.pdf)[/size]
Let wel op , S88 is enkel terugmelding van bezetstatussen.
Dat kan je naar je Roco Mutimaus box sturen of naar je PC.
Maar ik denk niet dat die module ook de MM aan de PC koppelt... (ik ben geen expert in die Roco wereld maar volgens mij mis je nog iets)
Tja Dani dat heb je dan dus helemaal mis, want dat is nu speciaal de module om de Multimaus via de PC te koppelen en te kunnen bedienen met een programma naar keuze zonder vast te zitten aan RocoMotion.
En terug/bezetmelders heb je gewoon nodig om de positie van de trein te kunnen bepalen. En daarvoor is er gekozen voor melders op basis van s88, waarom omdat die algemeen te koop zijn en erg aantrekkelijk in prijs zijn. Dit systeem wordt sinds 2008/2009 zo aangeboden.
Groetjes.
Citaat van: dani op 19 december 2013, 10:27:13 AM
Let wel op , S88 is enkel terugmelding van bezetstatussen.
Dat kan je naar je Roco Mutimaus box sturen of naar je PC.
Maar ik denk niet dat die module ook de MM aan de PC koppelt... (ik ben geen expert in die Roco wereld maar volgens mij mis je nog iets)
Net een mailtje terug gehad van Wim Ros van Rosoft.
S88XPressNetLi is idd enkel voor de pc met de Roco station te verbinden. In het startpakket zit ook een S88SD16-n bij, en deze dient puur voor de terugmelding. Maar dat heb je niet nodig als je geen terug melding doet of nodig hebt. Wel als je met Koploper of zo wil werken.
Nog één vraag. Ik heb dus XpressnetLib .Net lib gevonden. Deze lib bevat alle manieren om de locs aan te sturen. Je kan hiervan echter niet de broncode bekijken daar dit een dll is. Nu vraag ik me wel af hoe de echte communicatie gebeurd naar het Roco command station. Zijn er daar ergens voorbeelden of een uitleg over te vinden? Misschien kan ik het dan zelfs zonder de lib proberen.
Programmeren in .Net C# kan ik, maar van heel het digitale systeem heb ik nog geen kaas gegeten ;D
Ik kan natuurlijk simpel de lib gebruiken, maar het is wel leuk om te weten wat er achter de schermen gebeurd..
Ha Wim (INFO), dat ben jij dus ;D ;D Had ik dat geweten had ik je ook via hier gewoon kunnen contacteren.
Sorry voor de spam in je mailbox. :-[
Heel het digitale systeem is nieuw en wil er dus graag wat mee spelen om het beter te begrijpen.
Meer info over xpressnet: http://www.lenzusa.com/1newsite1/Manuals/xpressnet.pdf (http://www.lenzusa.com/1newsite1/Manuals/xpressnet.pdf)
en zo heb ik ook weer wat bijgeleerd over de 2-rail wereld.
Bedankt Wim voor de verduidelijking, daar hebben we allemaal iets aan !
Super...
Lijkt mij zeer interessant en ik denk dat het via deze weg ook wel mogelijk moet zijn om via tablet/iPad of smartphone/iPod/iPhone je baan te besturen aan de hand van Touchcab. (iets wat met een router en een ecos ook kan maar dan zonder pc tussen).
misschien wel, en ik ga niet "neen" zeggen, maar "touchcab" veronderstelt wel dat je een compatibele host draait (bvb de ECOS software) , en die zal den op de PC moeten worden ingezet (en/of ontwikkeld) in dit geval.
Zover ga ik niet gaan. Moest het via de pc gewoon al feilloos werken zou ik blij zijn.
Eerst sowieso de onderdelen bestellen en dan rustig verder doen. Zal het op mijn kerstlijstje zetten s88 + usb to serial cable, stuk of 2 TAMS decoders en nog wat scenery materiaal.
Ondertussen op het werk me aan het inlezen in de xpressnet commands en hoe ze te sturen via .net
http://www.opendcc.org/elektronik/opendcc/xpressnet_commands_e.html (http://www.opendcc.org/elektronik/opendcc/xpressnet_commands_e.html)
Samen met de voorbeeld code die ik hier staan heb verklaard dit toch al wat. Al ben ik nog niet mee met het xor command dat je soms moet meegeven. Nu ja in de eerste plaats wil ik de reeds bestaande XpressnetLib dll gebruiken en daarna zien we wel verder.
Vbtje:
public void DoEmergencyStop()
{
if(!IsConnected || allStopped)
return;
var command = new byte[2];
command[0] = 0x80;
command[1] = 0x80;
port.Write(command, 0, command.Length);
allStopped = !allStopped;
}
Stieven, ik zal je kerstlijstje wat aanpassen....
Een USB to Serial converter, een TAMS DCC decodertje, en een "gewone" S88 module mag je hier al zeker en vast es komen lenen om wat te testen. Die heb ik allemaal "in dubbel" liggen. (mijn voorrad al opgebouwd voor later). Dan moet je geen geld uitgeven om te experimenteren en als het werkt kan je nog altijd de nodige spullen kopen. (goed hee dat ik weer ben uit winterslaap...)
Heel goed Dani ;D
Zal je een pbtje sturen wanneer ik er eventueel mag achter komen, dan kan ik volgende week tijdens mijn vakantie al wat experimenteren, als de madam het toelaat ;)
Gisterenavond een eerste layout gemaakt voor mijn XpressNetTrainController ;D
Het is nog maar een ruwe layout en er zal nog wel het één en ander aan gewijzigd worden.
Links ga je een lijst krijgen van beschikbare locomotieven. Bij het dubbelklikken zal er in het ControlPanel een Controller verschijnen specifiek voor de geselecteerde loc. Deze kan je dan besturen.
Er gaat ook een LocDatabase inzitten, waarin je dus locs kan toevoegen voor digitaal gebruik, of gewoon als overzicht.
Dinsdag na het gynaecoloog bezoek bij Dani langs, achter de s88 module zodat ik kan beginnen met de functies in te bouwen.
Waarom? Juist voor de fun en om te zien of ik het voor elkaar kan krijgen. Is ook een goed oefenproject om me thuis soms wat bezig te houden. Het zal een projectje van lange adem zijn, voor wanneer ik tijd en zin heb ;)
Voor degene die het interesseert, het wordt geschreven in C# en WPF met het MVVM framework, IDE is Visual Studio 2012 Professional, .Net 4.5, als db zal het waarschijnlijk SQL Server Compact worden.
Ruwe layout:
(http://farm3.staticflickr.com/2891/11477275885_52da9fc884_c.jpg) (http://www.flickr.com/photos/109395347@N06/11477275885/)
XpressNetTrainController (1) (http://www.flickr.com/photos/109395347@N06/11477275885/)
Stieven, dat ziet er al goed uit!
Wel zou ik eventueel voor het gebruiksgemak proberen zien of je die slider voor de snelheid niet kan doen zoals in de stuurunit van de esu lokprogrammer software?
Dat is een slider die links staat en eventueel in het midden een streepje voor 0km/h en implementatie om de snelheid te bedienen met het scrollwiel van je muis, lijkt mij erg gebruiksvriendelijk. Zo kan je naar je loc kijken terwijl je de handeling uitvoert en moet je minder op het scherm kijken daar je de knoppen van je muis makkelijk uit je hoofd kent.
Kan misschien overkomen als serieus wat beleg voor op den boterham, maar dat is toch iets wat bij mij opkomt als ik het vanuit het standpunt van de gebruiker bekijk.
Bedankt Olivier. De slider is één van de dingen die nog niet op punt staan. Dit is een groffe layout. Maar het idee om de slider met de muis te kunnen bedienen had ik ook al gehad, om dezelde reden die je aanhaalt. Je bent er niets mee als je constant op je scherm moet kijken om je loc te bedienen.
Is niet zo heel moeilijk te doen, al zal ik even moeten zoeken hoe ik dit het best kan doen op de WPF-MVVM manier (view is volledig gescheiden van de logica, en is niet altijd even simpel in WPF :P [size=78%])[/size]
Ook de wisselende rijrichting moet ik nog eens bekijken.
Nog werk genoeg dus ;D
een heel goed begin, Stieven !
Het ziet er al g
proper uit, doordacht en goed uitgewerkt. Het slider gedoe is inderdaad niet altijd evident, zeker als je je scrollwheel wil gebruiken. Maar het zal wel kunnen denk ik .
Succes met de verdere ontwikkeling en tot dinsdag .
Dani
Het scrollwheel is al in orde, dat was eigenlijk nog vrij simpel. De connect methode ook, maar nu moet ik wachten tot ik het effectief kan aansluiten, dat zal iets gemakkelijker zijn omdat ik dan kan zien wat er gebeurd. Vandaar kunnen we dan verder.
Amai, ik ben content dat ge dat scrolwiel in orde hebt gekregen! :)
Vandaag de s88 module in de bus gekregen en natuurlijk deze avond direct getest. Mijn LocController programma werkt perfect, en dat zonder te kunnen testen tijdens het programmeren. Dikke duim voor mezelf ;D ;D
Wel een bug gevonden in de lib die de commando's stuurt naar XpressNet. Mail gestuurd naar de ontwikkelaar en hopen dat hij het fixed of dat ik de code krijg en het zelf kan fixen. Anders zal ik die hele lib zelf moeten schrijven maar dat is weer te onnozel, de XpressnetLib werkt verder zonder problemen, of ik heb nog geen andere bugs tegengekomen.
Als het lukt maak ik morgen een kort filmpje, anders later van de week.
en dat net voor het wisselen van het jaar ...
Pluim op je hoed, Stieven !! Feestelijke manier om 't jaar in te zetten vanavond :-) :-) :-)
Dat verdient een:
(http://blogimages.bloggen.be/de_brug_ouderraad/1192898-7f043f32746ff4d371c84899466e5e0e.png)
Beetje aangepaste layout en werking. Meer achter de schermen toch wel.
Het ControlPanel is nu MVVM. Hierdoor kan ik later naast de ControlPanel tab nieuwe tabs (documenten) openen met de details voor een loc, een soort van steekkaart.
De locs zijn opgeslagen in een Sql Server Compact database. De detail tabs zullen dus dienen om een nieuwe loc toe te voegen tot de database, of een huidige loc aan te passen of te verwijderen. Die tabs en controls moeten nog gemaakt worden.
De LocController zelf dan:
De speedcontrol (slider) is te bedienen met de muis (klikken of slepen), met de pijltjes toetsen (<- ->) en zelfs met de PageUp en PageDown toetsen. Wanneer een LocController de focus heeft, dit kan je zien aan de groene boord, moet je zelfs niet op de slider staan. Deze heeft automatisch de focus, zodoende kan je je ogen op de trein houden ipv op het scherm. ;D
Todo list:
- onder het output window dient nog een statusbar te komen om kleine messages door te geven. Errors en technische info komen in het outputwindow.
- controls maken voor het toevoegen en wijzigen van een loc in de database
- Ribbon loc database voorzien van functies
- etc
Er is nog best veel werk aan, maar het is dan ook een hobby hé ;D
Tijdens dit screenshot was ik niet verbonden met XpressNet, vandaar de standaard instellingen op de LocControllers.
(http://farm6.staticflickr.com/5523/11949887944_a03ca2503a_c.jpg) (http://www.flickr.com/photos/109395347@N06/11949887944/)
XpressNetTrainController (2) (http://www.flickr.com/photos/109395347@N06/11949887944/)
sjieke dinges stieven !!!!
Heel knap gedaan Stieven.
Weet jij toevallig ook of je met die S88XPressNetLi de cv's van een decoder kan uitlezen? In dat geval lijkt het me zeker de moeite waard om me zo'n module aan te schaffen.
Hey Stefan,
Nee, je kan er geen cv's mee uitlezen. Heb er toevallig van de week naar het kijken geweest.
Dit kan je trouwens met de MultiMaus ook niet, dus ik denk dat dit een beperking is van de Roco Command Station. En of je dan de lib of de MM gebruikt maakt niet uit.
Met de lib kan je enkel de locomotieven en andere accessoires bedienen zoals bv wissels.
Stieven, 't schijnt dat als je je muis kan updaten, dat je dat wel kan doen ...
Citaat van: OlivierV op 01 februari 2014, 10:52:22 AM
Stieven, 't schijnt dat als je je muis kan updaten, dat je dat wel kan doen ...
Echt niet forget it!!!