0
271

Поиметь Сильвер. Эротико-порнографическая статья. 2/2

прошивка полётника

продолжение


Прошивка полётника под пищалку моторами


Если вы прошились JESC то скорее всего вам этого достаточно. Полетайте так. Но если ну очень нужен к примеру бипер моторами, который собственно пищит то очень тихо, то дальше для вас.


Существенное дополнение. Я попытался прошить старый полётник, он с виду такой же как оранжевый только чёрного цвета. И получил не летающий вуп - работает только газ а остальные каналы молчат. Прошивка на заводскую LiteSilverware_f042_1s_bl_v1.0.hex возвращает вуп к жизни. В чём дело не разбирался но рекомендую прошивать оранжевые.




1. Компиляция



Если вы не имеете навыков в программировании, то лучше скачайте уже готовый образ HEX

https://yadi.sk/d/kPs8zYDIt87kjw


Если вы что-то сделаете не так или не понравится моя прошивка то теоретически всегда можно будет прошиться стандартной прошивкой по умолчанию. В интернете по поиску LiteSilverware_f042_1s_bl_v1.0.hex

https://yadi.sk/d/XLpcC2Oka3-MOQ


Для прошивки нам понадобится ST-LINK программатор

Компилировать будем программой Arm Keil. Установить её пробную версию можно с

https://www.keil.com/demo/eval/arm.htm


При установке нам возможно понадобятся драйвера и прочие неприятности. Но это осилите. Возможно будет война с драйверами через Zadig, будем надеяться что нет.

https://zadig.akeo.ie/


Оборудование нам нужно под stm32f042g6ux потому как у нас процессор STM32F042G6U6. При установке-запуске Keil выводит форму, позволяющую выбрать этот процессор.


Сами исходные тексты как это указано на картинке выше из описания сильвера расположены на

https://github.com/BETAFPV/LiteSilverware

Нас интересует прошивка под 1s, выбираем её и скачиваем Code-Dowload ZIP, который открываем

..\LiteSilverware-f042_1s_bl\Silverware\silverware.uvprojx


Ничего не правим в коде, пробуем компиляцию по клавише F7.

Опять же рекомендую посмотреть этот процесс в видео

https://www.youtube.com/watch?v=lovWwyzNWFo


Подводные камни:

Keil версия без лицензии не откомпилирует код и выдаст ошибку. Это проблема. Evalation версия имеет какие-то ограничения на размер файла или исходного когда. Используйте готовый hex файл для прошивки или боритесь с Keil.

В Keil при прошивке есть функция автоматичского обновления ST-LINK программатора, штука удобная и может пригодится. Это есть в видео.


2.Правки кода под бипер


У меня настойчивое впечатление что код на github меняется, так что вы можете скачать что-то похожее но не точно такое же. К примеру код что я скачал немного отличается от кода в видео.

Открываем если ещё не открыли в Keil проект

..\LiteSilverware-f042_1s_bl\Silverware\silverware.uvprojx


Config.h

#define Lite_BrushlessRX

Безколлекторый вуп со встроенным приемником. В видео у камрада стояла отдельная опция для FrSky, но этого достаточно.


//#define BUZZER_ENABLE CHAN_OFF

#define BUZZER_ENABLE CHAN_8


Сажаем баззер на 8 канал. По идее можно выбрать любой от CHAN_6 до CHAN_8.

К примеру у меня на LiteRadio2 по факту каналом 8 управляет тумблер SD.


#define MOTOR_BEEPS

Может лишнее но пусть будет.


hardware.h


вместо

#if defined(Lite_Brushless)

//FC must have MOSFETS and motor pulldown resistors removed. MAY NOT WORK WITH ALL ESCS

#define USE_SERIAL_4WAY_BLHELI_INTERFACE


Пусть будет

#if defined(Lite_BrushlessRX)

//FC must have MOSFETS and motor pulldown resistors removed. MAY NOT WORK WITH ALL ESCS

#define USE_SERIAL_4WAY_BLHELI_INTERFACE


Это чтобы оставить возможность прошить регуляторы по BLHELI на нашем Lite_BrushlessRX

Крайне рекомендую.


Target.h


#define Lite_OSD


комментим


//#define Lite_OSD


Отключаем OSD. Можно не отключать, но тогда надо что-то отключать ещё. Потому как исходный HEX получается большим и не влезет в полётник, будет писать ошибки с памятью наподобие:

memory exceed

Error: Flash Download failed - "Cortex-M0"


Buzzer.c


Можно удалить всё, сведя к виду


#include "project.h"

#include "drv_time.h"

#include "buzzer.h"

#include "defines.h"

#include "led.h"


#ifdef BUZZER_ENABLE

void buzzer(){

extern char aux[];

   extern int failsafe;                      

if ( aux[BUZZER_ENABLE] )           {

                   ledflash ( 500000 , 8);

                extern void motorbeep( void);

                   motorbeep();                                  

}}

#endif


Drv_dshot_dma.c


Этот файл придётся открыть в Keil вручную через File-Open

..\LiteSilverware-f042_1s_bl\Silverware\src\drv_dshot_dma.c


void motorbeep(){           

static unsigned long motor_beep_time = 0;           

if ( failsafe ) {


исправляем на


void motorbeep(){           

static unsigned long motor_beep_time = 0;           

if ( failsafe || aux[BUZZER_ENABLE]) {


Компилируем (F7) и если повезёт получаем hex файл вида

…\LiteSilverware-f042_1s_bl\Silverware\Objects\nfe_silverware.hex


Смотрим на размер файла. Если он порядка 90килобайт, то это не влезет в полётник. Прошивки будут ругаться на память. Hex файл должен быть в районе 79-81 килобайт.

Надо обрезать функциональность в исходных кодах. Как вариант мною предложенный отключать OSD. Не нужен на вупах ОСД, пользуйтесь таймарами и сажайтесь как просядет тяга.



3. Прошивка полётника


Подключаем наш полётник к ST-LINK

D - SWDIO

C - SWCLK

G – GND


Подключаем батку.


Можно попробовать прошить из Keil, Download (F8) как это сделано в видео

https://www.youtube.com/watch?v=lovWwyzNWFo

Но есть вариант что не выйдет.


У меня прошивка очень бодро прошла через утилиту STM32CubeProgrammer

https://www.st.com/en/development-tools/stm32cubeprog.html


Подключаем через St-link полётник с баткой.


Open File,

Выбираем наш nfe_silverware.hex


Connect – должно быть успешно. Если упорно не хочет видеть st-link, боритесь с драйверами. Если не видит target (наш полётник) то смотрите-шевелите контакт нашего разъёма со штырьками на полётнике.


Download – полётник должен прошиться и выдать сообщение об успехе.


Готово. Заново биндимся. Проверяем что канал 8 работает – по тумблеру будет мигать зелёный светодиод на полётнике.


Квадрокоптер может не полететь если будут при арминге включены какие-то другие каналы с 6 по 8. Если квадрокоптер ведёт себя странно, в первую очередь проверяйте тумблеры.



Полетели?


Не факт. Если коптер вертится как волчёк, брыкается. То скорее всего моторы вертятся не так как нужно, даже если в родной прошивке они крутились как надо. Первое это посмотреть тубмлеры, повешенные на 6,7,8 каналы, всё ли выключено.


Возможно неправильно на аппе у вас настроен коптер, должно быть AETR. Хотя LiteRadio успешно работает с TAER потому как на моей literadio походу каналы все перепутаны.


Если нет, я не знаю как это исправить прошивкой, в прошивке законно стоят PROPS OUT как #define INVERT_YAW_PID


Исправьте вращение через BLHELI.


Законным считается что Красный провод это вращение по часовой стрелке CW а Чёрный против часовой CCW.


У меня после прошивки направление пропов слетело и нормально летает только так

1 – Normal

2 – Reverse

3 – Reverse

4 – Normal


На рисунке из инстукции направления вращения и номер регулятора показан со стороны брюха



Удачных полётов.

Любое копирование, правки и публикации абсолютно свободны.


p.s. а ещё st-link может быть с браком или контакты перепутаны. И в поле если влажность большая полётник может не заармится и надо его мазать жижей... И так можно говорить многое, но вы я думаю уже всё поняли.


p.p.s

Сильвер без сюрпризов не сильвер. Выезжаете вы на природу. Армитесь. Не работает. Полётник тупо не запускается до конца. Приезжаете домой – работает. Выезжаете – не работает. Приезжаете домой – работает.


ОСД в таких случаях якобы (мы же его отключили) пишет low battery и полётник не может стартовать. Отключаем эту левую функцию.


config.h


// *************do not start software if battery is too low (below 3.3v per cell) - only works on 1s lipos

// *************flashes 2 times repeatedly at startup

#define STOP_LOWBATTERY


Комментим как 


// *************do not start software if battery is too low (below 3.3v per cell) - only works on 1s lipos

// *************flashes 2 times repeatedly at startup

//#define STOP_LOWBATTERY


Последняя прошивка с фиксеным этим багом

https://yadi.sk/d/-MCQjxpJe0Lkbg

0
271
Комментарий (0)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.