Доработка Spektrum DX6i до 8 каналов
чет меня опять много =)
короче. оранж признал мой “передатчик” за своего и даже отдает канальные импульсы на сервы =)
забыл сказать, и биндинг тоже. осталось найти “инвестора” с ненужной ему ДХ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, хотя какая разница, если сергей софт перепишет. 😃
Подскажите пожалуйста можно ли в DX6i вместо тумблера на 6 канале gear поставить крутилку
Можно, но зачем? Там просто замкнуто-разомкнуто, а все остальные параметры выставляются программно.
для квадрика, управлять подвесом камеры или сделать трех позиционный переключатель
DX6i не вариант. Переходите на Турнигу.
Жду, а впринципе работать будет?
Нет. Там просто “0” и “1” на ноге процессора.
блин 😦 , спасибо.
Кстати, как вариант допиливания DX6i без допиливания вч-модуля, это использования модел мач байта. можно пихнуть еще 6 каналов, на борту еще один приемник для дополнительных каналов.
Попробовал, идея оказалась несостоятельной, модуль переключение модел мач на ходу не воспринимает 😦
Может где-то ошиблись? Буржуи писали, что работает. Хотя, возможно версий совта радиомодулей вагон… Применики к своим номерам моделей прибиндили заранее?