Доработка Spektrum DX6i до 8 каналов

Dimbo

Я к тому, что портировать в DX6i эту прошивку вместо Focusa.

RW9UAO

запросто. с железом вроде определяемся. попутно с софтом определимся.

Aleksey_Gorelikov
Dimbo:

Я к тому, что портировать в DX6i эту прошивку вместо Focusa.

Там только 6 каналов, т.к. используемые модули больше не позволяют. Ну и ДСМХ - там условный. Прошивку модуля никто не трогал, т.е. дсмх там включается просто первым байтом в пакете.

RW9UAO

мне, честно говоря уже проще сделать свой ДСМ2 передатчик и портировать опенсорсную программу для пульта чем разбираться чем же отличаются ВЧ блоки спектрума и какими волшебными байтиками их кормить для включения фич.

Aleksey_Gorelikov

ну вот и пришли к самодельному железу под прошивку от дево8+ ее родной модуль за 9 баксов. 😃 😃 😃. А кому лень паять-пилить- купит дево 8 (ну или 6).

RW9UAO

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

а что, неужели не хочется в аппе за 100 баксов функционала как в аппе за 1000? дево кстати стоит почти 200 баксов. ее имеет смысл сразу с вертом брать.

Dimbo

Вот поэтому я и определил для себя оптимальный, на данном этапе, вариант -плата ERSKY9x c прошивкой OPEN9X и с телеметрийным модулем FrSky и все это в корпусе от DX7.
Хотя залить прошивку от Турниги в DX6i очень заманчиво. Мне достаточно 6 каналов под мои нужды, но не хватает стандартного функционала Спектрума, а именно - гибких полетных режимов. Сергей, могу попробовать со своим Спектрумом, если у Вас будет желание что-то перекроить.

RW9UAO

ну я свою 8-ку калечить не буду. в 6-ки в руках нет. будут желающие выдать 6-ку под переделку - милости просим.

RW9UAO

в теме про ДХ8 выложил видео самодельной телеметрии.

RW9UAO

смотрю на фотки потрохов модуля mlp4dsm. в нем нет усилителя. пошел пилить оранж.

не, кстати. можно взять сателлит, у него три ноги наружу точат - масса, 3.3 вольта и например РРМ. биндиг можно реализовать как на ассане - при включении качаем элероны туда-сюда. вопрос, где вы возьмете 14 каналов РРМ.
з.ы. меня сегодня много и это еще не все =)

Aleksey_Gorelikov

Если не изменяет память - этот модуль в режиме бинд несколько секунд после включения. 😃 ППм то взять не проблема. Могу добавить в альт. прошивку фокуса/мсв для турниджи, ер9 вроде бы умеет, мультиплекс роял - точно умеет 12 и 16 каналов. 12 канальный приемник есть.

Серег, на самом деле более актуальна альтернативная прошивка для 6-ки оранджа, чтоб к примеру на одну ногу 9 каналов ППМ-сумм выводил. За это тебе коптероводы большое спасибо скажут. И чтобы тот же орандж 6-ка с сателитом всеже работала, а не делала вид что работает. 😃

RW9UAO

ну 14 каналов в 20-22 мсек уложить это как-то фантастично.

Aleksey_Gorelikov:

альтернативная прошивка для 6-ки оранджа, чтоб к примеру на одну ногу 9 каналов ППМ-сумм

накуа? с сателлита идет нормальный УАРТ поток. ну если прям ващще надо, то можно озадачиться. можно сразу сателлит перешить. он легче и меньше. корпуса/разъемов нет. после отпуска надо подумать.

RW9UAO

чет меня опять много =)
короче. оранж признал мой “передатчик” за своего и даже отдает канальные импульсы на сервы =)

RW9UAO

забыл сказать, и биндинг тоже. осталось найти “инвестора” с ненужной ему ДХ6.

ССМ=
Aleksey_Gorelikov:

И чтобы тот же орандж 6-ка с сателитом всеже работала, а не делала вид что работает.

А что на самом деле, не работает? Дурят китайцы?

RW9UAO

судя по дизасму того, что читается из оранжа, пакет принимается, куда-то кладется. что потом с этими данными непонятно. то ли пользуется ими, то ли нет.

PigTail

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

protocol analysis from a dx4e

Did some more research:

Code:
DSM2/DSMX mode:               18 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2/DSMX mode, range test:   38 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2/DSMX mode, bind:         98 00 00 00 05 FF 09 FF 0D FF 10 AA 14 AA
DSM2 mode:                    10 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2 mode, range test:        30 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2 mode, bind:              90 00 00 00 05 FF 09 FF 0D FF 10 AA 14 AA
France mode:                  00 00 AA AA BB BB CC CC DD DD EE EE FF FF
France mode, range test:      20 00 AA AA BB BB CC CC DD DD EE EE FF FF
France mode, bind:            80 00 00 00 05 FF 09 FF 0D FF 10 AA 14 AAAA..FF means channels 1..6
For the bind sequence i am not sure if the values following the two
header bytes are relevant but they are static for my dx4e.
So this leads to the following bit meanings for the first byte:
bit 7 - 1 -> bind mode enable
bit 6 - unknown, always 0
bit 5 - 1 -> range test enable
bit 4 - 1 -> normal mode, 0 -> france mode
bit 3 - 1 -> DSMX enable
bit 2 - unknown, always 0
bit 1 - unknown, always 0
bit 0 - unknown, always 0
Note:
The manual says that in france mode DSMX cannot be enabled.
The tested device was recently bought from a retailer in germany.
Карабас:

Если я правльно понял, то без перепрошивки содержимого модуля не удастся скормить ему 7-й канал. Разборка модуля в мои планы не входила.

Дмитрий, а Вы уверены, что правильно подали 7-ой канал? Скорость должна быть 125000, а не 115200 вообщето, я сегодня попробовал на модуле от DX5e DSMX, он уж явно позднее Вашего выпущен и 7-ой канал благополучно съелся модулем, правда посмотреть канал нечем, завтра возьму 7 или 9 канальный приемыш и попробую уж окончательно.
Первый канал гуляет от -100 до +100, остальные в -100, приемник AR6110e, все происходит в DSM2, для подключения использовалось Arduino nano 5V\16MHz, выход на модуль через резисторный делитель. Скетч прост до безобразия:

byte channel_valve_min[]={0x18,0x00,0x00,0xAA,0x04,0xAA,0x08,0xAA,0x0C,0xAA,0x10,0xAA,0x14,0xAA,0x18,0xAA};
byte channel_valve_max[]={0x18,0x00,0x03,0x56,0x04,0xAA,0x08,0xAA,0x0C,0xAA,0x10,0xAA,0x14,0xAA,0x18,0xAA};
void setup()
{
  Serial.begin(125000);
  pinMode(13, OUTPUT);
}
void loop()
{
  int i;
  digitalWrite(13, HIGH);
  for (i=0; i<100; i++) {
    Serial.write(channel_valve_min,16);
    delay(21);
  }
  digitalWrite(13, LOW);
  for (i=0; i<100; i++) {
    Serial.write(channel_valve_max,16);
    delay(21);
  }
}
RW9UAO

ну если любой ВЧ модуль понимает все 14 каналов, то переделка ДХ6 заключается в разборке с ЖКИ и переделкой процедур нижнего уровня для фокус/мсв. благо проц одинаковый.

PigTail

Не факт, что любой, ну если попался почему бы не воспользоваться? Инфа по формированию канала, из какого то буржуйского открытого проекта для разрешения 1024:

// Each channel data (16 bit= 2byte, first msb, second lsb) is arranged as:
//
// Bits: F 0 C3 C2 C1 C0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
//
// 0 means a ‘0’ bit
// F: 1 = indicates beginning of 2nd frame for CH8-9 (DS9 only)
// C3 to C0 is the channel number. 0 to 9 (4 bit, as assigned in the transmitter)
// D9 to D0 is the channel data (10 bit) 0xaa…0x200…0x356 for 100% transmitter-travel
//

PigTail

А вот и хрен 😃 модуль то работает по 6 каналам при подаче на него 7 каналов, только на приемник нефига не приходит этот 7 канал. Значит не судьба 😃, потом мож гляну, что на саттелите при этом.

RW9UAO

я вот как раз занят передачей 14-ти каналов. делаю передатчик из оранжевого приемника. оранж 6 каналов в ДСМ2 1024 22 мсек сдался сразу. AR8000 в ДСМ2 пока бодается, 2048 передаю, корректно принимает, но только в режиме 22 мсек. по ДСМ_Х есть подвижки, пока обнадеживать не буду.
допилю, останется только залить в ВЧ модуль ДХ6 (да собственно в любой).
з.ы. я все еще ищу где взять ДХ6i, клон/не клон - пофигу.

Карабас
PigTail:

Дмитрий, а Вы уверены, что правильно подали 7-ой канал? Скорость должна быть 125000, а не 115200 вообщето, я сегодня попробовал на модуле от DX5e DSMX, он уж явно позднее Вашего выпущен и 7-ой канал благополучно съелся модулем, правда посмотреть канал нечем, завтра возьму 7 или 9 канальный приемыш и попробую уж окончательно. Первый канал гуляет от -100 до +100, остальные в -100, приемник AR6110e, все происходит в DSM2, для подключения использовалось Arduino nano 5V\16MHz, выход на модуль через резисторный делитель. Скетч прост до безобразия:

Это я просто по привычке писал 115200. Разумеется с кварцем 8Мгц в спектруме получается именно эта скорость - 125000. За правильность скармливания 7-ого канала я ручаюсь, так как 6 каналов кушало без проблем, а посылки я дополнительно контролировал на компе. Ошибок быть не должно. А вот кстати, с сателита спектрума 115200 идет или тоже 125000? Мне показалось, на 115200 последовательность устойчивая.

Aleksey_Gorelikov
PigTail:

собственно у меня на модуле намеряется все тоже :

Код:
protocol analysis from a dx4e

Did some more research:

Code:
DSM2/DSMX mode: 18 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2/DSMX mode, range test: 38 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2/DSMX mode, bind: 98 00 00 00 05 FF 09 FF 0D FF 10 AA 14 AA
DSM2 mode: 10 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2 mode, range test: 30 00 AA AA BB BB CC CC DD DD EE EE FF FF
DSM2 mode, bind: 90 00 00 00 05 FF 09 FF 0D FF 10 AA 14 AA
France mode: 00 00 AA AA BB BB CC CC DD DD EE EE FF FF
France mode, range test: 20 00 AA AA BB BB CC CC DD DD EE EE FF FF
France mode, bind: 80 00 00 00 05 FF 09 FF 0D FF 10 AA 14 AAAA…FF means channels 1…6
For the bind sequence i am not sure if the values following the two
header bytes are relevant but they are static for my dx4e.
So this leads to the following bit meanings for the first byte:
bit 7 - 1 -> bind mode enable
bit 6 - unknown, always 0
bit 5 - 1 -> range test enable
bit 4 - 1 -> normal mode, 0 -> france mode
bit 3 - 1 -> DSMX enable
bit 2 - unknown, always 0
bit 1 - unknown, always 0
bit 0 - unknown, always 0
Note:
The manual says that in france mode DSMX cannot be enabled.
The tested device was recently bought from a retailer in germany.

У меня было заснифино: 40, 60, С0 - так что шестой бит тоже что-то делает. Возможно мощности разные есть, а не только “ренджтест”. Возможно еще разновидность европа-америка.

П.С. точно. 6 бит=1 моща америкосовская, =0 - моща европейская. Теперь пробелов стало меньше… Осталось 3 непонятных бита… Чую в одном из них будет крыться DSMJ, хотя какая разница, если сергей софт перепишет. 😃

AlexeyA

Подскажите пожалуйста можно ли в DX6i вместо тумблера на 6 канале gear поставить крутилку

Dimbo

Можно, но зачем? Там просто замкнуто-разомкнуто, а все остальные параметры выставляются программно.