jp112sdl hat geschrieben: ↑21.02.2021, 15:10
Hast du die anderen beiden ungenutzt hier auskommentiert?
Hatte ich einmal. Aber auf der Spurensuche bin ich wieder zurück und habe alles aktiviert.
Der Hund scheint in dieser Funktion hier zu liegen.
Code: Alles auswählen
void init(uint8_t msgcnt, uint32_t *sensorValues, _currentSensor *cs, bool batlow) {
Message::init(0xa + (NUM_CHANNELS * 3), msgcnt, 0x53, BCAST, batlow ? 0x80 : 0x00, cs[0].ok ? 0x41 : 0xC1);
DPRINT(F("+Current (#0) : ")); DDECLN(sensorValues[0]);
pload[0] = (sensorValues[0] >> 8) & 0xff;
pload[1] = (sensorValues[0]) & 0xff;
for (uint8_t s = 0; s < NUM_CHANNELS - 1; s++) {
DPRINT(F("+Current (#")); DDEC(s + 1); DPRINT(F(") : ")); DDECLN(sensorValues[s+1]);
pload[2+(s * 3)] = (cs[s+1].ok ? 0x42 : 0xC2) + s;
pload[3+(s * 3)] = (sensorValues[s+1] >> 8) & 0xff;
pload[4+(s * 3)] = sensorValues[s+1] & 0xff;
}
}
Hier die Aufzeichnung mit 3 Sensoren. Die Werte werden korrekt übertragen. Zur Info: L2 ist auf L1 gebrückt, L3 hat korrekterweise Störung da der A/D Wandler fehlt.
Die Übertragenen Funktelegramme habe ich in den nachfolgenden Listen gelöscht da es aus meiner Sicht in der oben aufgeführten Schleife liegt. Aber ich steige nicht durch.
Code: Alles auswählen
15:11:27.786 -> measure() #2 of 2
15:11:27.786 -> +Current (#0) : 4
15:11:27.832 -> +Current (#1) : 3
15:11:27.832 -> +Current (#2) : 0
15:11:38.960 -> measure() #1 of 2
15:11:50.050 -> measure() #2 of 2
15:11:50.050 -> +Current (#0) : 6
15:11:50.050 -> +Current (#1) : 8
15:11:50.050 -> +Current (#2) : 0
15:12:01.214 -> measure() #1 of 2
15:12:12.331 -> measure() #2 of 2
15:12:12.331 -> +Current (#0) : 6
15:12:12.331 -> +Current (#1) : 7
15:12:12.331 -> +Current (#2) : 0
Hier die Aufzeichnung mit 1 Sensor.
Code: Alles auswählen
15:16:12.068 -> measure() #1 of 2
15:16:23.165 -> measure() #17 of 2
15:16:23.165 -> +Current (#0) : 0
15:16:34.309 -> measure() #16 of 2
15:16:34.309 -> +Current (#0) : 0
15:16:45.438 -> measure() #15 of 2
15:16:45.438 -> +Current (#0) : 0
15:16:56.603 -> measure() #16 of 2
15:16:56.603 -> +Current (#0) : 0
15:17:07.713 -> measure() #14 of 2
15:17:07.713 -> +Current (#0) : 0
15:17:18.854 -> measure() #15 of 2
15:17:18.854 -> +Current (#0) : 0
15:17:29.998 -> measure() #15 of 2
15:17:29.998 -> +Current (#0) : 0
15:17:41.136 -> measure() #14 of 2
15:17:41.136 -> +Current (#0) : 0
15:17:52.283 -> measure() #15 of 2
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi