1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

ArduPlane. Управление затвором камеры

Тема в разделе "[ArduPlane] Вопросы, проблемы и решения", создана пользователем Palladian, 14 июл 2016.

Реклама. Купить это место.
  1. Palladian

    Palladian Абитуриент

    Регистрация:
    8 июл 2016
    Сообщения:
    24
    Город:
    Симферополь
    Имя:
    Андрей
    Ну вот так точно не правильно:
    cliSerial->printf_P(%d, camerafeedbackpin);

    Я что-то не могу понять что за метод PSTR().
     
  2. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    функция которая возвращает адрес в памяти указывающий на первый символ сроки (Pointer)
    в функцию printf_P нужно передавать не строку а адрес в отличие от ее аналога printf
     
  3. Palladian

    Palladian Абитуриент

    Регистрация:
    8 июл 2016
    Сообщения:
    24
    Город:
    Симферополь
    Имя:
    Андрей
    Написал в мавленковском файле такой код:

    #if CAMERA == ENABLED
    case MAVLINK_MSG_ID_DIGICAM_CONFIGURE:
    {
    break;
    }


    case MAVLINK_MSG_ID_DIGICAM_CONTROL:
    {
    camera.control_msg(msg);

    cliSerial->printf_P("%d", &camerafeedbackpin);

    if (camerafeedbackpin == -1)
    log_picture();
    else
    log_picture_feedback(1);
    break;
    }
    #endif // CAMERA == ENABLED

    Ожидал в missin planner увидеть своё сообщение, однако кроме стандартных сообщений о выполненном действии ничего не пришло.

    upload_2016-7-28_15-38-43.png
     
  4. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    да, верно, cli то выключена изза нехватки места
    попробуйте в мавлинк сообщение послать
    типа так

    gcs_send_text_fmt(PSTR("Log started %d" ), (int) numlog);


    я сейчас в этой прошивке ковыряюсь с логами.
    мне ненравится что если через мишен планер зайти в форму загрузки логов например для их очистки то не всегда стартует запись лога.
    изза этого потеряли лог одного важного полета.
    попутно хочу минимизировать объем данных чтобы можно было писать многочасовые полеты
     
    Последнее редактирование: 28 июл 2016
    raefa нравится это.
  5. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    собрал крайний ардуплан для апм. тоесть 3.4. он в арду не собирается , только мэйком. по случаю переустановил винду и сделал все по чистой установке и собралось.
    Сейчас удобно редактируется в эклипсе и собирается из него же.
    в итоге собрал ардуплан 3.4 с фиксом нмеа. пока не тестил.
    решил проблему sh: g command not found ...
     
  6. Palladian

    Palladian Абитуриент

    Регистрация:
    8 июл 2016
    Сообщения:
    24
    Город:
    Симферополь
    Имя:
    Андрей
    А можно пожалуйста ссылку на среду и новую сборку.
     
  7. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    1. среда разработки - все ставить по пунктам инструкции
    http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html
    2. компилятор из их сборки ардуино http://ardupilot.org/dev/docs/building-ardupilot-with-arduino-windows.html,
    через инструменты GIT делаете локальный клон мастера
    переключаетесь git checkout ArduPlane-release-AVR
    как дойдете до ошибки компиляции sh: g command not found
    сделайте следующее:
    в папке ардуино C:\.... \ArduPilot-Arduino-1.0.3-windows\hardware\tools\avr\bin
    находите файл avr-g++.exe и делаете его копию с именем g.exe
     
  8. Palladian

    Palladian Абитуриент

    Регистрация:
    8 июл 2016
    Сообщения:
    24
    Город:
    Симферополь
    Имя:
    Андрей
    Ранее вы писали, что перенесли функционал hotshoe на АПМ с пикса без изменений. Однако, как оказалось, это не совсем так. Дело в том, что я выяснил, что пикс, всё таки, работает немгного не так. А именно, при настройки fidback_pin пикс пишет в свои логи данные с тегом TRIG в то время, когда посылает камере сигнал на спуск затвора. Вне зависимости от этого, когда бы не пришёл сигнал от горячего башмака, пикс тут же запишет лог, но с тегом CAM. Кроме того, в параметрах написано, что сигнал на fidback_pin должен удерживаться не менее 2мс, однако при выдержке 1/4000 всё прекрасно работает. Ну это логично, частота то работы процессора куда больше.
    А теперь о АПМ. Ну о нём я раннее много так сказать отчётов писал. Но суть в том, что по сигналу башмака он ничего не пишет, а пишет ВСЕГДА в то время, когда посылает камере сигнал на спуск затвора с тегом CAM.

    P.S. все тесты проводились на столе с использование MissioPlanner и команды TriggerCamera.
     
  9. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    927
    Город:
    Москва
    Имя:
    Алексей Козин
    видимо я переносил ьашмак с более ранней прошивки чем тв которую вы тестили на пиксе и уже есть существенные доарботки которые логично дотянуть
     
Реклама. Купить это место.