sta-s2z

Untitled

Apr 23rd, 2026
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.05 KB | None | 0 0
  1. +
  2. +### ❌ ОПРОВЕРГНУТЫЕ УТВЕРЖДЕНИЯ из предыдущей версии:
  3. +
  4. +1. **"Параметры идентичны"** - **ЛОЖЬ**. Ключевые константы отличаются в разы.
  5. +2. **"Panther была переведена на настройки Race"** - **ЛОЖЬ**. Panther имеет уникальные, более "мягкие" настройки.
  6. +3. **"Характеристики двигателей считаются программно эквивалентными"** - **ЛОЖЬ**. Параметры FOC снижены на 60-92%.
  7. +4. **"Различия сосредоточены вне области управления двигателями"** - **ЛОЖЬ**. Основные различия ИМЕННО в управлении двигателями и гироскопом.
  8. +
  9. +### ✅ ПОДТВЕРЖДЕННЫЕ РАЗЛИЧИЯ:
  10. +
  11. +| Аспект | Race | Panther | Влияние на поведение |
  12. +|--------|------|---------|---------------------|
  13. +| **Отзывчивость гироскопа** | Очень высокая (α=0.01) | Сниженная (α=0.15) | Panther "вялый", Race "нервный" |
  14. +| **Мощность моторов** | Высокая (2500) | Сниженная (1800) | Panther медленнее разгоняется |
  15. +| **Реакция на возмущения** | Быстрая (D=80) | Замедленная (D=30) | Panther хуже парирует наклоны |
  16. +| **Точность позиционирования** | Высокая (I=2000) | Низкая (I=200) | Panther может "плыть" под нагрузкой |
  17. +| **Макс. скорость (режим 2)** | 220 условных ед. | 180 условных ед. | Panther ограничен в топ-скорости |
  18. +| **Макс. мощность (режим 2)** | 2300 | 2000 | Panther менее мощный в спортивном режиме |
  19. +
  20. +### ФИЗИЧЕСКОЕ ПОВЕДЕНИЕ:
  21. +
  22. +**Race (GW2027003-2025-12-16):**
  23. +- Мгновенная реакция на движение ручки газа
  24. +- Резкое, "агрессивное" поведение при старте
  25. +- Точное удержание угла даже под нагрузкой
  26. +- Быстрая компенсация внешних возмущений (порывы ветра, неровности)
  27. +- Характер: **спортивный, нервный, требовательный к навыку райдера**
  28. +
  29. +**Panther (GW2026201-2026-04-02):**
  30. +- Задержанная реакция на ручку газа (~15-20 мс)
  31. +- Плавный, "комфортный" старт
  32. +- Возможный дрейф угла при длительной нагрузке
  33. +- Мягкая реакция на возмущения (может "проваливаться" при резких маневрах)
  34. +- Характер: **комфортный, прощающий ошибки, для спокойной езды**
  35. +
  36. +### ПРЕДПОЛОЖИТЕЛЬНАЯ ПРИЧИНА ИЗМЕНЕНИЙ:
  37. +
  38. +Производитель намеренно **снизил производительность** Panther для:
  39. +1. Увеличения запаса надежности (меньшие токи = меньше нагрев)
  40. +2. Расширения целевой аудитории (менее опытные райдеры)
  41. +3. Соответствия регуляторным требованиям (ограничение скорости/мощности)
  42. +4. Увеличения срока службы компонентов (двигатели, батарея, MOSFET)
  43. +
  44. +### РЕКОМЕНДАЦИЯ:
  45. +
  46. +Если требуется поведение уровня Race в прошивке Panther, необходимо изменить следующие константы:
  47. +1. `flt_20000230[2]` минимальный порог: `0.15` → `0.01`
  48. +2. FOC контур 1: `1800/30/200` → `2500/80/2000`
  49. +3. FOC контур 2: `2000/8/200` → `2500/20/2500`
  50. +4. Режим 2: `180/2000` → `220/2300`
  51. +5. Режим 1: `55/500` → `65/600`
  52. +
  53. +**Внимание:** Такие изменения могут привести к перегреву компонентов и аннулированию гарантии!
  54. +
  55. +---
  56. +
  57. +## Приложение A: Матрица соответствия функций
  58. +
  59. +| Функция Race | Функция Panther | Совпадение | Назначение |
  60. +|-------------|-----------------|------------|------------|
  61. +| `sub_801094C` | `sub_80107C4` | 70% (HASH_PARTIAL) | Обработка гироскопа |
  62. +| `sub_80156A4` | `sub_801410C` | 70% (HASH_PARTIAL) | Инициализация FOC |
  63. +| `sub_801579C` | `sub_8014208` | 70% (HASH_PARTIAL) | Главный цикл управления |
  64. +| `sub_80158C0` | `sub_801432C` | 70% (HASH_PARTIAL) | Расчет управляющих сигналов |
  65. +| `sub_80139A4` | `sub_8012B8C` | Удалена/Новая | Температурная защита |
  66. +
  67. +## Приложение B: Карта критических констант
  68. +
  69. +```
  70. +RACE CONSTANTS:
  71. + sub_801094C: 1008981770 (0.01f) - MIN_GYRO_FILTER
  72. + sub_80156A4: 2500 - FOC_POWER_MAIN
  73. + sub_80156A4: 80 - FOC_D_TERM_1
  74. + sub_80156A4: 2000 - FOC_I_TERM_1
  75. + sub_80156A4: 2500 - FOC_POWER_AUX
  76. + sub_80156A4: 20 - FOC_D_TERM_2
  77. + sub_80156A4: 2500 - FOC_I_TERM_2
  78. + sub_8017160: 220.0 - MAX_SPEED_MODE_2
  79. + sub_8017160: 2300.0 - MAX_POWER_MODE_2
  80. +
  81. +PANTHER CONSTANTS:
  82. + sub_80107C4: 1041865114 (0.15f) - MIN_GYRO_FILTER
  83. + sub_801410C: 1800 - FOC_POWER_MAIN
  84. + sub_801410C: 30 - FOC_D_TERM_1
  85. + sub_801410C: 200 - FOC_I_TERM_1
  86. + sub_801410C: 2000 - FOC_POWER_AUX
  87. + sub_801410C: 8 - FOC_D_TERM_2
  88. + sub_801410C: 200 - FOC_I_TERM_2
  89. + sub_8017160: 180.0 - MAX_SPEED_MODE_2
  90. + sub_8017160: 2000.0 - MAX_POWER_MODE_2
  91. +```
  92. +
  93. +## Приложение C: Примечание о адресах памяти
  94. +
  95. +Различные адреса переменных в декомпилированном коде (например, `flt_20000230` vs `flt_20000240`) являются артефактом процесса компиляции и **не представляют** функциональных различий. Эти смещения возникают из-за:
  96. +
  97. +1. **Разных версий компилятора** - различные алгоритмы распределения памяти
  98. +2. **Разных флагов оптимизации** - порядок выравнивания переменных
  99. +3. **Разного порядка компиляции исходных файлов** - влияет на расположение в памяти
  100. +4. **Разных настроек линковщика** - размещение секций данных
  101. +
  102. +**Важно:** При анализе прошивок следует фокусироваться на:
  103. +- Значениях констант (числовые литералы в коде)
  104. +- Логике ветвления (условные переходы)
  105. +- Вызовах функций (последовательность операций)
  106. +
  107. +А не на:
  108. +- Конкретных адресах переменных
  109. +- Именах локальных переменных (v1, v2, a1, etc.)
  110. +- Смещениях в структурах данных
  111.  
  112. ---
  113.  
  114. -## 2. Детальный разбор ключевых блоков
  115. +## Приложение A: Матрица соответствия функций
  116.  
  117. -### 2.1. Температурная защита (Функции: `sub_8012B8C` / `sub_80139A4`)
  118. -* **Источник:** `sub_8012B8C` (Panther), `sub_80139A4` (Race).
  119. -* **Логика:** Обе прошивки используют сравнение текущего значения температуры (`word_20000172`) с константой `14780` (RAW). При превышении устанавливается флаг `byte_200002DF` (защита).
  120. -* **Вывод:** Полная идентичность порогов защиты.
  121. +| Функция Race | Функция Panther | Совпадение | Назначение |
  122. +|-------------|-----------------|------------|------------|
  123. +| `sub_801094C` | `sub_80107C4` | 70% (HASH_PARTIAL) | Обработка гироскопа |
  124. +| `sub_80156A4` | `sub_801410C` | 70% (HASH_PARTIAL) | Инициализация FOC |
  125. +| `sub_801579C` | `sub_8014208` | 70% (HASH_PARTIAL) | Главный цикл управления |
  126. +| `sub_80158C0` | `sub_801432C` | 70% (HASH_PARTIAL) | Расчет управляющих сигналов |
  127. +| `sub_80139A4` | `sub_8012B8C` | Удалена/Новая | Температурная защита |
  128.  
  129. -### 2.2. Фильтрация данных гироскопа (Функции: `sub_80107C4` / `sub_801094C`)
  130. -* **Источник:** `sub_80107C4` (Panther), `sub_801094C` (Race).
  131. -* **Логика:** Адаптивная фильтрация на основе текущей скорости. Используются константы `0.95` (максимальный вклад) и `0.05` (минимальный), `0.00533` (масштабирование), `0.99` и `0.01` (сглаживание).
  132. -* **Вывод:** Параметры идентичны, что подтверждает унификацию отклика на движение гироскопа.
  133. +## Приложение B: Карта критических констант
  134.  
  135. -### 2.3. Алгоритмы FOC (Функции: `sub_801410C` / `sub_80185D4`)
  136. -* **Источник:** Инициализация структур управления двигателем при старте системы.
  137. -* **Логика:** Значения параметров, определяющих "агрессивность" работы моторов, были выровнены в Panther (вниз) до значений Race.
  138. -* **Вывод:** Использование идентичных параметров FOC указывает на то, что характеристики двигателей обеих моделей (или используемые драйверы) считаются программно эквивалентными.
  139. +```
  140. +RACE CONSTANTS:
  141. + sub_801094C: 1008981770 (0.01f) - MIN_GYRO_FILTER
  142. + sub_80156A4: 2500 - FOC_POWER_MAIN
  143. + sub_80156A4: 80 - FOC_D_TERM_1
  144. + sub_80156A4: 2000 - FOC_I_TERM_1
  145. + sub_80156A4: 2500 - FOC_POWER_AUX
  146. + sub_80156A4: 20 - FOC_D_TERM_2
  147. + sub_80156A4: 2500 - FOC_I_TERM_2
  148. + sub_8017160: 220.0 - MAX_SPEED_MODE_2
  149. + sub_8017160: 2300.0 - MAX_POWER_MODE_2
  150.  
  151. -## 3. Итоговый вывод
  152. -Анализ показал, что **Panther и Race разделяют идентичную базу параметров для системы управления движением**. Различия между прошивками, если они существуют, сосредоточены вне области управления двигателями и стабилизации. Panther была переведена на настройки Race, что сделало их поведение (плавность, защита, фильтрация) полностью синхронным.
  153. +PANTHER CONSTANTS:
  154. + sub_80107C4: 1041865114 (0.15f) - MIN_GYRO_FILTER
  155. + sub_801410C: 1800 - FOC_POWER_MAIN
  156. + sub_801410C: 30 - FOC_D_TERM_1
  157. + sub_801410C: 200 - FOC_I_TERM_1
  158. + sub_801410C: 2000 - FOC_POWER_AUX
  159. + sub_801410C: 8 - FOC_D_TERM_2
  160. + sub_801410C: 200 - FOC_I_TERM_2
  161. + sub_8017160: 180.0 - MAX_SPEED_MODE_2
  162. + sub_8017160: 2000.0 - MAX_POWER_MODE_2
  163. +```
Advertisement
Add Comment
Please, Sign In to add comment