Доработка Spektrum DX6i до 8 каналов
Я к тому, что портировать в DX6i эту прошивку вместо Focusa.
Там только 6 каналов, т.к. используемые модули больше не позволяют. Ну и ДСМХ - там условный. Прошивку модуля никто не трогал, т.е. дсмх там включается просто первым байтом в пакете.
мне, честно говоря уже проще сделать свой ДСМ2 передатчик и портировать опенсорсную программу для пульта чем разбираться чем же отличаются ВЧ блоки спектрума и какими волшебными байтиками их кормить для включения фич.
ну вот и пришли к самодельному железу под прошивку от дево8+ ее родной модуль за 9 баксов. 😃 😃 😃. А кому лень паять-пилить- купит дево 8 (ну или 6).
ну да. пришли к готовому железу. с чего и начинали =)
а еще есть ВЧ блоки от всяких автомобильных спектрумов. на 3 канала например. ее тоже можно проапргрейдить. до 14 =)
а что, неужели не хочется в аппе за 100 баксов функционала как в аппе за 1000? дево кстати стоит почти 200 баксов. ее имеет смысл сразу с вертом брать.
Вот поэтому я и определил для себя оптимальный, на данном этапе, вариант -плата ERSKY9x c прошивкой OPEN9X и с телеметрийным модулем FrSky и все это в корпусе от DX7.
Хотя залить прошивку от Турниги в DX6i очень заманчиво. Мне достаточно 6 каналов под мои нужды, но не хватает стандартного функционала Спектрума, а именно - гибких полетных режимов. Сергей, могу попробовать со своим Спектрумом, если у Вас будет желание что-то перекроить.
ну я свою 8-ку калечить не буду. в 6-ки в руках нет. будут желающие выдать 6-ку под переделку - милости просим.
в теме про ДХ8 выложил видео самодельной телеметрии.
смотрю на фотки потрохов модуля mlp4dsm. в нем нет усилителя. пошел пилить оранж.
не, кстати. можно взять сателлит, у него три ноги наружу точат - масса, 3.3 вольта и например РРМ. биндиг можно реализовать как на ассане - при включении качаем элероны туда-сюда. вопрос, где вы возьмете 14 каналов РРМ.
з.ы. меня сегодня много и это еще не все =)
Если не изменяет память - этот модуль в режиме бинд несколько секунд после включения. 😃 ППм то взять не проблема. Могу добавить в альт. прошивку фокуса/мсв для турниджи, ер9 вроде бы умеет, мультиплекс роял - точно умеет 12 и 16 каналов. 12 канальный приемник есть.
Серег, на самом деле более актуальна альтернативная прошивка для 6-ки оранджа, чтоб к примеру на одну ногу 9 каналов ППМ-сумм выводил. За это тебе коптероводы большое спасибо скажут. И чтобы тот же орандж 6-ка с сателитом всеже работала, а не делала вид что работает. 😃
ну 14 каналов в 20-22 мсек уложить это как-то фантастично.
альтернативная прошивка для 6-ки оранджа, чтоб к примеру на одну ногу 9 каналов ППМ-сумм
накуа? с сателлита идет нормальный УАРТ поток. ну если прям ващще надо, то можно озадачиться. можно сразу сателлит перешить. он легче и меньше. корпуса/разъемов нет. после отпуска надо подумать.
чет меня опять много =)
короче. оранж признал мой “передатчик” за своего и даже отдает канальные импульсы на сервы =)
забыл сказать, и биндинг тоже. осталось найти “инвестора” с ненужной ему ДХ6.
И чтобы тот же орандж 6-ка с сателитом всеже работала, а не делала вид что работает.
А что на самом деле, не работает? Дурят китайцы?
судя по дизасму того, что читается из оранжа, пакет принимается, куда-то кладется. что потом с этими данными непонятно. то ли пользуется ими, то ли нет.
Несколько не подвергая сомнению слова Алексея, что большинство модулей не работает с большим числом каналов, но кому то должно достаться работающее, и непонятны данные приведенные Дмитрием по первому байту фрейма. Давно известна следующая информация по заголовку, собственно у меня на модуле намеряется все тоже :
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);
}
}
ну если любой ВЧ модуль понимает все 14 каналов, то переделка ДХ6 заключается в разборке с ЖКИ и переделкой процедур нижнего уровня для фокус/мсв. благо проц одинаковый.
Не факт, что любой, ну если попался почему бы не воспользоваться? Инфа по формированию канала, из какого то буржуйского открытого проекта для разрешения 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
//
А вот и хрен 😃 модуль то работает по 6 каналам при подаче на него 7 каналов, только на приемник нефига не приходит этот 7 канал. Значит не судьба 😃, потом мож гляну, что на саттелите при этом.
я вот как раз занят передачей 14-ти каналов. делаю передатчик из оранжевого приемника. оранж 6 каналов в ДСМ2 1024 22 мсек сдался сразу. AR8000 в ДСМ2 пока бодается, 2048 передаю, корректно принимает, но только в режиме 22 мсек. по ДСМ_Х есть подвижки, пока обнадеживать не буду.
допилю, останется только залить в ВЧ модуль ДХ6 (да собственно в любой).
з.ы. я все еще ищу где взять ДХ6i, клон/не клон - пофигу.
Дмитрий, а Вы уверены, что правильно подали 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 последовательность устойчивая.
собственно у меня на модуле намеряется все тоже :
Код:
protocol analysis from a dx4eDid 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, хотя какая разница, если сергей софт перепишет. 😃