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

Topics about the Hardware of Revolution Pi
Post Reply
kdu
Posts: 3
Joined: 15 Aug 2024, 07:15

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

Post 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
u.biakoup
Posts: 212
Joined: 14 Apr 2022, 13:04

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

Post by u.biakoup »

Moin kdu,

wie hast du das Update gemacht?

Best Regards

Ulrich Kouatang Biakoup | field application engineer
kdu
Posts: 3
Joined: 15 Aug 2024, 07:15

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

Post 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.
kdu
Posts: 3
Joined: 15 Aug 2024, 07:15

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

Post 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.
Lino
KUNBUS
Posts: 1
Joined: 03 Jul 2020, 11:07

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

Post 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
Post Reply