diff --git a/models/dragino/lsn50-v2/docs/downlinks-lsn50.md b/models/dragino/lsn50-v2/docs/downlinks-lsn50.md new file mode 100644 index 0000000..da6eb5e --- /dev/null +++ b/models/dragino/lsn50-v2/docs/downlinks-lsn50.md @@ -0,0 +1,63 @@ +# Downlinks base — Dragino LSN50 v2 + +## Objetivo + +Recoger la lógica base de downlinks del `LSN50 v2` que ha quedado documentada en tu trabajo real y que puede reutilizarse en distintos kits o verticales. + +## Downlinks relevantes documentados + +### 1. Cambiar frecuencia de muestreo / envío (`TDC`) + +- comando base: `0x01` +- formato: `01 + 3 bytes` en segundos, big-endian + +Ejemplos documentados: + +- `10 s` -> `0100000A` +- `30 s` -> `0100001E` +- `60 s` -> `0100003C` +- `120 s` -> `01000078` +- `300 s` -> `0100012C` + +## 2. Cambiar duración de la ventana `+5V` (`5VT`) + +- comando base: `0x07` +- formato: `07 + 2 bytes` +- en la documentación trabajada se usa típicamente en `ms` + +Ejemplos documentados: + +- `0 ms` -> `070000` +- `500 ms` -> `0701F4` +- `1000 ms` -> `0703E8` +- `2000 ms` -> `0707D0` +- `5000 ms` -> `071388` + +## Puerto documentado en tu uso actual + +En el caso trabajado se operó con: + +- `FPort = 2` + +## Regla importante de operación + +El nodo es `LoRaWAN Class A`. + +Eso significa que: + +- el downlink no se aplica al instante +- se entrega tras el siguiente uplink, en la oportunidad RX correspondiente + +## Nota importante para perfiles compuestos + +Si una lógica de aplicación necesita cambiar a la vez `5VT` y `TDC`, la recomendación documentada es encolar **dos downlinks** en este orden: + +1. `set_5vt` +2. `set_tdc` + +No asumir que un único payload representa un “perfil completo” si el backend o la UI no lo gestionan explícitamente. + +## Ubicación correcta de esta lógica + +- lo reusable del nodo va aquí +- la lógica de aplicación que decide cuándo cambiar de perfil pertenece a la vertical correspondiente \ No newline at end of file