#!/usr/bin/env python3 """Generate a single-file WebSerial flasher (flasher.html) with the firmware embedded. Open in Chrome/Edge, one button flashes the RT-4D.""" import base64, os ROOT = "C:/Users/vikto/Documents/Claude/rt-4d" FW = f"{ROOT}/stock-fw/rt4d_ru_full.bin" OUT = f"{ROOT}/dist/Ru-4D_flasher.html" fw = open(FW, "rb").read() b64 = base64.b64encode(fw).decode() HTML = """ Ru-4D — Прошивка

Ru-4D — Прошивка рации

Откройте этот файл в Google Chrome или Microsoft Edge (нужен WebSerial).
  1. Выключите рацию.
  2. Включите её, удерживая клавишу «*» (режим прошивки).
  3. Подключите рацию к ПК кабелем USB-C.
  4. Нажмите «Прошить» и выберите COM-порт рации.
  5. Не отключайте кабель до конца записи.
""" info = f"Прошивка Ru-4D V3.25 (русифицированная) · {len(fw)} байт" html = HTML.replace("__B64__", b64).replace("__INFO__", info) os.makedirs(os.path.dirname(OUT), exist_ok=True) open(OUT, "w", encoding="utf-8").write(html) print(f"firmware {len(fw)} B -> base64 {len(b64)} chars") print(f"wrote {OUT} ({len(html)} bytes)")