From 70f76ba1073b7f122bce07f8c5ba3b26b250f834 Mon Sep 17 00:00:00 2001 From: "victor.fraile" Date: Wed, 25 Mar 2026 15:49:04 +0000 Subject: [PATCH] =?UTF-8?q?A=C3=B1adir=20lsn50-v2-xkc-y25-v-drainage/docs/?= =?UTF-8?q?decoder-pa12.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/decoder-pa12.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md diff --git a/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md b/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md new file mode 100644 index 0000000..1d17203 --- /dev/null +++ b/lsn50-v2-xkc-y25-v-drainage/docs/decoder-pa12.md @@ -0,0 +1,32 @@ +# Decoder PA12 + +## Decisión final + +El decoder correcto para leer `PA12` en este kit es: + +- byte objetivo: `byte6` +- bit objetivo: `bit1` +- máscara: `0x02` + +Expresión correcta: + +```js +const byte6 = (b.length > 6) ? b[6] : 0x00; +const pa12 = (byte6 & 0x02) ? 1 : 0; + + +function decodeUplink(input) { + const b = input.bytes; + const byte6 = (b.length > 6) ? b[6] : 0; + const pa12 = (byte6 & 0x02) ? 1 : 0; + + return { + data: { + pa12, + drenaje: pa12, + drenaje_inv: pa12 ? 0 : 1, + byte6, + raw_hex: b.map(x => x.toString(16).padStart(2, '0')).join('') + } + }; +} \ No newline at end of file