Smalltim OSD and autopilot (часть 2)
А как скоро можно будет ожидать это изменение? Оно конечно некспеху так, как наземка и IMU, но все же…
Прошивка телеметрии для работы с АП версии 4.0.4 от 4 декабря 2011.
Отличия от предыдущей версии, 4.0.3:
- Увеличен объем контрольной суммы данных, кодируемых в видео, для более строгой проверки корректности декодированных данных на наземной станции.
Прошивка наземной станции версии 1.2.9.
Первый публичный релиз.
Известные глюки, баги, недоделки:
-
Отсутствует поддержка телеметрии без АП.
---- Будет добавлено в самое ближайшее время. -
Периодически, раз в 10-15 минут, наземная станция получает пакет с поврежденными данными.
---- Вызвано недостаточной стойкостью алгоритма проверки контрольных сумм передаваемых данных. Будет вылечено программной фильтрацией - если модель за 1/5 долю секунды переместилась на 500м в сторону, потом тут же вернулась обратно, значит, был получен пакет с поврежденными данными.
INF файл для наземной станции.
Плата наземной станции не требует установки специальных драйверов для работы под Windows XP и выше, но необходима установка INF файла, чтобы показать системе название и характеристики подключаемого устройства.
Необходимое замечание:
Микропрограмма наземной станции использует библиотеку
LUFA (Lightweight USB Framework for AVRs) авторства Dean Camera:
www.fourwalledcubicle.com/LUFA.php
Соответственно, необходимые отсылки к авторству библиотеки сделаны как в коде, так и непосредственно в inf файле:
—
MFGNAME=“SMALLTIM, LUFA powered”
INSTDISK=“SMALLTIM CDC Driver Installer, LUFA powered”
DESCRIPTION1=“SMALLTIM USB Ground Station Over Virtual Serial Port”
DESCRIPTION2=“SMALLTIM Virtual GPS Module Over Virtual Serial Port”
SERVICE=“SMALLTIM USB Ground Station Over Virtual Serial Port”
—
А уже готова наземка?))
Увеличен объем контрольной суммы данных, кодируемых в видео,
А прошивку для АП менять не требуется, старая поймет новый формат?
А прошивку для АП менять не требуется, старая поймет новый формат?
Не требуется.
А уже готова наземка?))
Готова. Ждем, пока обновится сайт и появятся новые плюшки.
Конечно, немного боязно - вдруг что-нибудь вылезет в процессе эксплуатации кучей народу, но аппаратно сделано, по-моему, очень чисто и аккуратно, а программные фишки лечатся на счет раз.
Код заковыривания данных в видеосигнал - для спецпрошивок от Oliver и всем заинтересованным в том, чтобы добавить поддержку наземки Smalltim в своих собственных разработках.
- проц AVR должен работать на 16 МГц,
- ноги проца, работающие с видео: D7 - подтяжка сигнала, D6 - затемнение сигнала.
- номера строк, используемых для записи данных - 11-14.
- код, приведенный ниже, надо запускать в начале строки после импульса строчной синхронизации.
- код, приведенный ниже, передает 4-байтовый шматок данных, взятых по адресу X+R21*4, сопроводив его ID пакета и двумя байтами контрольной суммы. 3 младших бита в байте ID задают номер шматка.
- наземка ожидает 16 разных шматков данных, после чего считает пачку данных от телеметрии принятой полностью.
При соответствии таким условиям наземка будет корректно распознавать принимаемые данные.
Интерпретация принятых данных - более сложный вопрос, остающийся на совести самодельщиков. Наземка будет отстреливать на ПК сырые данные в любом случае, а уж если нужна поддержка в софте наземки и интерпретация и формирование строк GPS для ПК - пишите, договоримся.
;***************************************************************************
;*
;* "data_video_encode" - data to video line encoding routine
;* ;Input: X - start address of the data array to encode,
;* R21 - number of chunk
;* ; Temp: R16, R17, R18, R19, R20, R21, R22 - temporary registers
;* ; uses R5 which is always 0
;***************************************************************************
data_video_encode:
LDI R16,4
IN R22, DDRD
SBI DDRD, 7
SBI DDRD, 6
CLR R20 ; R20 keeps control sum
MOV R17, R21
LSL R21
LSL R21
ADD XL, R21
ADC XH, R20
ORI R17, 0b10100000 ; Telemetry data ID is 0b110xxxxxx
; Telemetry+AP data ID is 0b101xxxxxx
MOV R20, R17
CLR R21
LDI R18, 8
_continue_shifting_id:
SBRC R17,7
LDI R19, 1<<7
SBRS R17,7
LDI R19, 1<<6
OUT VIDPORT, R19
NOP
NOP
NOP
NOP
LSL R17
DEC R18
BRNE _continue_shifting_id
NOP
NOP
NOP
_continue_encoding_data_to_video:
LD R17, X+
ADD R20, R17
ADC R21, R5
LDI R18, 8
_continue_shifting_data:
SBRC R17,7
LDI R19, 1<<7
SBRS R17,7
LDI R19, 1<<6
OUT VIDPORT, R19
NOP
NOP
NOP
NOP
LSL R17
DEC R18
BRNE _continue_shifting_data
DEC R16
BRNE _continue_encoding_data_to_video
NOP
NOP
NOP
NOP
NOP
LDI R18, 8
_continue_shifting_controlsum:
SBRC R20,7
LDI R19, 1<<7
SBRS R20,7
LDI R19, 1<<6
OUT VIDPORT, R19
NOP
NOP
NOP
NOP
LSL R20
DEC R18
BRNE _continue_shifting_controlsum
NOP
NOP
NOP
NOP
NOP
NOP
NOP
LDI R18, 8
_continue_shifting_controlsum2:
SBRC R21,7
LDI R19, 1<<7
SBRS R21,7
LDI R19, 1<<6
OUT VIDPORT, R19
NOP
NOP
NOP
NOP
LSL R21
DEC R18
BRNE _continue_shifting_controlsum2
NOP
NOP
NOP
NOP
CLR R19
OUT VIDPORT, R19
OUT DDRD, R22
RET
Код
Реально очень приятный и полезный подарок под новый год. Спасибо, Тимофей!
Класс,но к сожалению прикуплю позже,я тока начал заниматься FPV все постепенно )))))))
Подскажите, есть ли теоретическая возможность снимать показания с Смаллтим телеметрии через комп? Т.е. реально ли подключить к USB и считывать из COM порта данные?
есть ли теоретическая возможность снимать показания с Смаллтим телеметрии через комп? Т.е. реально ли подключить к USB и считывать из COM порта данные?
В наземной станции это заложенно. Эмуляция GPS через USB.
В наземной станции это заложенно. Эмуляция GPS через USB.
GPS мне как раз не нужен 😃 Мне нужны показания всех остальных датчиков. Я хочу подключив плату телеметрии к компьютеру, без наземной станции, получать данные с датчиков. Из видео выхода можно получить данные? Наверное я изъясняюсь не как профи 😊 не понятно, что мне нужно?
GPS мне как раз не нужен Мне нужны показания всех остальных датчиков. Я хочу подключив плату телеметрии к компьютеру, без наземной станции, получать данные с датчиков.
Эти данные вроде тоже идут по видеоканалу и доступны в наземке. Гдето выше в теме был даже формат структуры, поищите. В любом случае о деталях их ввода в ПК можно будет договориться с Тимофеем, так как тема прямой компьютерной обработки будет актуальна, ИМХО.
тема прямой компьютерной обработки будет актуальна, ИМХО
Я себе это представляю так - альтернативная прошивка для использования с ПК и переходник с видеовыхода на USB. Можно будет считывать данные из COM-порта и расшифровывать в соответствии с протоколом. Вопрос к Тимофею, можно ли ожидать что появится такая возможность?
переходник с видеовыхода на USB.
Такой переходник - по сути сама по себе наземка. Вам, как я понимаю, такое невыгодно.
В принципе думаю можно и в саму прошивку заложить вываливание пачек данных не в сигнал, а в последовательный порт, благо Txd свободен. Распечатывание пачек - на совести принимающей стороны.
Такой переходник - по сути сама по себе наземка. Вам, как я понимаю, такое невыгодно.
Дело не в не выгодно, а она мне просто не требуется 😃
В принципе думаю можно и в саму прошивку заложить вываливание пачек данных не в сигнал, а в последовательный порт, благо Txd свободен.
Спасибо, покопаюсь.
Но вопрос к Тимофею не снимается, хотелось бы иметь Plug’n’Play девайс.
Дело не в не выгодно, а она мне просто не требуется
Если имеется ввиду, что не требуется ПОВОРОТКА, т.е. механика наземки - то это совсем не то, что электроника. Подключаете видеосигнал с телеметрии без передатчиков/приемников прямо на коробочку наземки и получаете помимо желаемого выплевывания в ком-юсб данных телеметрии (уже “распечатанных”) еще и всякие пищалки и возможность перепрошивки телеметрии и т.д. и т.п.
Если же вы намекаете на то, что вам все это дело через ком надо на борту для каких-то собственных хитрых нужд - то опять же это делается Тимофеем вместе с коллегами.
Если же вы намекаете на то, что вам все это дело через ком надо на борту для каких-то собственных хитрых нужд - то опять же это делается Тимофеем вместе с коллегами.
У меня же все прозрачно, для управления через интернет мне это нужно, радиоуправление мне не требуется. Соответственно показания датчиков мне нужно видеть с компа (комп на модели). Если бы эту телеметрию можно было подключить через USB к компьютеру и получать показания датчиков, это было бы то что надо.
Тимофей, такой вопрос…
Сколько можно груза повесить на поворотку (патч антенны РЦ и видео например), чтоб она продолжала уверенно крутиться?
Если бы эту телеметрию можно было подключить через USB к компьютеру и получать показания датчиков, это было бы то что надо
Максим, я немного потерялся. Да, это уже есть, ничего делать не надо.
Поворотка подключается к USB компа и гонит в реальном времени не только синтезированные NMEA сообщения, притворяясь GPS модулем, но и данные телеметрии. Всё через виртуальный COM порт.
Всё, что нужно от Вашей софтинки - открыть этот COM порт на ПК и читать данные.
Или Вам нужно получать данные именно с аппаратного UARTа на плате? Будет сделано, это несложно, просто никому пока не нужно.
Сколько можно груза повесить на поворотку (патч антенны РЦ и видео например), чтоб она продолжала уверенно крутиться?
В граммах, честно говоря, не меряли.
Под большим 1.2 ГГц патчем она будет нормально работать. Ну а так, это зависит от сервы поворота по вертикали. Поставите мощнее - будет уверенно крутить большие веса.
Соответственно показания датчиков мне нужно видеть с компа (комп на модели).
А, блин, понял. Надо, чтобы телеметрия НА БОРТУ на комп отстреливала данные. Хм. С автопилотом - нивапрос. Цепляйте через USB к бортовому компуку и читайте данные прямо в полете, автопилот виден как HID устройство, ~100 раз в секунду отсылает HID пакеты с данными.
Нужна расшифровка HID пакетов - говорите, что именно нужно, опишу.
Поворотка подключается к USB компа
Наверное уже сто раз спрашивали и все же я не нашел, сколько будет стоить наземко? Мне кажется не рационально не использовать основные ее возможности, а пользоваться ей как переходничком. Лучше бы конечно прям с платы телеметрии получать данные.
Наверное уже сто раз спрашивали
Коллеги, ну пожааалуйста, потерпите еще пару дней, появится на сайте 😉
Это большая тайна, сказать скоко денех готовить хотя б примерно, держим интригу…