diff --git a/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md b/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md index 1d17203..da17b47 100644 --- a/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md +++ b/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md @@ -13,8 +13,31 @@ Expresión correcta: ```js const byte6 = (b.length > 6) ? b[6] : 0x00; const pa12 = (byte6 & 0x02) ? 1 : 0; +```` +## Lo que se descartó +Se descartó el uso de `byte5` como indicador fiable del estado de `PA12`. + +Durante una fase del diagnóstico parecía que dos tramas diferían en `byte5`, pero la prueba determinista sin sensor demostró que ese byte variaba por otros motivos y no era el bit correcto. + +## Prueba determinista que cerró el diagnóstico + +### Forzando `PA12` a `VDD` + +* `raw_hex: "0e647fff003f02ffffffff"` +* `byte6 = 0x02` +* `PA12 = 1` + +### Forzando `PA12` a `GND` + +* `raw_hex: "0e647fff003700ffffffff"` +* `byte6 = 0x00` +* `PA12 = 0` + +## Decoder limpio mínimo + +```js function decodeUplink(input) { const b = input.bytes; const byte6 = (b.length > 6) ? b[6] : 0; @@ -29,4 +52,12 @@ function decodeUplink(input) { raw_hex: b.map(x => x.toString(16).padStart(2, '0')).join('') } }; -} \ No newline at end of file +} +``` + +## Conclusión + +En este kit: + +* `byte6 = 0x02` -> `drenaje = 1` +* `byte6 = 0x00` -> `drenaje = 0` \ No newline at end of file