Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- +
- +### ❌ ОПРОВЕРГНУТЫЕ УТВЕРЖДЕНИЯ из предыдущей версии:
- +
- +1. **"Параметры идентичны"** - **ЛОЖЬ**. Ключевые константы отличаются в разы.
- +2. **"Panther была переведена на настройки Race"** - **ЛОЖЬ**. Panther имеет уникальные, более "мягкие" настройки.
- +3. **"Характеристики двигателей считаются программно эквивалентными"** - **ЛОЖЬ**. Параметры FOC снижены на 60-92%.
- +4. **"Различия сосредоточены вне области управления двигателями"** - **ЛОЖЬ**. Основные различия ИМЕННО в управлении двигателями и гироскопом.
- +
- +### ✅ ПОДТВЕРЖДЕННЫЕ РАЗЛИЧИЯ:
- +
- +| Аспект | Race | Panther | Влияние на поведение |
- +|--------|------|---------|---------------------|
- +| **Отзывчивость гироскопа** | Очень высокая (α=0.01) | Сниженная (α=0.15) | Panther "вялый", Race "нервный" |
- +| **Мощность моторов** | Высокая (2500) | Сниженная (1800) | Panther медленнее разгоняется |
- +| **Реакция на возмущения** | Быстрая (D=80) | Замедленная (D=30) | Panther хуже парирует наклоны |
- +| **Точность позиционирования** | Высокая (I=2000) | Низкая (I=200) | Panther может "плыть" под нагрузкой |
- +| **Макс. скорость (режим 2)** | 220 условных ед. | 180 условных ед. | Panther ограничен в топ-скорости |
- +| **Макс. мощность (режим 2)** | 2300 | 2000 | Panther менее мощный в спортивном режиме |
- +
- +### ФИЗИЧЕСКОЕ ПОВЕДЕНИЕ:
- +
- +**Race (GW2027003-2025-12-16):**
- +- Мгновенная реакция на движение ручки газа
- +- Резкое, "агрессивное" поведение при старте
- +- Точное удержание угла даже под нагрузкой
- +- Быстрая компенсация внешних возмущений (порывы ветра, неровности)
- +- Характер: **спортивный, нервный, требовательный к навыку райдера**
- +
- +**Panther (GW2026201-2026-04-02):**
- +- Задержанная реакция на ручку газа (~15-20 мс)
- +- Плавный, "комфортный" старт
- +- Возможный дрейф угла при длительной нагрузке
- +- Мягкая реакция на возмущения (может "проваливаться" при резких маневрах)
- +- Характер: **комфортный, прощающий ошибки, для спокойной езды**
- +
- +### ПРЕДПОЛОЖИТЕЛЬНАЯ ПРИЧИНА ИЗМЕНЕНИЙ:
- +
- +Производитель намеренно **снизил производительность** Panther для:
- +1. Увеличения запаса надежности (меньшие токи = меньше нагрев)
- +2. Расширения целевой аудитории (менее опытные райдеры)
- +3. Соответствия регуляторным требованиям (ограничение скорости/мощности)
- +4. Увеличения срока службы компонентов (двигатели, батарея, MOSFET)
- +
- +### РЕКОМЕНДАЦИЯ:
- +
- +Если требуется поведение уровня Race в прошивке Panther, необходимо изменить следующие константы:
- +1. `flt_20000230[2]` минимальный порог: `0.15` → `0.01`
- +2. FOC контур 1: `1800/30/200` → `2500/80/2000`
- +3. FOC контур 2: `2000/8/200` → `2500/20/2500`
- +4. Режим 2: `180/2000` → `220/2300`
- +5. Режим 1: `55/500` → `65/600`
- +
- +**Внимание:** Такие изменения могут привести к перегреву компонентов и аннулированию гарантии!
- +
- +---
- +
- +## Приложение A: Матрица соответствия функций
- +
- +| Функция Race | Функция Panther | Совпадение | Назначение |
- +|-------------|-----------------|------------|------------|
- +| `sub_801094C` | `sub_80107C4` | 70% (HASH_PARTIAL) | Обработка гироскопа |
- +| `sub_80156A4` | `sub_801410C` | 70% (HASH_PARTIAL) | Инициализация FOC |
- +| `sub_801579C` | `sub_8014208` | 70% (HASH_PARTIAL) | Главный цикл управления |
- +| `sub_80158C0` | `sub_801432C` | 70% (HASH_PARTIAL) | Расчет управляющих сигналов |
- +| `sub_80139A4` | `sub_8012B8C` | Удалена/Новая | Температурная защита |
- +
- +## Приложение B: Карта критических констант
- +
- +```
- +RACE CONSTANTS:
- + sub_801094C: 1008981770 (0.01f) - MIN_GYRO_FILTER
- + sub_80156A4: 2500 - FOC_POWER_MAIN
- + sub_80156A4: 80 - FOC_D_TERM_1
- + sub_80156A4: 2000 - FOC_I_TERM_1
- + sub_80156A4: 2500 - FOC_POWER_AUX
- + sub_80156A4: 20 - FOC_D_TERM_2
- + sub_80156A4: 2500 - FOC_I_TERM_2
- + sub_8017160: 220.0 - MAX_SPEED_MODE_2
- + sub_8017160: 2300.0 - MAX_POWER_MODE_2
- +
- +PANTHER CONSTANTS:
- + sub_80107C4: 1041865114 (0.15f) - MIN_GYRO_FILTER
- + sub_801410C: 1800 - FOC_POWER_MAIN
- + sub_801410C: 30 - FOC_D_TERM_1
- + sub_801410C: 200 - FOC_I_TERM_1
- + sub_801410C: 2000 - FOC_POWER_AUX
- + sub_801410C: 8 - FOC_D_TERM_2
- + sub_801410C: 200 - FOC_I_TERM_2
- + sub_8017160: 180.0 - MAX_SPEED_MODE_2
- + sub_8017160: 2000.0 - MAX_POWER_MODE_2
- +```
- +
- +## Приложение C: Примечание о адресах памяти
- +
- +Различные адреса переменных в декомпилированном коде (например, `flt_20000230` vs `flt_20000240`) являются артефактом процесса компиляции и **не представляют** функциональных различий. Эти смещения возникают из-за:
- +
- +1. **Разных версий компилятора** - различные алгоритмы распределения памяти
- +2. **Разных флагов оптимизации** - порядок выравнивания переменных
- +3. **Разного порядка компиляции исходных файлов** - влияет на расположение в памяти
- +4. **Разных настроек линковщика** - размещение секций данных
- +
- +**Важно:** При анализе прошивок следует фокусироваться на:
- +- Значениях констант (числовые литералы в коде)
- +- Логике ветвления (условные переходы)
- +- Вызовах функций (последовательность операций)
- +
- +А не на:
- +- Конкретных адресах переменных
- +- Именах локальных переменных (v1, v2, a1, etc.)
- +- Смещениях в структурах данных
- ---
- -## 2. Детальный разбор ключевых блоков
- +## Приложение A: Матрица соответствия функций
- -### 2.1. Температурная защита (Функции: `sub_8012B8C` / `sub_80139A4`)
- -* **Источник:** `sub_8012B8C` (Panther), `sub_80139A4` (Race).
- -* **Логика:** Обе прошивки используют сравнение текущего значения температуры (`word_20000172`) с константой `14780` (RAW). При превышении устанавливается флаг `byte_200002DF` (защита).
- -* **Вывод:** Полная идентичность порогов защиты.
- +| Функция Race | Функция Panther | Совпадение | Назначение |
- +|-------------|-----------------|------------|------------|
- +| `sub_801094C` | `sub_80107C4` | 70% (HASH_PARTIAL) | Обработка гироскопа |
- +| `sub_80156A4` | `sub_801410C` | 70% (HASH_PARTIAL) | Инициализация FOC |
- +| `sub_801579C` | `sub_8014208` | 70% (HASH_PARTIAL) | Главный цикл управления |
- +| `sub_80158C0` | `sub_801432C` | 70% (HASH_PARTIAL) | Расчет управляющих сигналов |
- +| `sub_80139A4` | `sub_8012B8C` | Удалена/Новая | Температурная защита |
- -### 2.2. Фильтрация данных гироскопа (Функции: `sub_80107C4` / `sub_801094C`)
- -* **Источник:** `sub_80107C4` (Panther), `sub_801094C` (Race).
- -* **Логика:** Адаптивная фильтрация на основе текущей скорости. Используются константы `0.95` (максимальный вклад) и `0.05` (минимальный), `0.00533` (масштабирование), `0.99` и `0.01` (сглаживание).
- -* **Вывод:** Параметры идентичны, что подтверждает унификацию отклика на движение гироскопа.
- +## Приложение B: Карта критических констант
- -### 2.3. Алгоритмы FOC (Функции: `sub_801410C` / `sub_80185D4`)
- -* **Источник:** Инициализация структур управления двигателем при старте системы.
- -* **Логика:** Значения параметров, определяющих "агрессивность" работы моторов, были выровнены в Panther (вниз) до значений Race.
- -* **Вывод:** Использование идентичных параметров FOC указывает на то, что характеристики двигателей обеих моделей (или используемые драйверы) считаются программно эквивалентными.
- +```
- +RACE CONSTANTS:
- + sub_801094C: 1008981770 (0.01f) - MIN_GYRO_FILTER
- + sub_80156A4: 2500 - FOC_POWER_MAIN
- + sub_80156A4: 80 - FOC_D_TERM_1
- + sub_80156A4: 2000 - FOC_I_TERM_1
- + sub_80156A4: 2500 - FOC_POWER_AUX
- + sub_80156A4: 20 - FOC_D_TERM_2
- + sub_80156A4: 2500 - FOC_I_TERM_2
- + sub_8017160: 220.0 - MAX_SPEED_MODE_2
- + sub_8017160: 2300.0 - MAX_POWER_MODE_2
- -## 3. Итоговый вывод
- -Анализ показал, что **Panther и Race разделяют идентичную базу параметров для системы управления движением**. Различия между прошивками, если они существуют, сосредоточены вне области управления двигателями и стабилизации. Panther была переведена на настройки Race, что сделало их поведение (плавность, защита, фильтрация) полностью синхронным.
- +PANTHER CONSTANTS:
- + sub_80107C4: 1041865114 (0.15f) - MIN_GYRO_FILTER
- + sub_801410C: 1800 - FOC_POWER_MAIN
- + sub_801410C: 30 - FOC_D_TERM_1
- + sub_801410C: 200 - FOC_I_TERM_1
- + sub_801410C: 2000 - FOC_POWER_AUX
- + sub_801410C: 8 - FOC_D_TERM_2
- + sub_801410C: 200 - FOC_I_TERM_2
- + sub_8017160: 180.0 - MAX_SPEED_MODE_2
- + sub_8017160: 2000.0 - MAX_POWER_MODE_2
- +```
Advertisement
Add Comment
Please, Sign In to add comment