Baychi OpenLRS - дружелюбная ЛРС с широкими возможностями )

Big_All

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

Shrizt

Я сам поставил переключатель, и он работает, в текущей прошивке.

Передатчик hawkeye обычный, не deluxe, изменение мощности четко видно по rssi.

Shuricus
Vadim_AK:

Т.к. в исполнении, как на первой фотке, переключателя не установлено, ни я, ни Baychi в код для Deluxe считывание его состояния не вписывали.

Или все же вписывали?

Мануальчик откройте. Видимо не вы один тестировали с Байчи эту прошивку.

При R19=0 мощность можно переключать внешним аппаратным 3-х позиционным тумблером: его средний вывод соединяют с GND, а два крайних - к 24 и 25 или 25 и 26-й ногам микропроцессора. При R19>=14, управление мощностью отключено, а значение регистра мощности определяется регистром 22.

Vadim_AK
Shrizt:

Я сам поставил переключатель, и он работает, в текущей прошивке.

Передатчик hawkeye обычный, не deluxe, изменение мощности четко видно по rssi.

В зависимости от того, какой тип железа вы выбираете при компиляции кода, включаются те или иные фрагменты кода. Я говорю именно про версию Deluxe, т.к. именно она изображена на фотках. Там даже процессор другой.

Shrizt

Поэтому я и указал тип оборудования, тем не менее это описано в документации на текущую прошивку и работает, доберусь до компа проверю код если интересно.

Vadim_AK
Shuricus:

Или все же вписывали?

Мануальчик откройте. Видимо не вы один тестировали с Байчи эту прошивку.

При R19=0 мощность можно переключать внешним аппаратным 3-х позиционным тумблером: его средний вывод соединяют с GND, а два крайних - к 24 и 25 или 25 и 26-й ногам микропроцессора. При R19>=14, управление мощностью отключено, а значение регистра мощности определяется регистром 22.

Shrizt:

Поэтому я и указал тип оборудования, тем не менее это описано в документации на текущую прошивку и работает, доберусь до компа проверю код если интересно.

Да что же такое-то! Почему мне никто не верит на слово? 😃

Скачал с github текущий архив для передатчика.
Открываем файл config.h.
В нем находим кусок, в котором определяются типы передатчиков:

//####### TX BOARD TYPE #######
// 1 = TX Expert Tiny original Board
// 2 = RX Open/orange v2 Board in TX mode (PPM input on D3 chdnnel (5-th slot)
// 3 = TX Open/orange v2 Board
// 4 = TX Hawkeye от КНА
// 5 = TX Expert 2G
// 6 = TX DTF UHF Deluxe

В сообщении #2060 Алексей Яковлев дал фото двух модулей TX DTF UHF Deluxe в разном исполнении. Подчёркиваю, что именно Deluxe!!!

На них стоит процессор Atmega32u4 (не Atmega328) с USB и собственной нумерацией ног.

Смотрим дальше: Во всех секциях
#if (TX_BOARD_TYPE == 1),
#if (TX_BOARD_TYPE == 2),
#if (TX_BOARD_TYPE == 3),
#if (TX_BOARD_TYPE == 4),
и
#if (TX_BOARD_TYPE == 5)
есть подобный этому кусок кода (взято для примера из секции #if (TX_BOARD_TYPE == 1)):

// Аппаратный переключатель мощности
    #define SW1_IN A2  // Power switch 1 on 25 pin
    #define SW2_IN A3  // Power switch 2 on 26 pin
    #define SW1_IS_ON (PINC & 0x04) == 0x00  // проверка sw1
    #define SW2_IS_ON (PINC & 0x08) == 0x00  // проверка sw2

И только в секциях
#if (TX_BOARD_TYPE == 6) // HawkEye DeluxeTX (Atmega32u4)
и
#if (TX_BOARD_TYPE == 7) // Orange reciever тест через прерывания D3
такого куска нет!

Дальше, в OpenTiny_TX.ino есть код:

#ifdef SW1_IN
   pinMode(SW1_IN, INPUT);   // ключ 1
   digitalWrite(SW1_IN, HIGH);
   pinMode(SW2_IN, INPUT);   // ключ 2
   digitalWrite(SW2_IN, HIGH);
#endif

А в rfm22b.ino есть самое главное:

#ifdef SW1_IS_ON                        // не для всех типов плат
    else if(PowReg[0] == 0) {           // аппаратный переключатель на 3-х позиционном тумблере
      if(SW1_IS_ON) i=PowReg[1];          // внизу - режим минмальной мощности
      else if(SW2_IS_ON) i=PowReg[3];     // вверху- режим максимальной мощности
      else i=PowReg[2];                   // в середине - средняя мощность
    }
#endif

Отсюда уверенно утверждаю: На сегодня, 27.04.2015, в модулях TX DTF UHF Deluxe на обсуждаемой прошивке аппаратный переключатель мощности НЕ работает. Ещё раз подчёркиваю - я говорю только про Deluxe!!!

Соответствующий кусок кода вставить несложно, достаточно проверить к каким ногам микропроцессора подключен переключатель, посмотреть, что это за порты, указать их и соответствующие им маски в секции для Deluxe в config.h, откомпилить, прошить, проверить работоспособность и запостить правки сюда. 😃

Опять не убедил?

Plohish
Vadim_AK:

Опять не убедил?

оффтоп, Вадим, ты когда по автопилоту отпишешься? Вроде купил давно и молчишь…

budakan

Всем привет. Прошил приемник и передатчик Orange прошивкой Александра. Забиндил, и вроде все хорошо работает. Если срабатывает failsave приемник выставляет нужные каналы, но если снова включит передатчик то связь не устанавливается. Только после перезагрузки приемника они снова работают нормально. Почему так? Может я что-то забыл сделать?

тигромух
budakan:

Почему так? Может я что-то забыл сделать?

Да, забыли настройки нам показать 😃

budakan

Вот мои настройки. Спасибо за любой совет.

Rg=Val Comments ----------------------- V2 F13
1=104 Bind N
2=199 Freq Corr
3=0 Servo 150% strech num (1-12)
4=1 Statistics enable
5=0 11bit/10ch (1=yes, 2/3=Futaba)
6=0 Discrete outputs mask
7=1 1 output mode: PWM/PPM/SBUS = 0/1/2
8=0 Packet lost sound output (0=off, 1,2,7)
11=14 Hop F1
12=122 Hop F2
13=55 Hop F3
14=159 Hop F4
15=59 Hop F5
16=198 Hop F6
17=90 Hop F7
18=230 Hop F8
19=255 Beacon F (255=disable)
20=0 Beacon Pmax (mWt): 0-1.2; 1-2; 2-3; 3-6; 4-12; 5-25; 6-50; 7-100
24=0 Beacon start time (sec)
25=0 SAW Fmin
26=0 SAW Fmax
28=2 PPM/SBUS mode 1st PWM chnl (1-8) [2]
40=9 RSSI type: sound(0)/level(1-99=average)
41=1 RSSI mode: level(0)/SN ratio(1)
42=0 RSSI over PWM(chan:1-12) 0-not use

Rg=Val Comments ----------------------- V2 F8
1=104 Bind N
2=198 Freq correction const
3=0 Term corr.(0=no, 1=+, 255=-)
4=0 FS check enable
5=0 11bit/10ch(1=yes,2/3=Futaba)
6=1 Debug out (1-PPM, 2-perf.)
11=14 Hop F1
12=122 Hop F2
13=55 Hop F3
14=159 Hop F4
15=59 Hop F5
16=198 Hop F6
17=90 Hop F7
18=230 Hop F8
19=14 Power switch chan (1-13,0=SW)
20=0 Power min (0-7, +128=highU)
21=0 Power middle (0-7,+128=highU)
22=7 Power max (0-7, +128=highU)

тигромух
budakan:

Вот мои настройки. Спасибо за любой совет.

С настройками, вроде, порядок. А как вы ФС вызываете?

budakan

Вырубаю пульт.

РЕШЕНО.
Из-за регистров 19,20,24 у меня была такая проблема, подставил туда значения 10 4 30 соответственно и все заработало.))

тигромух
budakan:

РЕШЕНО.
Из-за регистров 19,20,24 у меня была такая проблема, подставил туда значения 10 4 30 соответственно и все заработало.))

Хотите сказать, что проблема была в отключенном маяке?

budakan

ДА. Специально его потом отключал, чтобы перепроверить.

Shuricus

Раз мы заговорили про мощность и клевость, оказалось что не совсем понятно следующее:

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

Так а какой в результате алгоритм реализован в прошивке? Оба?

Воздействие на регистр мощности осуществляется непосредственно значениями, заданными в регистрах 20 - 22 (код от 0 до 7). Воздействие на питающее напряжение RFM23BP может быть реализована в схемах типа Hawk Eye, через 11-ю ножку процессора (сигнал VCN). Если надо поднять напряжение в нужный регистр 20-22 добавляют +128 (старший бит=1). Таким образом можно определить 3 фиксированных уровня мощности. Удобнее всего использовать для регулировки 3-х позиционный тумблер передатчика РУ. В регистре 19 задается номер канала (1-13) переключения мощности.

Если я хочу управлять через напряжение, то в регистре 22 нужно писать не 7, а 7+128=135?

А в Тане напряжением нельзя управлять?

Alex135

Есть такая проблема, кстати Тезка спасибо что написал. Не могу решить,
3 позиционный переключатель мощности на Тане(ретранслятор) 25 и 26 нога переключаются на землю
регистры
19-0
20-0, 21-2 , 22-7, мощность не переключается, судя по частоте мерцания диода 100мвт.
с передатчика все нормально.
Попробовал как написано в посту выше также безрезультатно. Не хочется терять канал из за этого
Посоветуйте что не так делаю.

Vadim_AK

Что-то туплю сегодня.
Решил перекомпилить прошивку. Волею каких-то судеб у меня на компьютере оказалась последняя версия Arduino IDE 1.6.3.
Так вот, эта 1.6.3 не хочет компилить этот скетч, ругается вот как:

eeprom.ino:113:14: error: variable 'etxt1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
eeprom.ino:114:14: error: variable 'etxt2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:21:20: error: variable 'regs' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:22:24: error: variable 'help' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:46:14: error: variable 'htxt1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:47:14: error: variable 'htxt2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:48:14: error: variable 'htxt3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:129:14: error: variable 'ntxt1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:200:14: error: variable 'mtxt1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:201:14: error: variable 'mtxt2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:202:14: error: variable 'mtxt3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
menu.ino:203:14: error: variable 'mtxt4' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:551:14: error: variable 'btxt1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:552:14: error: variable 'btxt2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:553:14: error: variable 'btxt3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:554:14: error: variable 'btxt4' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:637:14: error: variable 'ftxt1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:638:14: error: variable 'ftxt2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:639:14: error: variable 'ftxt3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
rfm22b.ino:640:14: error: variable 'ftxt4' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
Ошибка компиляции.

Требует некоторые переменные объявить константами. Похоже особенности нового компилятора. Мои попытки на скорую руку сделать это к успеху не привели.

Кто силён в Ардуине, подскажите. Или искать старую версию IDE?

ВлАс

Дайте еще исходники. Те, что с гитхаба, не могу скачать.