micro / minimOSD для NAZA

pavel74

подскажите . пришла такая плата подключил на столе всё вроде работает. 3 экрана -один без осд . 2 других почти одинаковые -только параметры по разному расположены. но нет ррси. - нужно прошивать? хотя и контакты и в описании есть. и можно ли вывести показания тока.

crown
pavel74:

но нет ррси. - нужно прошивать? хотя и контакты и в описании есть

если на экране нет инфы об rssi тогда в конфигураторе добавить этот параметр на экран, а так работает все нормально

pavel74
crown:

а так работает все нормально

да остальное ок. напругу показывает точно.

Entrprise

Посылка с 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 ?

Entrprise

Скачал сорцы Алексея из поста 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 *, ...);

                                                   ^
Ошибка компиляции.
alezz
Entrprise:

tx-rx, rx-tx, 5v-5v и gnd-gnd ?

подводный камень один, или заводить сброс на GRN или ловить нажатие резета. Это уже обсуждалось здесь

Entrprise:

Что я делаю не так?

На первых страницах давал ссылку на мануал по компиляции на анл языке, но картинками. Просто нужно посмотреть на эти картинки с сделать все точно так 😃

Entrprise
alezz:

подводный камень один, или заводить сброс на GRN или ловить нажатие резета. Это уже обсуждалось здесь

  1. rst с ардуинки, которую использую как юсб адаптер (nano), завести на grn осдшки ?
  2. я на nano соединил RST с GND чтоб перевести ее в режим адаптера, это не помешает осуществлению пункта 1 ?
alezz:

На первых страницах давал ссылку на мануал по компиляции на анл языке, но картинками. Просто нужно посмотреть на эти картинки с сделать все точно так

делаю как раз по той пдфке (minimOSD-howto), может пропустил что то, проверю.

Entrprise
Entrprise:

делаю как раз по той пдфке (minimOSD-howto), может пропустил что то, проверю.

Не думал что версия IDE будет иметь такое значение 😃

Vlad-1357

Друзья, выскочила проблема. ОСД стало часто помигивать, а когда запускаешь моторы, и вовсе пропадает. Изображение курсовой камеры при этом отличное 😦

Vlad-1357

Камеру отключил, осд нормальное и с другой камерой нормальное. С китайцами связался, говорят у меня камера в PAL-е работает. Ну что интересно пытаюсь в конфигураторе переключить PAL/NTSC не переключается. Другие параметры меняются, видео режим - нет. Где искать?

Entrprise
alezz:

подводный камень один, или заводить сброс на GRN или ловить нажатие резета.

не помогло - failed to talk with bootloader

alezz

это типа мы должны угадать что из 2х вариантов не помогло? Первый способ работает железно, второй у кого-то получается сразу у кого-то нет, но обучающее видео даже здесь уже выкладывалось

Entrprise
alezz:

это типа мы должны угадать что из 2х вариантов не помогло? Первый способ работает железно

уточняю, со вторым вариантом у меня сразу не получилось, попробовал раз 20-30 нажимать ресет одновременно, до и после нажатия на кнопку “Read from OSD”, но не пошло.
а теперь я писал про первый вариант - у ардуино нано (которой и пытаюсь вытянуть данные с ОСД) есть два контакта RST (по одному на каждой стороне с контактами), один я соединил с GND (перевел ардуинку в режим юсб адаптера), а второй вывел на GRN ОСДшки.
получилось следующее подключение:
ОСД-Ардуино
tx-rx0
rx-tx1
5v-5v
gnd-gnd
grn-rst

прошивать не пробовал раз чтение не работает и плату не распаивал

alezz

Почитай здесь:
blog.oscarliang.net/program-minimosd-using-arduino…
При таком способе tx и rx перекрещивать не нужно, шьются обе атмеги (и в нано и в минимосд) одновременно. МинимОсд потом отключишь и зальешь в нано то что хочешь. Сам не пробовал но должно сработать

Entrprise
alezz:

Почитай здесь: 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

как я понимаю, если читать не выходит, то дело плохо, да?

alezz

ну попробуй минимосд вообще отключить и залить конфигуратором прошивку от минимосд в нано, может проблема в нано?

Entrprise
alezz:

ну попробуй минимосд вообще отключить и залить конфигуратором прошивку от минимосд в нано, может проблема в нано?

так я прошивать еще даже не пробовал, тесты ограничивались только нажатием “Read from OSD” 😃
Попробовать шить?

alezz
Entrprise:

так я прошивать еще даже не пробовал, тесты ограничивались только нажатием “Read from OSD” 😃
Попробовать шить?

думаю хуже не будет, попробуй для начала только нано. Позже прошьешь что нужно

Entrprise

Попробовал прошить ардуинку файлом 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)

alezz

это не прошивка а загрузчик шрифтов под максину, пробуй шить прошивку. Конфигуратор лучше использовать родной для minnazaosd есть на первой странице темы

Entrprise
alezz:

это не прошивка а загрузчик шрифтов под максину, пробуй шить прошивку

ок, просто этот файлик шьют в самом начале по списку, вот с него и начал.

alezz:

Конфигуратор лучше использовать родной для 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!