micro / minimOSD для NAZA
а так работает все нормально
да остальное ок. напругу показывает точно.
Посылка с FTDI USB адаптером куда то исчезла (надеюсь что таки придет), а minimOSD уже давно приехала, ждать дальше нету сил 😃
В связи с чем возник вопрос - смогу ли я прошить осдшку с помощью ардуино нано? Она у меня сейчас исполняет роль USB UART адаптера для подключения подвеса к компу, при этом задействованы tx, rx, 5v и gnd.
Теоретически осдшка это та же ардуинка, т.е. должна прошиться таким способом (только tx, rx, 5v и gnd). Я прав? И какие могут быть подводные камни при прошивке таким способом? Подключать tx-tx, rx-rx, 5v-5v и gnd-gnd или tx-rx, rx-tx, 5v-5v и gnd-gnd ?
Скачал сорцы Алексея из поста 659, либы добавил из свн и запустил верификацию. В результате ошибки в либе “FastSerial”.
Что я делаю не так?
Arduino: 1.6.0 (Windows 7), Плата"Arduino Nano, ATmega328"
Using library FastSerial in folder: D:\Development\Arduino\libraries\FastSerial (legacy)
Using library AP_Common in folder: D:\Development\Arduino\libraries\AP_Common (legacy)
Using library AP_Math in folder: D:\Development\Arduino\libraries\AP_Math (legacy)
Using library EEPROM in folder: D:\Development\Arduino\hardware\arduino\avr\libraries\EEPROM
Using library SimpleTimer in folder: D:\Development\Arduino\libraries\SimpleTimer (legacy)
Using library GCS_MAVLink in folder: D:\Development\Arduino\libraries\GCS_MAVLink (legacy)
Using library MemoryFree in folder: D:\Development\Arduino\libraries\MemoryFree (legacy)
Using library TinyGPS in folder: D:\Development\Arduino\libraries\TinyGPS (legacy)
D:\Development\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10600 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -ID:\Development\Arduino\hardware\arduino\avr\cores\arduino -ID:\Development\Arduino\hardware\arduino\avr\variants\eightanaloginputs -ID:\Development\Arduino\libraries\FastSerial -ID:\Development\Arduino\libraries\AP_Common -ID:\Development\Arduino\libraries\AP_Math -ID:\Development\Arduino\hardware\arduino\avr\libraries\EEPROM -ID:\Development\Arduino\libraries\SimpleTimer -ID:\Development\Arduino\libraries\GCS_MAVLink -ID:\Development\Arduino\libraries\MemoryFree -ID:\Development\Arduino\libraries\TinyGPS C:\Users\Dmitry\AppData\Local\Temp\build2888606143456053024.tmp\ArduCam_Max7456.cpp -o C:\Users\Dmitry\AppData\Local\Temp\build2888606143456053024.tmp\ArduCam_Max7456.cpp.o
In file included from D:\Development\Arduino\libraries\FastSerial/BetterStream.h:16:0,
from D:\Development\Arduino\libraries\FastSerial/FastSerial.h:56,
from C:\Users\Dmitry\AppData\Local\Temp\build2888606143456053024.tmp\ArduCam_Max7456.cpp:2:
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h: In function 'int strcasecmp_P(const char*, const prog_char_t*)':
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:108:38: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
return strcasecmp_P(str1, (const prog_char *)pstr);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:108:38: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:108:32: error: expected primary-expression before 'const'
return strcasecmp_P(str1, (const prog_char *)pstr);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:108:32: error: expected ')' before 'const'
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h: In function 'int strcmp_P(const char*, const prog_char_t*)':
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:113:34: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
return strcmp_P(str1, (const prog_char *)pstr);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:113:34: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:113:28: error: expected primary-expression before 'const'
return strcmp_P(str1, (const prog_char *)pstr);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:113:28: error: expected ')' before 'const'
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h: In function 'size_t strlen_P(const prog_char_t*)':
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:118:28: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
return strlen_P((const prog_char *)pstr);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:118:28: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:118:22: error: expected primary-expression before 'const'
return strlen_P((const prog_char *)pstr);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:118:22: error: expected ')' before 'const'
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h: In function 'void* memcpy_P(void*, const prog_char_t*, size_t)':
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:123:34: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
return memcpy_P(dest, (const prog_char *)src, n);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:123:34: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:123:28: error: expected primary-expression before 'const'
return memcpy_P(dest, (const prog_char *)src, n);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:123:28: error: expected ')' before 'const'
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h: In function 'char* strncpy_P(char*, const prog_char_t*, size_t)':
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:148:37: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
return strncpy_P(buffer, (const prog_char *)pstr, buffer_size);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:148:37: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:148:31: error: expected primary-expression before 'const'
return strncpy_P(buffer, (const prog_char *)pstr, buffer_size);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:148:31: error: expected ')' before 'const'
In file included from D:\Development\Arduino\hardware\arduino\avr\cores\arduino/WString.h:29:0,
from D:\Development\Arduino\hardware\arduino\avr\cores\arduino/Print.h:26,
from D:\Development\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26,
from D:\Development\Arduino\libraries\FastSerial/BetterStream.h:14,
from D:\Development\Arduino\libraries\FastSerial/FastSerial.h:56,
from C:\Users\Dmitry\AppData\Local\Temp\build2888606143456053024.tmp\ArduCam_Max7456.cpp:2:
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h: In function 'uintptr_t pgm_read_pointer(const void*)':
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:165:47: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
u.a[i] = pgm_read_byte(i + (const prog_char *)s);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:165:47: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:165:41: error: expected primary-expression before 'const'
u.a[i] = pgm_read_byte(i + (const prog_char *)s);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:165:41: error: expected ')' before 'const'
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:165:22: error: expected ')' before ';' token
u.a[i] = pgm_read_byte(i + (const prog_char *)s);
^
D:\Development\Arduino\libraries\FastSerial/../AP_Common/AP_Common.h:165:22: error: expected ')' before ';' token
In file included from D:\Development\Arduino\libraries\FastSerial/FastSerial.h:56:0,
from C:\Users\Dmitry\AppData\Local\Temp\build2888606143456053024.tmp\ArduCam_Max7456.cpp:2:
D:\Development\Arduino\libraries\FastSerial/BetterStream.h: At global scope:
D:\Development\Arduino\libraries\FastSerial/BetterStream.h:28:41: error: 'prog_char' does not name a type
void _printf_P(const prog_char *, ...);
^
D:\Development\Arduino\libraries\FastSerial/BetterStream.h:28:51: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
void _printf_P(const prog_char *, ...);
^
Ошибка компиляции.
tx-rx, rx-tx, 5v-5v и gnd-gnd ?
подводный камень один, или заводить сброс на GRN или ловить нажатие резета. Это уже обсуждалось здесь
Что я делаю не так?
На первых страницах давал ссылку на мануал по компиляции на анл языке, но картинками. Просто нужно посмотреть на эти картинки с сделать все точно так 😃
подводный камень один, или заводить сброс на GRN или ловить нажатие резета. Это уже обсуждалось здесь
- rst с ардуинки, которую использую как юсб адаптер (nano), завести на grn осдшки ?
- я на nano соединил RST с GND чтоб перевести ее в режим адаптера, это не помешает осуществлению пункта 1 ?
На первых страницах давал ссылку на мануал по компиляции на анл языке, но картинками. Просто нужно посмотреть на эти картинки с сделать все точно так
делаю как раз по той пдфке (minimOSD-howto), может пропустил что то, проверю.
делаю как раз по той пдфке (minimOSD-howto), может пропустил что то, проверю.
Не думал что версия IDE будет иметь такое значение 😃
Друзья, выскочила проблема. ОСД стало часто помигивать, а когда запускаешь моторы, и вовсе пропадает. Изображение курсовой камеры при этом отличное 😦
Камеру отключил, осд нормальное и с другой камерой нормальное. С китайцами связался, говорят у меня камера в PAL-е работает. Ну что интересно пытаюсь в конфигураторе переключить PAL/NTSC не переключается. Другие параметры меняются, видео режим - нет. Где искать?
подводный камень один, или заводить сброс на GRN или ловить нажатие резета.
не помогло - failed to talk with bootloader
это типа мы должны угадать что из 2х вариантов не помогло? Первый способ работает железно, второй у кого-то получается сразу у кого-то нет, но обучающее видео даже здесь уже выкладывалось
это типа мы должны угадать что из 2х вариантов не помогло? Первый способ работает железно
уточняю, со вторым вариантом у меня сразу не получилось, попробовал раз 20-30 нажимать ресет одновременно, до и после нажатия на кнопку “Read from OSD”, но не пошло.
а теперь я писал про первый вариант - у ардуино нано (которой и пытаюсь вытянуть данные с ОСД) есть два контакта RST (по одному на каждой стороне с контактами), один я соединил с GND (перевел ардуинку в режим юсб адаптера), а второй вывел на GRN ОСДшки.
получилось следующее подключение:
ОСД-Ардуино
tx-rx0
rx-tx1
5v-5v
gnd-gnd
grn-rst
прошивать не пробовал раз чтение не работает и плату не распаивал
Почитай здесь:
blog.oscarliang.net/program-minimosd-using-arduino…
При таком способе tx и rx перекрещивать не нужно, шьются обе атмеги (и в нано и в минимосд) одновременно. МинимОсд потом отключишь и зальешь в нано то что хочешь. Сам не пробовал но должно сработать
Почитай здесь: blog.oscarliang.net/program-m...ut-ftdi-cable/ При таком способе tx и rx перекрещивать не нужно, шьются обе атмеги (и в нано и в минимосд) одновременно. МинимОсд потом отключишь и зальешь в нано то что хочешь. Сам не пробовал но должно сработать
почитал, спасибо. На счет Remove the ATMEGA chip from the socket это не мой случай. но мне не принципиально что ардуинка прошьется, все равно использую ее как адаптер, а при таком подключении все равно что в ней залито. но проблема так и не решилась 😦
tx и rx теперь не перекрещиваю, но “Read from OSD” все так же выдает failed to talk with bootloader
как я понимаю, если читать не выходит, то дело плохо, да?
ну попробуй минимосд вообще отключить и залить конфигуратором прошивку от минимосд в нано, может проблема в нано?
ну попробуй минимосд вообще отключить и залить конфигуратором прошивку от минимосд в нано, может проблема в нано?
так я прошивать еще даже не пробовал, тесты ограничивались только нажатием “Read from OSD” 😃
Попробовать шить?
так я прошивать еще даже не пробовал, тесты ограничивались только нажатием “Read from OSD” 😃
Попробовать шить?
думаю хуже не будет, попробуй для начала только нано. Позже прошьешь что нужно
Попробовал прошить ардуинку файлом minNAZAOSD_upload_MCM.hex (через ArduCAM OSD Config (версия 2.1.3.0))
Получил:
Failed to talk to bootloader
и потом:
Upload failed. Lost sync. Try using Arduino to upload instead
лампочка RX на ардуинке мигала, значит данные пришли.
и так дважды подряд при попытке прошить.
ну и конечно:
The EEPROM mapping is outdated! An automatic update will start.
при каждом перезапуске ArduCAM OSD Config (версия 2.1.3.0)
это не прошивка а загрузчик шрифтов под максину, пробуй шить прошивку. Конфигуратор лучше использовать родной для minnazaosd есть на первой странице темы
это не прошивка а загрузчик шрифтов под максину, пробуй шить прошивку
ок, просто этот файлик шьют в самом начале по списку, вот с него и начал.
Конфигуратор лучше использовать родной для minnazaosd есть на первой странице темы
так я вроде родной конфигуратор и использовал.
он лнжит в транке и он же на первой странице тему в сборке от Zis (пост 21)
Попробовал прошить ардуинку файлом minNAZAOSD.cpp.hex через ОСД конфигуратор (правда я не отпаивал RST от GND).
Та же проблема:
Failed to talk to bootloader
Upload failed. Lost sync. Try using Arduino to upload instead
Failed to talk to bootloader
Failed to download data!
Failed to talk to bootloader
Upload failed. Lost sync. Try using Arduino to upload instead
Failed to talk to bootloader
Failed to download data!
что то здесь не так, похоже в нано нет бутлоадера? Советуют попробовать Arduino IDE, других вариантов тоже не вижу. Хотя RST нужно убрать для начала, возможно ты резет просто коротишь и в этом проблема
что то здесь не так, похоже в нано нет бутлоадера?
если бы бутлоадера небыло, то мне бы не удалось использовать эту ардуинку в качестве адаптера для подвеса
Советуют попробовать Arduino IDE, других вариантов тоже не вижу. Хотя RST нужно убрать для начала, возможно ты резет просто коротишь и в этом проблема
ресет отпаяю и попробую из Arduino IDE