Максимальная скорость опроса каналов W1/W2 контроллера WB6


#1

Есть необходимость оцифровки показаний датчиков, для этого необходимо раз в 10 секунд в течение 50 мс с максимальной скоростью (с периодом не более 1мс) считывать состояние каналов W1 и W2 включенные в режиме дискретных входов. Подчитать время нахождения каналов в режиме “1” и потом передать эти две суммы через TCP-IP вышестоящей программе.
Подскажите пожалуйста куда рыть :slight_smile:


#2

sasa, добрый день!
Это очень непростая задача, тайминги довольно жесткие для linux. Надо писать свой софт, который будет в эти 50 мс постоянно смотреть за GPIO (https://wirenboard.com/wiki/index.php/Wiren_Board_6.2:_Peripherals) и измерять время переключения. Не могу оценить, насколько сильно многозадачность будет вносить искажения.
Я бы даже использовал бы отдельную ардуину для этого, общался бы с ней через UART.