[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4678: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4680: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4681: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4682: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
virt2real.ru • Просмотр темы - Точность gpio-event, с опытом и вопросами
Страница 1 из 1

Точность gpio-event, с опытом и вопросами

СообщениеДобавлено: 06 май 2014, 00:39
eagafonov

Re: Точность gpio-event, с опытом и вопросами

СообщениеДобавлено: 06 май 2014, 01:39
phoenix367
Есть идея использовать микроконтроллер для декодирования PPM сигнала. Тогда можно будет складывать коды в буфер, а виртурилка по прерыванию от контроллера будет их оттуда считывать, когда ей удобно и выполнять переданные команды. А декодировать такие вещи на не Hard RealTime системе - глухой номер. Можно попробовать накатить на ядро патчи Xenomai, но там работы на полгода минимум, поскольку надо кучу драйверов переписывать.

Re: Точность gpio-event, с опытом и вопросами

СообщениеДобавлено: 06 май 2014, 16:46
eagafonov
Вообще всё это чревато, например, фантомными вылетами в измерении дальности с помощью ультразвукового дальномера. Полметра при точности в сантиметры.

В случае с дальномером медианный фильтр вполне это отфильтрует, но вот фильтровать PPM с RC пульта чревато искусственными лагами в управлении.

Использовать отдельный микроконтроллер это была вторая идея :-) Лень паять и программировать ещё и контроллер перевесила. Да и просто интересно было.
Короче, "учитывайте это при планировании работ" ;-)

Re: Точность gpio-event, с опытом и вопросами

СообщениеДобавлено: 07 май 2014, 00:21
eagafonov
Результаты чтения с RC NineEagle J6 Pro
https://docs.google.com/spreadsheets/d/ ... sp=sharing

Имеется некий "дребезг" самого пульта и явные вылеты.
Похоже, медианный фильтр длины 3 должен сильно сгладить.

Re: Точность gpio-event, с опытом и вопросами

СообщениеДобавлено: 13 авг 2014, 23:22
eagafonov
Апдейт темки.

Дошли руки до декодирования 4-х PWM каналов от RC приёмника. Результаты удручают - значения гуляют в пределах 50мс в обе стороны, при диапазоне значений 1000мс-2000мс. Сказывается то, что спад PWM импульса одного канала совпадает с фронтом импульса следующего и обработчик прерываний с ума сходит. Летать с таким невозмжно.

картинка про PWM и PPM-sum для понимания масштаба трагедии

http://api.ning.com/files/dx5ykeJRAELCZ ... _FRAME.jpg

http://www.pabr.org/pxarc/doc/opwm_ppm.gif

Для сравнения, при декодировании ppm-sum были одиночные отклонения значений менее чем 10мс и отфильтровывались они медианным фильтром достаточно хорошо.

RC-приёмник с ppm-sum выходом в пути из поднедесной. Приедет - продолжу с ним эксперементы.

Ещё одно сравнение - с родным тренерским USB-свистком от RC-аппаратуры. Значения от него вообще не плавают после калибровки.