﻿Diagnost 3.0 — диагностика BMW: бэкап / ошибки / тесты / кодирование
================================================================

© 2026 Diagnost. Все права защищены. Проприетарное ПО. Декомпиляция,
деобфускация и любой реверс-инжиниринг запрещены (см. LICENSE.txt).
Proprietary software — do not decompile, deobfuscate or reverse engineer.

ЧТО ЭТО
  Программа для BMW (E-серия, F-серия, G-серия) через кабель K+DCAN или ENET:
   • Бэкап     — снимок всех блоков (ident, ошибки, кодирование) на рабочий стол.
   • Ошибки    — опрос всех модулей с расшифровкой кодов на русском, кликабельные ссылки.
   • Тесты     — поиск и запуск jobs (steuern_), регистрация АКБ, сброс ТО, живые данные.
   • Кодирование — чтение, безопасный откат, кодирование по имени функции.
   • Анализ сна — кто будит шину, кто не засыпает (для диагностики паразитного тока).
   • Паспорт   — ident всех модулей с обогащением KMM (вариант детали + дата выпуска).
   • Пробег    — сверка одометра по CAS / KOMBI / DSC / EGS / DDE.
   • Сервис (CBS), сажевый (DPF), комплектация (VO/FA) — отдельными кнопками.
   • Графики   — запись параметров поездки в реальном времени + просмотр логов.
   • История   — карточки машин по VIN: лента событий и снимки ошибок с разницей
                 «что появилось / что ушло» с прошлого чтения.
   • ИИ Диагност — чат-автодиагност: сам читает ошибки/датчики и разбирает их.

КАК ВЫГЛЯДИТ ПРОГРАММА (с версии 3.4 — веб-интерфейс)
  Программа открывается в окне браузера — без адресной строки и вкладок, как
  обычное приложение. Значок остаётся в трее (у часов): двойной клик — открыть
  окно, правая кнопка — меню.
   • Всё работает на вашем компьютере: сервер слушает только localhost, наружу
     ничего не открыто, интернет для диагностики не нужен.
   • Открывается в Chrome; если его нет — в браузере по умолчанию.
   • Окно всегда одно: повторный запуск ярлыка поднимает уже открытое.
   • Старое окно программы никуда не делось — оно доступно из меню значка в трее
     (пункт «Старое окно»), там пока живут кодирование и запись.

  БЕЗ EDIABAS (BMW Standard Tools) программа тоже работает — как универсальный
  OBD-II сканер для ЛЮБОЙ марки через адаптер ELM327: ошибки двигателя, живые
  датчики, готовность, стирание, ИИ-диагност. BMW-функции включаются
  автоматически, когда на компьютере есть C:\EDIABAS.
  Адаптеры ELM327 подходят любые: USB, Bluetooth-классика (COM-порт) и
  Bluetooth LE (адаптеры «для iOS» вроде KONNWEI — их Windows-COM-порт мёртв,
  программа находит их сама по Bluetooth, ничего настраивать не надо; адаптер
  должен быть один раз сопряжён в настройках Bluetooth Windows).

ПОДДЕРЖКА КУЗОВОВ (26 профилей)
  E-серия: E36, E38, E39, E46, E52, E53, E60, E65, E70, E83, E85, E89, E90
  Mini:    R50, R56
  F-серия: F01, F10, F15, F25, F30  (через K+DCAN)
  G-серия: G01, G05, G11, G20, G30  (только через ENET-кабель, DoIP)

  Кодирование «по имени функции» (вкладка ФУНКЦИИ, галочки) — только E-серия и Mini
  (14 кузовов: E36–E89, R50/R56; база NCS). Для E90 и F/G-серии база функций пока
  не собрана — там доступны диагностика/бэкап/тесты, кодирование только экспертное.
  Если базы для кузова нет, но на компьютере установлен NCS Expert с датой
  (C:\NCSEXPER\DATEN) — программа соберёт базу функций автоматически.

УСТАНОВКА (один раз, нужны права администратора)
  1. Распакуйте эту папку в любое место.
  2. Запустите «Установить.bat» (правой кнопкой → «Запуск от имени администратора»,
     либо просто двойным кликом — скрипт сам запросит права).
  3. Скрипт сам:
       • скопирует EDIABAS 7.7.2 в C:\EDIABAS, если он есть в пакете
         (если в пакете его нет — использует уже установленный C:\EDIABAS,
         а без него программа работает как OBD-II сканер через ELM327),
       • поставит программу в C:\Diagnost,
       • установит драйвер кабеля K+DCAN (FTDI), если он есть в пакете,
       • создаст ярлык «Diagnost» на рабочем столе,
       • перенесёт данные из старой CarBox если она у вас стояла.
  4. Воткните кабель K+DCAN в USB ноутбука + в OBD авто, запустите ярлык.

ДЛЯ G-СЕРИИ (новые BMW 2017+)
  K+DCAN с G-серией не работает — нужен ENET-кабель (OBD ↔ RJ45, ~10$ Aliexpress
  по запросу "BMW ENET cable"). Драйверов не требует — обычный Ethernet.
  Diagnost автоматически переключит транспорт на DoIP при выборе G-профиля.

ЕСЛИ EDIABAS УЖЕ СТОИТ
  • Версия 7.7.2 (наша): только добавит недостающие блоки ECU, не перетрёт.
  • Версия 7.3.0 (старая INPA): обновится до 7.7.2 + добавит SGBD для F/G серии.

РУЧНАЯ УСТАНОВКА (если не хотите запускать .bat)
  • Скопируйте папку EDIABAS в C:\EDIABAS (получится C:\EDIABAS\Bin и C:\EDIABAS\ECU).
  • Скопируйте папку App в C:\Diagnost.
  • Драйвер кабеля: правый клик по Drivers\bus\ftdibus.inf → «Установить»,
    затем то же для Drivers\port\ftdiport.inf.
  • Запускайте C:\Diagnost\Diagnost.exe.

  Примечание: комплект драйверов FTDI в папке Drivers — для 64-битных Windows.
  На 32-битной Windows скачайте драйвер VCP с ftdichip.com (или Windows Update
  поставит его сам при подключении кабеля).

ВАЖНО ПРО БЕЗОПАСНОСТЬ КОДИРОВАНИЯ
  • Любая запись в блок: сначала автобэкап → меняются только нужные байты →
    чтение обратно → сверка → авто-откат при несовпадении.
  • Писать только при напряжении ≥ 13 В (зарядное подключено),
    кабель во время записи не дёргать.
  • Первые тесты записи — на безопасном блоке (FZD / HKL), CAS — в конце.
  • Перед каждой правкой кодировки автоматически создаётся .bin-бэкап
    в %LocalAppData%\Diagnost\coding\ — можно откатиться через cpatch.exe.

КОНСОЛЬНЫЕ УТИЛИТЫ (в той же папке)
  • cread.exe    — чтение блока кодировки
  • cwrite.exe   — запись блока FRM 3400 (legacy)
  • cfaults.exe  — чтение и стирание FS
  • cpatch.exe   — универсальный byte-патч (multi-edit + XOR + verify + rollback)
  • ccode.exe    — кодирование по имени (через codemap.txt)
  • cwakeup.exe  — анализ сна / пробуждения по всем профилям
  • datenread.exe — парсер NCS .C## файлов

ЛОГИ
  Кнопка «ЛОГИ» в сайдбаре открывает папку с журналами (%LocalAppData%\Diagnost\logs).
  Если что-то не так — посмотрите там, последний файл diagnost-YYYY-MM-DD.log.

ОТКАТ ПРАВОК КОДИРОВАНИЯ
  Журнал всех правок в %LocalAppData%\Diagnost\coding\ROLLBACK_LOG.md.
  Каждая правка содержит точную команду cpatch.exe для восстановления.

ЛИЦЕНЗИЯ
  Программа Diagnost и её базы данных — собственность авторов, ВСЕ ПРАВА ЗАЩИЩЕНЫ.
  Использование — только с разрешения авторов; копирование, распространение,
  продажа, взлом и модификация запрещены и нарушают авторские права.
  При первом запуске программа попросит принять лицензионное соглашение.
  Полный текст — в App\LICENSE.txt. Компоненты третьих сторон (EDIABAS, данные
  BMW, драйверы FTDI) — собственность их правообладателей.
  Программа не аффилирована с BMW Group AG; BMW — товарный знак BMW AG,
  упоминается только для указания совместимости.

ВЕРСИЯ: 3.5  (ребрендинг: программа переименована из CarBox в Diagnost,
данные пользователя переносятся автоматически — 2026-08-21)
  Ранее: 3.4 — веб-интерфейс как основной вид программы + значок в трее +
         раздел ИСТОРИЯ; профили E-серии выверены по данным BMW (2026-08-20);
         3.3 — лицензионное соглашение при первом запуске (2026-08-14);
         3.2 — HiDPI/адаптивность, ИИ-диагност, OBD-режим без EDIABAS.