Fixed for initial handshake to fetch data from panels.

This commit is contained in:
Giuseppe Raffa
2026-06-06 14:01:47 +02:00
parent 1d5bb340d9
commit c893fa3edf
2 changed files with 76 additions and 7 deletions

View File

@@ -58,6 +58,7 @@ const errorsFlags = {
qui i numeri. I valori confermati dalla documentazione sono indicati come "(confermato)".
*/
const registerAddresses = {
deviceAddress: 1, // Addr - indirizzo del dispositivo (confermato: usato per discovery)
status1: 4, // St1 - flag di stato (confermato: "registro 4")
warning: 6, // Warn - flag di warning/errore (confermato: "registro 6")
chargeCapacity: 7, // Chg_Cap - Ah caricati (da verificare)
@@ -102,6 +103,7 @@ const serialProtocol = {
startOfFrame: 0x42, // SOF
sourceHost: 0xFF, // SRC host/GUI
endOfFrame: 0x0D, // EOF
addressAny: 0x00, // DST = qualsiasi dispositivo (usato per discovery)
headerLength: 5, // SOF + DST + SRC + 0x00 + DLEN
tailLength: 3, // CHK_HI + CHK_LO + EOF
// Comandi (scritti nel registro 2)
@@ -122,6 +124,12 @@ const serialDefaults = {
dataBits: 8,
parity: 'none',
stopBits: 1,
// Linee di controllo: alcuni adapter (es. FTDI FT232R) resettano il target all'apertura.
// L'esempio di discovery Poweren funzionante le imposta entrambe a true.
dtr: true,
rts: true,
// Tempo di assestamento dopo l'apertura della porta prima di iniziare a trasmettere
openSettleMs: 250,
};
// Timeout e retry per le transazioni sincrone (richiesta -> risposta)