IowKitRead() mit IOW40 V1.0.0.3

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
Rising_Edge
Posts: 8
Joined: Wed Dec 16, 2009 11:03 pm

IowKitRead() mit IOW40 V1.0.0.3

Post by Rising_Edge »

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
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by friend-of-rq »

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
Rising_Edge
Posts: 8
Joined: Wed Dec 16, 2009 11:03 pm

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Rising_Edge »

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
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by friend-of-rq »

Hallo Rising_Edge,
IowKitReadImmediate verwendet den Special Mode und Report ID 0xff
um den tatsächlichen Zustand der Ports zu bekommen
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
Rising_Edge
Posts: 8
Joined: Wed Dec 16, 2009 11:03 pm

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Rising_Edge »

Hallo Ralf,

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;
 }
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
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by friend-of-rq »

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
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by friend-of-rq »

@ Rising_Edge

Version 1.0.0.3 oder 1.0.3.0 ... habe ich jetzt erst richtig gelesen !?
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Guido Körber »

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.
Rising_Edge
Posts: 8
Joined: Wed Dec 16, 2009 11:03 pm

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Rising_Edge »

Hallo,
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.
Ja, das ist wirklich die 1.0.0.3.

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
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Guido Körber »

Die einzige Option wäre es auf den IO-Warrior zu schreiben um einen Pin umzuschalten, dann kommt automatisch der aktuelle Status zurück.
Rising_Edge
Posts: 8
Joined: Wed Dec 16, 2009 11:03 pm

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Rising_Edge »

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
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by friend-of-rq »

wow ... ein 1.0.0.3 ... einer der ersten ?
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IowKitRead() mit IOW40 V1.0.0.3

Post by Guido Körber »

Ja, die sind ziemlich alt. Überraschen würde mich jemand der einen V1.0.0.0 hat :)
Post Reply