Jumper T-Pro

supermario

Подскажите возможно ли инвертировать навигационный скролл “малой кровью”?

В самом низу настройки радио должна быть такая настройка

Radio with rotary encoder now have an option to invert encoder direction in radio setup
www.open-tx.org/2022/04/22/opentx-2.3.15

CuHonTuK
supermario:

В самом низу настройки радио должна быть такая настройка

Спасибо! Сам бы никогда не догадался бы что этот пункт называется "RotEnc Mode"😅

VladimirKapt
r1000:
  • далее заходим в тулс и запускаем ExpressLRS скрипт. Должно подключиться

столкнулся с тем, что при запуске ExpressLRS скрипта аппаратура переходит на экран с надписью “Loading…” и ничего не меняется и не подгружается Может сталкивались с такой проблемой, есть предположения чем можно решить?

PS со всем остальным разобрался вроде

VladimirKapt
CuHonTuK:

Случайно нашел в меню включить внутренний передатчик

не подскажите где Вы нашли данную функцию?)

7 days later
CuHonTuK

Настройка модели 2 экран “setup”, -> “internal RF” -> mode CRSF (для встроенного elrs).

mao555

Подскажите где находится кнопка SYS, на которую ссылается описание T-PRO.

PigTail

Наверное это MDL button на картинке в англоязычном, т.е верхняя из трех на левом роге/ручке корпуса

mao555

Спасибо! Но при нажатии на кнопку MDL появляется окно 1/7 , а не 1/13, как написано в описании. Может быть это из-за старой прошивки, которая стоит в пульте, если да, то как перепрошить? Пульт JP4IN1. Надо ли сначала ставить прошивку OpenTX, а потом JP4IN1 или только последнюю. По описанию не совсем понятно, а экспериментировать страшно, боюсь превратится в “кирпич”. Извините за глупые вопросы: я-пенсионер, а внук-пионер.

supermario

У меня на похожем радио (танго2) длинное нажатие переводит в меню настройки передатчика, а короткое нажатие - в меню opentx

mao555

Спасибо! Работает как вы написали. Теперь пытаюсь разобраться с прошивками. Вопрос: при экспериментах с прошивками могу ли я “убить” пульт или перепрошивкой всегда его можно будет восстановить?

r1000

Пульт убить нельзя никак настроцками/прошивками. Основной контролоер имеет встроенный нестираемый загрузчик (зажимаете кнопочку мелкую у антенны и подключаете юсб - должен определиться как stm32 dfu), с модулем елрс аналогично (шить в режиме edge passtrough, все время держа зажатой кнопочку внутри корпуса на радиомодуле, эдж/опентх запущена, соединение usb-cdc)

Гена_Большой

в STM32 стереть можно все.
у них нет никакой специальной памяти,
все в общей, включая все настройки тактирования и прочего.
одна ошибка в коде и процессор становится кирпичом, но справедливости ради, раскирпичивание STM в разы проще чем Атмег

mao555
Гена_Большой:

в STM32 стереть можно все

У меня пульт JP4IN1 и я боюсь превратиться в тыкву, кирпич и т.п. Как я понимаю, в пульте установлена прошивка OpenTX, которая управляет моделями и внутренний радио модуль 4в1, который выдает радио сигналы в соответствии с нужным протоколом. Если да, то какую прошивку ставить первой и где посмотреть номер версии мультипротокольной прошивки.

supermario

Если всё работает то не надо ничего обновлять. Идите летать 😄

r1000

Вы, Геннадий, хоть раз заглядывали в референс мануалы на стм32? Не нужно тут писать чушь и пугать людей. Загрузчик стм32 не стираем, так как находится в постоянной, не стираемой, области памяти. Так же как и серийный номер контроллера, и еще некоторая информация. Что касается тактирования, то стм32 всегда стартует в использованием внутреннего генератора, а настройка внешнего тактирования, делителей и множителей, осуществляется кодом пользователя. Неправильные настроцки тактирования могут вызвать зависания, но все это лечится загрузчиком и новой заливкой (хотя в случае разработки, используют swd интерфейс)

mao555
supermario:

Если всё работает то не надо ничего обновлять. Идите летать 😄

Так и сделаю. Всем спасибо и с Новым Годом!

r1000

Окей, можно тогда ссылку на рефман, статейку или еще что-нибудь, как убить бутлоадер? Вариант выставлять СС не предлагать - с ними он не убъет прошивку

r1000

Да, в сообшении #82, на мой текст о том что бутлоалер стереть нельзя, вы ответили, что стереть можно все. Еще и про тактирование зачем то добавили, как будто это какие-то особые опциональные биты, а не часть кода приложения.

Гена_Большой

есть бутлоадер не стираемый, есть бутлоадер пользовательский тот, который например умеет загружать прошивку с Флэшки,
или Вы хотите сказать, что у Вас “вшитый” грузит прошивку аппаратуры?
но даже первый, при большом желании можно затереть, а второй затереть значительно проще.
А еще проще сломать его работу.

если повредить данные в области памяти, содержащей данные для тактирования,
Ваш, пользовательский загрузчик просто перестанет работать, до полной очистки камня и повторной прошивки пользовательского загрузчика.

то же самое касается прошивки через StLink
вот кусок кода , генерируемый CubeIDE для F401

/** Initializes the RCC Oscillators according to the specified parameters

  • in the RCC_OscInitTypeDef structure.
    */
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLM = 25;
    RCC_OscInitStruct.PLL.PLLN = 168;
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ = 4;
    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
    {
    Error_Handler();
    }

/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
}

а вот тот же кусок кода сгенерированный тем же CubeIDE для того же камня, но при этом частота внешнего кварца выбрана не правильно,
или как вариант, какая то программа записала в эту область не правильные данные.

/** Initializes the RCC Oscillators according to the specified parameters

  • in the RCC_OscInitTypeDef structure.
    */
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLM = 2;
    RCC_OscInitStruct.PLL.PLLN = 84;
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ = 4;
    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
    {
    Error_Handler();
    }

/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
}

так вот, после загрузки и запуска второго варианта, камень перестанет отвечать на любые запросы CubeIDE до полного его стирания.
так же и Ваш, пользовательский загрузчик станет стартовать с неправильными данными тактирования и просто не будет работать, как только переключит тактирования на внешний кварц.

Но на само деле, это все к делу не относится.