From 1a31352bdab00ae05ed922e003f07d5d18568728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leopoldo=20Rodr=C3=ADguez?= Date: Thu, 17 Sep 2026 10:43:39 -0600 Subject: [PATCH] actas: modulos ArduSimple (ARD) y modem 4G (RTK-NNNN), integracion y ensamble con serie automatica HBOX5-Exx-Axxx-Rxxxx; procedimientos; fw bring-up 0.2.0 --- backend/app.py | 53 ++++- docs/actas/index.md | 62 +++-- docs/descargas/SHA256SUMS.txt | 2 +- docs/descargas/hbox-v5-bringup-README.md | 11 +- docs/descargas/hbox-v5-bringup_0.1.1.bin | Bin 55104 -> 0 bytes docs/descargas/hbox-v5-bringup_0.2.0.bin | Bin 0 -> 64780 bytes docs/descargas/index.md | 7 +- docs/formularios/acta.css | 12 + docs/formularios/acta.js | 215 ++++++++++++++---- docs/formularios/ardusimple.html | 52 +++++ docs/formularios/ensamble.html | 110 ++++----- docs/formularios/integracion.html | 52 +++++ docs/formularios/modem4g.html | 52 +++++ docs/formularios/v5.html | 6 +- docs/formularios/ver.html | 6 +- docs/procedimientos/v5-ensamble.md | 176 ++++++++++++++ docs/procedimientos/v5-modulos-integracion.md | 211 +++++++++++++++++ docs/procedimientos/v5-prueba-y-flasheo.md | 8 +- docs/tablero.html | 74 ++++-- mkdocs.yml | 9 +- scripts/sync-docs.sh | 4 +- 21 files changed, 966 insertions(+), 156 deletions(-) delete mode 100644 docs/descargas/hbox-v5-bringup_0.1.1.bin create mode 100644 docs/descargas/hbox-v5-bringup_0.2.0.bin create mode 100644 docs/formularios/ardusimple.html create mode 100644 docs/formularios/integracion.html create mode 100644 docs/formularios/modem4g.html create mode 100644 docs/procedimientos/v5-ensamble.md create mode 100644 docs/procedimientos/v5-modulos-integracion.md diff --git a/backend/app.py b/backend/app.py index 302ebb8..5da0df1 100644 --- a/backend/app.py +++ b/backend/app.py @@ -17,7 +17,10 @@ Rutas: GET /api/acta?tipo=&serie= -> {exists, acta?} POST /api/actas -> crea (409 si ya existe una real) DELETE /api/acta?tipo=&serie= -> borra (solo admin) - GET /api/actas -> listado (ingeniería) + GET /api/actas -> listado (ingeniería); incluye 'componentes' en actas compuestas + +Actas compuestas (integracion, ensamble): traen d["componentes"] = {clave: serie_modulo}. En los tipos +de TIPOS_UNICOS un módulo no puede aparecer en dos actas reales (409). """ import os, re, json, csv, datetime from flask import Flask, request, jsonify, abort @@ -25,6 +28,7 @@ from flask import Flask, request, jsonify, abort app = Flask(__name__) BASE = os.environ.get("ACTAS_DIR", "/srv/projects/drogheda/actas") ADMINS = {u.strip().lower() for u in os.environ.get("ACTAS_ADMINS", "leo").split(",") if u.strip()} +TIPOS_UNICOS = {"ensamble"} # tipos en los que un componente solo puede usarse en un acta real SAFE = re.compile(r"[^A-Za-z0-9_\-]") def slug(s, n=40): return SAFE.sub("", str(s or "").strip())[:n] @@ -35,6 +39,27 @@ def current_user(): def is_admin(): return current_user().lower() in ADMINS +def componentes_en_uso(tipo, serie_actual, componentes): + """Devuelve [(clave, valor, serie_otra)] para componentes ya usados por OTRA acta real del mismo tipo.""" + carpeta = os.path.join(BASE, tipo) + if not os.path.isdir(carpeta) or not isinstance(componentes, dict): + return [] + usados = [] + for fn in os.listdir(carpeta): + if not fn.endswith(".json"): + continue + try: + with open(os.path.join(carpeta, fn), encoding="utf-8") as f: + d = json.load(f) + except Exception: + continue + if d.get("serie") == serie_actual or not isinstance(d.get("componentes"), dict): + continue + for k, v in componentes.items(): + if v and d["componentes"].get(k) == v: + usados.append((k, v, d.get("serie"))) + return usados + def find_latest(tipo, serie): """Ruta del acta real más reciente para (tipo, serie), o None.""" carpeta = os.path.join(BASE, tipo) @@ -56,7 +81,7 @@ def whoami(): @app.get("/api/acta") def get_acta(): - tipo = slug(request.args.get("tipo")); serie = slug(request.args.get("serie"), 20) + tipo = slug(request.args.get("tipo")); serie = slug(request.args.get("serie"), 24) if not tipo or not serie: return jsonify(ok=False, error="faltan tipo/serie"), 400 ruta = find_latest(tipo, serie) @@ -76,7 +101,7 @@ def crear(): if not isinstance(d, dict): return jsonify(ok=False, error="Se esperaba un objeto"), 400 - tipo = slug(d.get("tipo")); serie = slug(d.get("serie"), 20) + tipo = slug(d.get("tipo")); serie = slug(d.get("serie"), 24) tecnico = str(d.get("tecnico", "")).strip() if not tipo or not serie: return jsonify(ok=False, error="Faltan 'tipo' o 'serie'"), 400 @@ -92,6 +117,17 @@ def crear(): return jsonify(ok=False, existe=True, error=f"Ya existe un acta para {serie}. Pide a Leo que la borre para rehacerla."), 409 + # actas compuestas (ensamble): un módulo no puede pertenecer a dos unidades + comps = d.get("componentes") + if isinstance(comps, dict): + comps = {slug(k, 20): slug(v, 20) for k, v in comps.items()} + d["componentes"] = comps + if not es_prueba and tipo in TIPOS_UNICOS: + usados = componentes_en_uso(tipo, serie, comps) + if usados: + det = "; ".join(f"{v} ya está en {s}" for _, v, s in usados) + return jsonify(ok=False, error=f"Módulo ya asignado: {det}. Pide a Leo que revise."), 409 + ts = datetime.datetime.now().replace(microsecond=0) iso = ts.isoformat() d["_recibido"] = iso @@ -121,7 +157,7 @@ def crear(): def borrar_acta(): if not is_admin(): return jsonify(ok=False, error="Solo un administrador puede borrar actas."), 403 - tipo = slug(request.args.get("tipo")); serie = slug(request.args.get("serie"), 20) + tipo = slug(request.args.get("tipo")); serie = slug(request.args.get("serie"), 24) if not tipo or not serie: return jsonify(ok=False, error="faltan tipo/serie"), 400 carpeta = os.path.join(BASE, tipo) @@ -180,9 +216,12 @@ def listar(): d = json.load(f) except Exception: continue - filas.append({"tipo": tipo, "archivo": f"{tipo}/{fn}", - "serie": d.get("serie"), "tecnico": d.get("tecnico"), - "resultado": d.get("resultado"), "recibido": d.get("_recibido")}) + fila = {"tipo": tipo, "archivo": f"{tipo}/{fn}", + "serie": d.get("serie"), "tecnico": d.get("tecnico"), + "resultado": d.get("resultado"), "recibido": d.get("_recibido")} + if isinstance(d.get("componentes"), dict): + fila["componentes"] = d["componentes"] + filas.append(fila) filas.sort(key=lambda r: (r.get("recibido") or ""), reverse=True) return jsonify(ok=True, total=len(filas), actas=filas) diff --git a/docs/actas/index.md b/docs/actas/index.md index c9681c7..1189b62 100644 --- a/docs/actas/index.md +++ b/docs/actas/index.md @@ -1,34 +1,56 @@ # Actas y control de calidad -Formularios que el técnico llena **en pantalla mientras prueba o ensambla** cada -tarjeta. Al terminar se firman (nombre + conformidad) y se envían al servidor, donde -quedan registrados por número de serie. Así queda constancia de que se siguió el -procedimiento en cada unidad. +Formularios que el técnico llena **en pantalla mientras prueba o ensambla**. Al terminar se +firman (nombre + conformidad) y se envían al servidor, donde quedan registrados por número de +serie. Un acta real se envía **una sola vez** por serie; para rehacerla, Leo la borra. + +## Flujo de una unidad HBOX v5 + +``` +EinarBoard V5-NN ──────► Acta de tarjeta ────────┐ +ArduSimple ARD-NNN ────► Acta módulo ArduSimple ─┤ +4G NTRIP Master RTK-NNNN ► Acta módem 4G ─────────┼─► Acta de integración (ArduSimple + 4G) ──► Acta de ensamble + │ (pareja que irá junta) (unidad HBOX5-Exx-Axxx-Rxxxx) + └──────────────────────────────────────────────────┘ +``` + +El acta de ensamble **no deja seleccionar** un módulo que no esté aprobado, que no tenga su +integración, o que ya esté montado en otra unidad. El número de la unidad se calcula solo a partir +de los tres módulos elegidos: `HBOX5-E07-A010-R0006` = EinarBoard V5-07 + ArduSimple ARD-010 + módem 4G RTK-0006. ## Formularios **[▶ Acta de prueba — EinarBoard V5](../formularios/v5.html)** -Lote de 15 tarjetas (V5-01 … V5-15). Procedimiento verificado §1–§6: inspección, -continuidad, rieles 3V3 / 5 V / 24 V, flasheo DFU y POST. +Lote de 15 tarjetas (V5-01 … V5-15; 30 seleccionables). Procedimiento: [Prueba y flasheo v5](../procedimientos/v5-prueba-y-flasheo.md). -**[▶ Acta de prueba — EinarBoard V4](../formularios/v4.html)** — *borrador* -V4-01 … V4-15. Adaptado de V5; la sección de MCU/firmware está marcada como -**pendiente de definir** para V4. Revisar antes de uso oficial. +**[▶ Acta de módulo — simpleRTK2B Pro / ArduSimple (ARD-001 … ARD-030)](../formularios/ardusimple.html)** +Un acta por receptor: visual, fix GNSS, configuración Helgen. Procedimiento: [Módulos e integración §2](../procedimientos/v5-modulos-integracion.md). -**[▶ Checklist de ensamble — HBOX](../formularios/ensamble.html)** — *borrador* -Control de calidad durante el armado: recepción de PCBA, módulos, mecánica, arnés, -etiquetado y energizado final. Ver la [guía de ensamble](../montaje/guia-ensamble-qc.md). +**[▶ Acta de módem — 4G NTRIP Master (RTK-0001 … RTK-0030)](../formularios/modem4g.html)** +Un acta por módem: IMEI/ICCID, configuración, registro en red. Procedimiento: [Módulos e integración §3](../procedimientos/v5-modulos-integracion.md). + +**[▶ Acta de integración — ArduSimple + 4G](../formularios/integracion.html)** +La pareja que irá junta: RTK FIX con correcciones NTRIP. Procedimiento: [Módulos e integración §4](../procedimientos/v5-modulos-integracion.md). + +**[▶ Acta de ensamble — unidad HBOX v5](../formularios/ensamble.html)** +Selecciona los tres módulos aprobados → número de unidad automático → armado, energizado desde 24 V, +batería y respaldo. Procedimiento: [Ensamble de la unidad](../procedimientos/v5-ensamble.md). + +**[▶ Acta de prueba — EinarBoard V4](../formularios/v4.html)** — *borrador*. ## Cómo se usan -1. Abre el formulario de la versión que estás probando y **elige el número de serie**. -2. Ve llenando cada sección conforme avanzas. El formulario **se guarda solo** en el - navegador: si se cierra, al reabrir con el mismo número de serie recuperas lo escrito. -3. Al final marca el **resultado** (Aprobada / Falla), escribe tu **nombre** y confirma - que seguiste el procedimiento. -4. Pulsa **Enviar acta firmada**. Queda registrada en el servidor. +1. Abre el formulario y **elige el número de serie** (o los módulos, en integración y ensamble). +2. Ve llenando cada sección conforme avanzas. El formulario **se guarda solo** en el navegador: si se + cierra, al reabrir con la misma serie recuperas lo escrito. +3. Al final marca el **resultado** (Aprobada / Falla), escribe tu **nombre** y confirma que seguiste + el procedimiento. +4. Pulsa **Enviar acta firmada**. Queda registrada en el servidor y aparece en el + [tablero de estado](../tablero.html). + +La serie **PRUEBA** sirve para practicar: no cuenta y se puede reenviar. !!! note "Para ingeniería" - Los envíos se guardan en el servidor por tipo y número de serie. Índice rápido en - `…/actas//_indice.csv`, o el listado completo en + Los envíos se guardan en el servidor por tipo y número de serie (`…/actas//`). Las actas de + integración y ensamble llevan `componentes` con los módulos elegidos. Listado completo en [`/api/actas`](/api/actas){:target="_blank"}. diff --git a/docs/descargas/SHA256SUMS.txt b/docs/descargas/SHA256SUMS.txt index b84ea21..aa0bd53 100644 --- a/docs/descargas/SHA256SUMS.txt +++ b/docs/descargas/SHA256SUMS.txt @@ -1 +1 @@ -91ca6f87a86686be33ce013110f214a7e94ae7c8909c9eea1dbe846d9b5247f3 hbox-v5-bringup_0.1.1.bin +8491625d494f9ee19a2cc0a7b00d62cc4ba5c08f0ada16572ac163ee10bf1e77 hbox-v5-bringup_0.2.0.bin diff --git a/docs/descargas/hbox-v5-bringup-README.md b/docs/descargas/hbox-v5-bringup-README.md index f447570..9688d9f 100644 --- a/docs/descargas/hbox-v5-bringup-README.md +++ b/docs/descargas/hbox-v5-bringup-README.md @@ -1,6 +1,7 @@ # hbox_v5_bringup — EinarBoard v5 first-flash bring-up firmware Bench-proves a newly assembled v5 board over USB-C **J11** only. Never powers the RTK stack. +Bench mode (0.2.0): `P`+`Y` stack ON/OFF, `n` NMEA monitor (fix 4 = RTK FIX). Checks: HSE 25 MHz + USB CDC · LSE Y4 · I2C: PCF8574 0x20 / SHT40 0x44 / TMP102 0x48 / SC16IS752 0x4D · gauge + RGB LED walk · ADC · digital inputs. Prints PASS/FAIL, then a `STAT` line every 2 s. Console commands: `r` rerun · `g` gauge walk · `i` I2C scan · `h` help. @@ -22,17 +23,21 @@ generic variant defaults to HSI, which is not accurate enough for USB. ## Flash (DFU, J11) Hold **SW2** (BOOT0) → tap **SW1** (RESET) → release SW2 → device `0483:DF11` appears. ```bash -dfu-util -a 0 -s 0x08000000:leave -D release/hbox-v5-bringup_0.1.1.bin +dfu-util -a 0 -s 0x08000000:leave -D release/hbox-v5-bringup_0.2.0.bin ``` -or STM32CubeProgrammer → USB → Connect → Download `release/hbox-v5-bringup_0.1.1.bin` @ `0x08000000`. +or STM32CubeProgrammer → USB → Connect → Download `release/hbox-v5-bringup_0.2.0.bin` @ `0x08000000`. ## Release | File | Version | SHA-256 (first 16) | Size | |---|---|---|---| -| **`release/hbox-v5-bringup_0.1.1.bin`** | **0.1.1 (2026-09-16) — USE THIS** | `91ca6f87a86686be` | 55 104 B | +| **`release/hbox-v5-bringup_0.2.0.bin`** | **0.2.0 (2026-09-17) — USE THIS** | `8491625d494f9ee1` | 64 780 B | +| `release/hbox-v5-bringup_0.1.1.bin` | 0.1.1 — superseded (no bench mode) | `91ca6f87a86686be` | 55 104 B | | `release/hbox-v5-bringup_0.1.0.bin` | 0.1.0 — SUPERSEDED (no float printf, ETH_CS driven) | `1a9a77ae479c8f86` | 41 040 B | ## Changelog +- **0.2.0** (2026-09-17): bench mode for the assembled unit — `P`+`Y` powers the RTK stack (only with 5 V on P2), + `P` again turns it off; `n` streams `$GxGGA` from the simpleRTK2B UART1 (PA3, 115200) for 20 s with fix/sats/HDOP; + `STAT` shows `stack=` and the last GGA. Charge stays disabled, K1 released. Uses the core's `Serial2` (USART2). - **0.1.1** (2026-09-16, audit): build with `rtlib=nanofp` (floats printed blank in 0.1.0); `ETH_CS` now `INPUT_PULLUP` instead of driving HIGH into the unpowered W5500; reset cause reports `PIN` only when `PINRSTF` is set (else `UNKNOWN`). diff --git a/docs/descargas/hbox-v5-bringup_0.1.1.bin b/docs/descargas/hbox-v5-bringup_0.1.1.bin deleted file mode 100644 index 488d01c3f6b1082b28f8d40cba83395de3704eec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55104 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 Me`u}$E}pUf2jArXw*UYD diff --git a/docs/descargas/hbox-v5-bringup_0.2.0.bin b/docs/descargas/hbox-v5-bringup_0.2.0.bin new file mode 100644 index 0000000000000000000000000000000000000000..a9df08377c3e551b66943345e865b71277567bac GIT binary patch literal 64780 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 literal 0 HcmV?d00001 diff --git a/docs/descargas/index.md b/docs/descargas/index.md index efbefaa..0efd661 100644 --- a/docs/descargas/index.md +++ b/docs/descargas/index.md @@ -7,16 +7,19 @@ Archivos que el técnico necesita en el banco. Verificar el SHA-256 antes de fla | Archivo | Versión | SHA-256 | Uso | |---|---|---|---| -| [**hbox-v5-bringup_0.1.1.bin**](hbox-v5-bringup_0.1.1.bin) | 0.1.1 (2026-09-16) | `91ca6f87a86686be…` ([SHA256SUMS](SHA256SUMS.txt)) | Sección 5 del [procedimiento de prueba y flasheo v5](../procedimientos/v5-prueba-y-flasheo.md) | +| [**hbox-v5-bringup_0.2.0.bin**](hbox-v5-bringup_0.2.0.bin) | **0.2.0** (2026-09-17) | `8491625d494f9ee1…` ([SHA256SUMS](SHA256SUMS.txt)) | Sección 5 del [procedimiento de prueba y flasheo v5](../procedimientos/v5-prueba-y-flasheo.md) y sección 5 del [ensamble](../procedimientos/v5-ensamble.md) (modo de banco `P` / `n`) | Flasheo por DFU en **J11** (mantener **SW2**, pulsar y soltar **SW1**, soltar SW2): ```bash -dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.1.1.bin +dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.2.0.bin ``` o con **STM32CubeProgrammer** → USB → Connect → Download del `.bin` en `0x08000000`. +!!! note "Tarjetas ya flasheadas con 0.1.1" + Re-flashear con 0.2.0 por el mismo procedimiento DFU antes del ensamble: 0.1.1 no tiene el modo de banco. + !!! warning "Solo para la tarjeta v5" Este firmware **no** es el de producción: solo prueba la tarjeta (reloj, USB, cristales, I²C, LEDs, ADC) sin encender la etapa RTK ni el cargador. **Nunca flashear `blackpillrtkcode_v3` diff --git a/docs/formularios/acta.css b/docs/formularios/acta.css index 55c442f..dea49e6 100644 --- a/docs/formularios/acta.css +++ b/docs/formularios/acta.css @@ -58,3 +58,15 @@ a.volver{color:var(--naranja);font-size:14px;text-decoration:none} button.limpiar{background:#fff;color:var(--tinta2);border:1px solid var(--linea); border-radius:10px;padding:13px 16px;font-size:15px;cursor:pointer} button.limpiar:hover{border-color:var(--naranja);color:var(--naranja)} + +/* ---- actas compuestas (ensamble / integración): estado de cada módulo ---- */ +.datos{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))} +.datos .serie-calc{grid-column:1 / -1;background:var(--naranja-suave);border:1px solid #ffd8a8;border-radius:10px;padding:10px 12px} +.datos .serie-calc input{font-weight:700;font-size:20px;letter-spacing:.04em;background:#fff} +.badge{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;padding:3px 10px;border-radius:99px;background:#f1efe9;color:var(--tinta2)} +.badge.ok{background:var(--ok-bg);color:var(--ok)} +.badge.falla{background:var(--falla-bg);color:var(--falla)} +.badge.pend{background:#f1efe9;color:var(--tinta2)} +.radios{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:4px} +.radios .rad{font-weight:500;display:flex;align-items:center;gap:6px;cursor:pointer} +.radios input{width:22px;height:22px;accent-color:var(--naranja)} diff --git a/docs/formularios/acta.js b/docs/formularios/acta.js index 4fa2200..e4e7b54 100644 --- a/docs/formularios/acta.js +++ b/docs/formularios/acta.js @@ -2,13 +2,32 @@ - Un acta real se envía UNA vez: al elegir una serie ya enviada, se carga llena y bloqueada. - Solo el administrador (leo) ve el botón "Borrar acta (reabrir)". - La serie PRUEBA no se bloquea (para practicar). - Tipos de ítem: check | medida | texto | radio | nota · Envío: POST /api/actas */ + Tipos de ítem: check | medida | texto | radio | nota · Envío: POST /api/actas + + Modos de serie: + (a) simple: cfg.prefijo + cfg.series (cantidad) [+ cfg.desde, cfg.pad] → "RTK-005" + (b) compuesta: cfg.componentes = [{clave, etiqueta, prefijo, desde, hasta, pad, tipoActa}] + cfg.serie(sel) → número de serie calculado, p.ej. "HBOX5-E07-R010-M006" + cfg.prerequisitos = [{etiqueta, tipo, serie(sel)}] → otras actas que deben existir y estar OK + cfg.exigirAprobados = true → no se puede enviar si algún componente/prerrequisito no está aprobado + cfg.unicoPorComponente = true → un componente no puede estar en dos actas de este tipo */ (function () { const $ = (t, a, ...k) => { const e = document.createElement(t); if (a) for (const p in a){ if(p==='html')e.innerHTML=a[p]; else if(p==='text')e.textContent=a[p]; else e.setAttribute(p,a[p]); } k.forEach(c=>e.append(c)); return e; }; + const num = s => (String(s || '').match(/(\d+)\s*$/) || [,''])[1]; + const esPrueba = s => String(s || '').toUpperCase().indexOf('PRUEBA') >= 0; + + function opciones(sel, prefijo, desde, hasta, pad) { + sel.append($('option', { value: '', text: '— elegir —' })); + sel.append($('option', { value: prefijo + '-PRUEBA', text: '⚙ PRUEBA (no cuenta)' })); + for (let i = desde; i <= hasta; i++) { + const s = prefijo + '-' + String(i).padStart(pad, '0'); + sel.append($('option', { value: s, text: s })); + } + } function render(cfg) { const root = document.getElementById('acta'); - const key = () => 'acta:' + cfg.tipo + ':' + (serieSel.value || ''); + const compuesta = Array.isArray(cfg.componentes) && cfg.componentes.length > 0; let admin = false; const wrap = $('div', { class: 'wrap' }); @@ -24,25 +43,57 @@ if (cfg.borrador) wrap.append($('div', { class: 'borrador', html: '⚠ BORRADOR — este formulario aún debe revisarse con ingeniería antes de usarlo como registro oficial.' })); + if (cfg.intro) wrap.append($('div', { class: 'nota-item', style: 'margin:0 0 10px', html: cfg.intro })); + // ---------------- cabecera: serie (simple o compuesta) + técnico ---------------- const datos = $('div', { class: 'datos' }); - const serieSel = $('select', { id: 'f_serie' }); - serieSel.append($('option', { value: '', text: '— elegir —' })); - serieSel.append($('option', { value: cfg.prefijo + '-PRUEBA', text: '⚙ PRUEBA (no cuenta)' })); - for (let i = 1; i <= (cfg.series || 15); i++) { - const s = cfg.prefijo + '-' + String(i).padStart(2, '0'); - serieSel.append($('option', { value: s, text: s })); - } + const serieSel = $('select', { id: 'f_serie' }); // modo simple + const serieCalc = $('input', { type: 'text', id: 'f_serie_calc', readonly: 'readonly', placeholder: 'se calcula al elegir los módulos' }); // modo compuesto + const compSel = {}; // clave ->