Recap;Voor oorspronkelijke DA project heb je een driver nodig in de PC. (Voor VISTA en W7 moet je overigen een nieuwe drive van de microchip site laden.) Daar staat ook iets over op het forum. Kijk daarom ook even in de andere threads.
De software voor de PC van het DA project was geschreven in C++. Ik spreek nauwelijks C++ en daarom heb ik voor mezelf de software in C# geschreven. Daar bleek belangstelling voor te bestaan en dus heb ik deze op het forum gezet. Voor een aantal mensen was C# ook een probleem en daarom heb ik de software ook voor VB.NET en VB6 geschreven en op het forum gezet. Als die versies er niet meer staan zal ik ze wel uit mijn back-ups kunnen terughalen.
Daarmee was de PC software en dus de DA kaart voor de meeste mensen toegankelijk geworden.
Iets dat het oorspronkelijke project miste.Nu over HID.Als je de PIC via het HID protocol laat werken heb je geen driver meer nodig in de PC. Dat is gemakkelijk als je het op verschillende PC wil gebruiken.
Maar de PC software om met een HID device te praten is wezenlijk anders.
Bij mijn speurwerk naar hoe dan met een HID device te praten vanuit C# stuitte ik op een library die het redelijk eenvoudig maakt. HID samen met die library maakt het bovendien heel eenvoudig om de software volledig “event driven” te maken.
Om dat voordeel uit te leggen even terug naar de oorspronkelijke software.
De firmware van de oorspronkelijke DA wacht op een commando. Als een commando ontvangen is stuurt de PIC een antwoord. Bv de PC stuurt ‘SEND_ANALOG 0’ en de PIC antwoord met de waarde die gemeten wordt aan Analoog poort 0. De soft- en firmware is volledig command-response georiënteerd. Ook na een command ‘OUTPUT_BIT 3’ stuurt de PIC een antwoord terug (het commando). Zonder commando doet de PIC dus niets! Je moet dat antwoord afwachten voor je een volgend commando kunt sturen. Het is mij niet gelukt meer dan 64 commando’s per seconde te sturen. Dat kan wel anders maar niet met de software zoals die bij het project werd gegeven.
De HID library maakt het mogelijk dat de firmware in de PIC zelfstandig,
dus zonder dat er eerst een commando gegeven wordt, gegevens naar de PC gaat sturen. Ik heb daar in mijn project gretig gebruik van gemaakt. (mijn project zie: http://phpjj.web-log.nl/ ). Even voor de duidelijkheid, in dit project gebruik ik dus de DA software helemaal niet meer.
Bij mijn eerste experimenten met het HID protocol heb ik de DA firmware geheel nagebouwd. Dus nog steeds Command – Response. Toen dat werkte heb ik een interrupt routine aan de firmware toegevoegd die 180x per seconde de waardes van alle 8 de analoge inputs van de PIC naar de PC stuurt. Die interrupt kan ik met behulp van een command uit de PC software aanzetten en uitzetten. Tegelijkertijd werken de command-response commando’s nog steeds.
Ik heb een experiment gedaan waarbij ik de interrupt routine en command-response tegelijk liet lopen en zo tot >500 analoge waarden per seconde naar de PC kon krijgen. Dat is nergens voor nodig, maar het KAN. Daarmee was voor mij de prove of concept geslaagd en ben ik verder gegaan met het ontwikkelen van de firmware voor mijn project.
Ik heb de PC software voor de HID_DA geschreven in C#. Ik heb heel even gekeken of ik de HID-library ook met VB.NET kon gebruiken en dat lijkt wel te lukken. Dus een VB.NET versie is te maken. Of die library ook met VB6 gaat werken durf ik niet te zeggen. Ik kan dat niet even testen want ik heb geen VB6 op mijn huidige systeem staan.
Dat betekent dus als ik lees: ‘VB6’…….. en stuur mij de de DA-HID firmware dan heeft dit geen zin. Want als je niet met C# of minsten VB.NET overweg kunt, dan kan ik je geen bijpassende PC software meesturen.
Ik ga met alle plezier even achter mijn PC zitten om werkende set van mijn bovenbeschreven experiment met HID Firmware (source + hex) en PC software samen te stellen. Maar de PC software is dan in C#.
VB.NET wil ik wel proberen,maar dat kost iemand een fles wijn

VB6 voorlopig niet.
Als je alleen maar VB6 praat dan raad ik je aan de oorspronkelijke firmware te blijven gebruiken en de VB6 software daarvoor te gebruiken.