[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/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 • Просмотр темы - PWM в virt2real
Страница 1 из 1

PWM в virt2real

СообщениеДобавлено: 13 май 2014, 18:59
sanya555
Всем привет, пишу программу для управления машинкой, и для пропорционального управления использую встроенную PWM. Но встроенная PWM ест очень много ресурсов (при стриминге видео, приеме команд по udp и запуска 4-ох pwm проц работает на все 100%). Если отключить ШИМ,то грузится только на 30-35%. Можно ли это как-нибудь решить без использования внешних контроллеров ШИМ?

Re: PWM в virt2real

СообщениеДобавлено: 14 май 2014, 00:53
Noor
А как загруженность процесора посмотреть?

Re: PWM в virt2real

СообщениеДобавлено: 14 май 2014, 09:41
sanya555
Можно просто командой top.

Re: PWM в virt2real

СообщениеДобавлено: 14 май 2014, 11:46
eagafonov
Не совсем понял, что грузит процессор.

Под внешними контроллерами ШИМ вы подразумеваете аппаратные? Аппартные ШИМ вообще CPU не грузят.

Как часто вы отправляете команды ШИМ контроллеру? У меня в коптере 4 апаратных PWM обновляются 100 раз в секунду и я не заметил, что именно это грузит CPU.

Каким образом вы отправляете команды? в скриптах а-ля echo "set pwm <номер_pwm> <duty> <period>" > /dev/v2r_pins или программно открываете файл и пишете туда строчки ?

Опять же в коптере я один раз открываю файл /dev/v2r_pins и пишу туда строчки "set pwm <номер_pwm> <duty> <period>" без закрытия файла.
Плюс небольшой хак - если значение параметров для какого-то PWM не поменялись с последней записи, но ничего не отправляется.

UPD:
После консультаций с собственным кодом есть уточнение: файл я открываю каждый раз. Грязно, работает, но надо переделать.

https://github.com/eagafonov/v2r-ardupi ... t.cpp#L162

Re: PWM в virt2real

СообщениеДобавлено: 14 май 2014, 14:53
sanya555
Под контроллером ШИМ я имел в виду какую то микросхему драйвера.
Команду ШИМ отправляю скриптами.

Объясняю как у меня все происходит, на плате запущен gstreamer и моя программка, которая принимает данные по udp и отправляет их на ШИМ. При этом если ШИМ включен, то команды очень медленно обрабатываются.

UPD: В общем сделал передачу команд ШИМ напрямую в файл как у вас и все нормально заработало. Благодарю за помощь.

Re: PWM в virt2real

СообщениеДобавлено: 14 май 2014, 20:45
eagafonov

Re: PWM в virt2real

СообщениеДобавлено: 18 июн 2014, 15:31
Gol
PWM не могут грузить систему, т.к. это чисто аппаратная шняга. Может грузить процесс записи в драйвер. Сам драйвер нагрузку создаёт копеечную, эт я как только не проверял, так что смотри скрипты свои которыми пишешь команды в драйвер.

UPD> а, выше уже ответили, пардон.