Page 1 of 1

Nach Upgrade auf RevPi Bullseye AIO 0-24mA nur noch 8 Bit

Posted: 15 Aug 2024, 09:25
by kdu
Moin,
ich habe meine RevPi Core S von Buster auf Bullseye 64-bit upgedatet. Als ich dann meine APP laufen lassen habe, lief die AIO Stromabfrage nicht mehr wie erwartet. Das debugging hat ergeben, das die Datenbreite nicht mehr stimmt. Es sind keine 16 Bit, sondern seltsamerweise nur noch 8 Bit. Der Inhalt entspricht auch nicht meinen Erwartungen.
Irgend eine Idee, woran das liegen könnte. :idea:

pi@RevPi81989:~ $ piTest -v Test1
variable name: Test1
offset: 24
length: 8
bit: 0
pi@RevPi81989:~ $ piTest -v Test2
variable name: Test2
offset: 31
length: 8
bit: 0

Re: Nach Upgrade auf RevPi Bullseye AIO 0-24mA nur noch 8 Bit

Posted: 19 Aug 2024, 19:47
by u.biakoup
Moin kdu,

wie hast du das Update gemacht?

Best Regards

Ulrich Kouatang Biakoup | field application engineer

Re: Nach Upgrade auf RevPi Bullseye AIO 0-24mA nur noch 8 Bit

Posted: 19 Aug 2024, 21:44
by kdu
Moin Ulrich,
ich hoffe, wie beschrieben. RevPi Core S als SD mit RpiBoot in Windows eingebunden und das Bullseye 64.Img mit win32DiskImager eingespielt. Danach habe ich mich angemeldet und die Erstanmeldung durchlebt. Nachdem sudo reboot habe ich dann PiCtory aufgerufen.

Re: Nach Upgrade auf RevPi Bullseye AIO 0-24mA nur noch 8 Bit

Posted: 21 Aug 2024, 18:36
by kdu
Need Help!
Ich habe jetzt wieder mein altes Bak-Image "Buster" eingespielt.
Ich kann mir da keinen Reim drauf machen.
Hier kann ich wieder die Länge der 0-24mA mit 16 Bit auslesen. Es werden die mA-Werte wie gewünscht ausgegeben.

Mein verkürzter Code:
strcpy(sPiVariable1.strVarName, "InputValue_1");
strcpy(sPiVariable2.strVarName, "InputValue_2");
if (sPiVariable1.i16uLength == 16 && sPiVariable2.i16uLength == 16) <---- die Länge kommt als 16 Bit zurück. Unter Bullseye 8 Bit
{
rc = piControlRead(sPiVariable1.i16uAddress, 2,(uint8_t *)&Data.iStroke); <--- hier ist alles korrekt.
if (rc < 0)
{
printf("Read error\n");
return;
}

<snip>

Aber:
hier wird folgendes, genauso wie unter Bullseye, ausgegeben:
./piTest -v Input1Range

variable name: Input1Range
offset: 24
length: 8
bit: 0
./piTest -v Input2Range
variable name: Input2Range
offset: 31
length: 8
bit: 0

In PiCtory - 2.0.7 wird für die Werte 0-24mA Byte angezeigt genau wie in Bullseye, meines Erachtens müsste dort UINT stehen.
Alles sehr verwirrend.

Re: Nach Upgrade auf RevPi Bullseye AIO 0-24mA nur noch 8 Bit

Posted: 23 Aug 2024, 13:59
by Lino
Hi kdu,

kann es sein, dass du das falsche Feld mit "Test1" bzw. "Test2" benannt hast? Auf offset 24 liegt die 8-bit breite "InputRange" für den Stromwert, der Wert selbst liegt bei offset 0 und ist 16 Bit breit. Das sollte sowohl für Buster wie für Bullseye gelten. Wenn du über "Test1" den Stromwert auslesen möchtest, solltest du in Pictory "InputValue_1" umbenennen.

Gruß,
Lino