IowKitRead() mit IOW40 V1.0.0.3
Moderator: Guido Körber
-
- Posts: 8
- Joined: Wed Dec 16, 2009 11:03 pm
IowKitRead() mit IOW40 V1.0.0.3
Hallo Forumsgemeinde,
Ich bin bei den Versuch mit IowKitRead(), in verbindung mit einen IOW40 V1.0.0.3, auf ein Problem gestoßen. Eigentlich sollte die bennante Funktion sofort mit dem Aktuellen Portzustand zurückkehren, aber bei mir blockiert diese. Ich habe mal im Datenblatt nachtgeschaut und habe auch einen Punkt in der Änderungsliste gefunden , der möglicherweise sagt das das mit dem Firmwarestand nicht geht.(IOW40 S.33 "V1.0.1.0 Added GetPinStatus Special Mode Function to get the pin status at any time."). Jetzt bin ich mir aber nicht wirklich 100% sicher ob das tatsächliche diese Funktionalität ist. Hatte jemand auch schon mal dieses Problem.Und wenn es tatsächlich an der Firmware liegt, gibt es dann eine Möglichkeit diese zu Updaten oder befindet sich diese im ROM).
Vielen Danke im Voraus.
Mit Freundlichen Grüßen,
Ronny
Ich bin bei den Versuch mit IowKitRead(), in verbindung mit einen IOW40 V1.0.0.3, auf ein Problem gestoßen. Eigentlich sollte die bennante Funktion sofort mit dem Aktuellen Portzustand zurückkehren, aber bei mir blockiert diese. Ich habe mal im Datenblatt nachtgeschaut und habe auch einen Punkt in der Änderungsliste gefunden , der möglicherweise sagt das das mit dem Firmwarestand nicht geht.(IOW40 S.33 "V1.0.1.0 Added GetPinStatus Special Mode Function to get the pin status at any time."). Jetzt bin ich mir aber nicht wirklich 100% sicher ob das tatsächliche diese Funktionalität ist. Hatte jemand auch schon mal dieses Problem.Und wenn es tatsächlich an der Firmware liegt, gibt es dann eine Möglichkeit diese zu Updaten oder befindet sich diese im ROM).
Vielen Danke im Voraus.
Mit Freundlichen Grüßen,
Ronny
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
Hallo Rising_Edge,
IowKitRead() liefert Dir nur eine Antwort wenn auch was im Buffer steht !
Ist der Buffer leer scheint das Programm zu hängen.
Wie fragst Du denn den aktuellen Portzustand ab ? über Pipe-1 und report-ID 255 oder
ober Pipe-0 ?
Gruss
R.Greinert
IowKitRead() liefert Dir nur eine Antwort wenn auch was im Buffer steht !
Ist der Buffer leer scheint das Programm zu hängen.
Wie fragst Du denn den aktuellen Portzustand ab ? über Pipe-1 und report-ID 255 oder
ober Pipe-0 ?
Gruss
R.Greinert
-
- Posts: 8
- Joined: Wed Dec 16, 2009 11:03 pm
Re: IowKitRead() mit IOW40 V1.0.0.3
Hallo,
Oh man jetzt habe ich hier auf die Falsche funktion verwiesen. Die Richtige Funktion sollte IowKitReadImmediate() sein.
Mit der funktion IowKitRead gehts. Aber ich benötige den Tatsächliche zustand der Portpins , egal ob sich was geändert hat.
Ich habe gerade nochmal in die Quellen von IowKit reingeschaut und IowKitReadImmediate verwendet den Special Mode und Report ID 0xff.
Gruß
Ronny
Oh man jetzt habe ich hier auf die Falsche funktion verwiesen. Die Richtige Funktion sollte IowKitReadImmediate() sein.
Mit der funktion IowKitRead gehts. Aber ich benötige den Tatsächliche zustand der Portpins , egal ob sich was geändert hat.
Ich habe gerade nochmal in die Quellen von IowKit reingeschaut und IowKitReadImmediate verwendet den Special Mode und Report ID 0xff.
Gruß
Ronny
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
Hallo Rising_Edge,
musst Du mit Report-ID 255 auf den IOW schreiben (anfordern)
danach bekommst Du über die Report-ID 255 den ist Status der Ports
Gruss
Ralf
um den tatsächlichen Zustand der Ports zu bekommenIowKitReadImmediate verwendet den Special Mode und Report ID 0xff
musst Du mit Report-ID 255 auf den IOW schreiben (anfordern)
danach bekommst Du über die Report-ID 255 den ist Status der Ports
Gruss
Ralf
-
- Posts: 8
- Joined: Wed Dec 16, 2009 11:03 pm
Re: IowKitRead() mit IOW40 V1.0.0.3
Hallo Ralf,
Das ist die Funktion aus dem iowkit , die sollte doch genau das tun , oder ?
Ich vermute aber das die Funktion in der Firmware V1.0.0.3 nicht mit drin ist.Denn blockieren sollte dir funktion ja im Normalfall nicht, zumindest nicht merklich.
Gruß,
Ronny
Code: Select all
BOOL IOWKIT_API IowKitReadImmediate(IOWKIT_HANDLE devHandle, PDWORD value)
{
IowDevice_t *dev;
IOWKIT_SPECIAL_REPORT report;
dev = IowiGetDeviceByHandle(devHandle);
if (value == NULL || dev == NULL || dev->info[IOW_PIPE_IO_PINS].product == IOWKIT_PID_IOW56)
return FALSE;
memset(&report, 0, sizeof(report));
report.ReportID = 0xff;
if (IowKitWrite(devHandle, IOW_PIPE_SPECIAL_MODE, (PCHAR) &report, IOWKIT_SPECIAL_REPORT_SIZE))
{
if (IowKitRead(devHandle, IOW_PIPE_SPECIAL_MODE, (PCHAR) &report, IOWKIT_SPECIAL_REPORT_SIZE) == IOWKIT_SPECIAL_REPORT_SIZE &&
report.ReportID == 0xff)
{
memcpy(value, &report.Bytes[0], sizeof(DWORD));
dev->lastValue = *value;
return TRUE;
}
else
return FALSE;
}
else
return FALSE;
}
Ich vermute aber das die Funktion in der Firmware V1.0.0.3 nicht mit drin ist.Denn blockieren sollte dir funktion ja im Normalfall nicht, zumindest nicht merklich.
Gruß,
Ronny
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
Hallo Rising_Edge,
ich habe alle IOW-Typen mit 1.0.3.0 getestet, mir ist da kein Fehler aufgefallen.
Teste mal deine Schaltung mit dem Test-Programm All-In-One.
Dort werden die Ports nach dem gleiche Verfahren abgefragt / gepollt
Mit "C" habe ich nichts am Hut ... kann nur die für mich interessanten Stellen raus-lesen ...
denn ich programmiere in RQ oder HOT - Basic und da gibt es so gut wie nichts für.
Aber Dir sagen ob der C-Code so OK ist, dafür reicht mein Wissen nicht aus ... sorry
aber da müssen mal andere drauf schauen ...
Gruss Ralf
ich habe alle IOW-Typen mit 1.0.3.0 getestet, mir ist da kein Fehler aufgefallen.
Teste mal deine Schaltung mit dem Test-Programm All-In-One.
Dort werden die Ports nach dem gleiche Verfahren abgefragt / gepollt
Mit "C" habe ich nichts am Hut ... kann nur die für mich interessanten Stellen raus-lesen ...
denn ich programmiere in RQ oder HOT - Basic und da gibt es so gut wie nichts für.
Aber Dir sagen ob der C-Code so OK ist, dafür reicht mein Wissen nicht aus ... sorry
aber da müssen mal andere drauf schauen ...
Gruss Ralf
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
@ Rising_Edge
Version 1.0.0.3 oder 1.0.3.0 ... habe ich jetzt erst richtig gelesen !?
Version 1.0.0.3 oder 1.0.3.0 ... habe ich jetzt erst richtig gelesen !?
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
ReadImmediate funktioniert erst ab Chip V1.0.1.0.
Ist der Chip aus irgend einem Altbestand? Die 1.0.0.3 ist so alt, dass ich nicht glaube, dass da noch welche irgendwo im Handelskanal sein können.
Ist der Chip aus irgend einem Altbestand? Die 1.0.0.3 ist so alt, dass ich nicht glaube, dass da noch welche irgendwo im Handelskanal sein können.
-
- Posts: 8
- Joined: Wed Dec 16, 2009 11:03 pm
Re: IowKitRead() mit IOW40 V1.0.0.3
Hallo,
Naja den Warrior hatte ich so um 2000 gekauft , als er mal in der C´t vorgestellt wurde. Ich habe das Teilchen jetzt aber mal wieder hervorgekramt.
Ein Firmwareupdate ist sicher nicht möglich ? Aber ich habe schon eine Idee wie ich trotzdem die Daten so bekomme wie ich sie brauche.
Gruß,
Ronny
Ja, das ist wirklich die 1.0.0.3.Ist der Chip aus irgend einem Altbestand? Die 1.0.0.3 ist so alt, dass ich nicht glaube, dass da noch welche irgendwo im Handelskanal sein können.
Naja den Warrior hatte ich so um 2000 gekauft , als er mal in der C´t vorgestellt wurde. Ich habe das Teilchen jetzt aber mal wieder hervorgekramt.
Ein Firmwareupdate ist sicher nicht möglich ? Aber ich habe schon eine Idee wie ich trotzdem die Daten so bekomme wie ich sie brauche.
Gruß,
Ronny
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
Die einzige Option wäre es auf den IO-Warrior zu schreiben um einen Pin umzuschalten, dann kommt automatisch der aktuelle Status zurück.
-
- Posts: 8
- Joined: Wed Dec 16, 2009 11:03 pm
Re: IowKitRead() mit IOW40 V1.0.0.3
Ok , da hört sich doch nicht schlecht an. Da Ich sowieso vorher was schreiben muss , ist das ja dann doch nicht wirklich ein Problem.
Sehr gut !
Danke,
Ronny
Sehr gut !
Danke,
Ronny
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
wow ... ein 1.0.0.3 ... einer der ersten ?
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: IowKitRead() mit IOW40 V1.0.0.3
Ja, die sind ziemlich alt. Überraschen würde mich jemand der einen V1.0.0.0 hat :)