исследование оранжевого ВЧ модуля, прошивка v1 (глючная)

получив модули в подарок от DL7RFP, решил поиграться с ними. прицепил к “турниге” с прошивкой er9x, приемник AR8000.
для начала я прицепил граббер к SPI порту CYRF трансивера. проводил захват в честном режиме BIND, перед каждой новой попыткой менял ID передатчика удерживая кнопку “change ID”.
описание пакета: первые 8 байт - повторенный два раза manufacturer ID, 0x0A - количество каналов (я выбрал в пульте 10, с большим не заработало), 0хВ2 - тип передатчика (dsmX, 11 ms)
вот что я увидел:
попытка 1 - 0x3A, 0x63, 0xAA, 0xC5, 0x3A, 0x63, 0xAA, 0xC5, 0x05, 0x88, 0x01, 0x0A, 0xB2, 0x00, 0x06, 0xD2
попытка 2 - 0x3A, 0x64, 0xAA, 0xC5, 0x3A, 0x64, 0xAA, 0xC5, 0x05, 0x8A, 0x01, 0x0A, 0xB2, 0x00, 0x06, 0xD6
попытка 3 - 0x3A, 0x65, 0xAA, 0xC5 , 0x3A, 0x65, 0xAA, 0xC5, дальше не интересно уже
попытка 4 - 0x3A, 0x66, 0xAA, 0xC5
попытка 5 - 0x3A, 0x67, 0xAA, 0xC5
попытка 6 - 0x3A, 0x68, 0xAA, 0xC5
попытка 7 - 0x3A, 0x69, 0xAA, 0xC5
попытка 8 - 0x3A, 0x6A, 0xAA, 0xC5
попытка 9 - 0x3A, 0x6B, 0xAA, 0xC5
попытка 10 - 0x3A, 0x6C, 0xAA, 0xC5
попытка 11 - 0x3A, 0x6D, 0xAA, 0xC5
попытка 12 - 0x3A, 0x6E, 0xAA, 0xC5
попытка 13 - 0x3A, 0x6F, 0xAA, 0xC5
попытка 14 - 0x3A, 0x70, 0xAA, 0xC5
попытка 15 - 0x3A, 0x71, 0xAA, 0xC5
попытка 16 - 0x3A, 0x72, 0xAA, 0xC5
дальше надоело.

в заголовке пакета с данными используется только два последних байта. в режиме дсмХ это как бы пофигу, там номера используемых каналов рассчитываются на основании всех 4-х байт и пересечение мало вероятно, а вот в дсм2 может случиться неприятность. если только Оранжи не вычисляют пару рабочих каналов на основании первых двух байт manufacturer ID.

постараюсь ответить на поставленные вопросы.

  • is Orange ID unique?
    и да и нет. нужно раз 50 нажать на кнопку “change ID” и использовать только dsmX приемники. инструкция прямо говорит о нужности смены ID, значит он прошивается один на все модули. постараюсь проверить еще один ВЧ модуль.
    yes and no. you need 50 times to press the “change ID” button and use only dsmX receivers. user manual directly speaks about being wanted change ID, so he burn one for all modules. try to check out another RF module.

  • is the module reflashable?
    естественно. для работы с Xmega32a4 я собрал себе набор инструментов code.google.com/p/orange-tx-module-dsmx/…/list
    yes. use any tools. i build firmware for usbasp programmator and avrdude with Xmega support.

  • can the TX-part be used as the original Spektrum unit for modify TX?
    не понял вопроса.
    do not understand the question.

  • what changes if you press the ID button 3-times short?
    выглядит как ничего.
    look like nothing.

  • 1843
Comments
RW9UAO

уточню. в dsm2 CRC_SEED и SOP/DATA рассчитываются на основе 4-х байт manufacturer ID. так что пересечения не будет. но в dsmX все равно безопаснее.

RW9UAO

считал manufacturer ID из второго модуля. потыкал смену ИД.
0x3A, 0x55, 0xAA, 0x75
0x3A, 0x58, 0xAA, 0x75
все таки я считаю, что у них нет уникального идентификатора.

RW9UAO

аргументирую. выше приведены коды, которые используются при биндинге. вот коды которые читаются из чипа трансивера:
0x43, 0x76, 0x9B, 0xF2, 0xD7,0xFF инвертируем 0xBC, 0x89, 0x64, 0x0D, 0x00
эти байты в принципе не используются при процедуре привязки. и еще момент. они должны читаться при инициализации чипа. они и читаются при инициализации. только уже _после_ процедуры привязки. эта функция описана в кипресовской библиотеке. она вызывается при инициализации. кетайцы как всегда содрали без понимания процесса.
еще мне не понятен момент. похоже передатчик включен всегда на передачу. в биндинге включается байпасс и все.