Commit 8929597c authored by draft's avatar draft Committed by Vinogradov Aleksei

Заменил функцию считывания аналогового сигнала

на функцию предусматривающую ожидание установления значения аналогового сигнала. Это необходимо для предотвращения наложения сигналов при мультипликсировании каналов.
parent be0be678
...@@ -45,7 +45,7 @@ ComediInterface::~ComediInterface() ...@@ -45,7 +45,7 @@ ComediInterface::~ComediInterface()
int ComediInterface::getAnalogChannel( int subdev, int channel, int range, int aref ) const int ComediInterface::getAnalogChannel( int subdev, int channel, int range, int aref ) const
{ {
lsampl_t data = 0; lsampl_t data = 0;
int ret = comedi_data_read(card, subdev, channel, range, aref, &data); int ret = comedi_data_read_delayed(card, subdev, channel, range, aref, &data, 10000);
if( ret < 0 ) if( ret < 0 )
{ {
......
...@@ -202,7 +202,7 @@ int main(int argc, char* argv[]) ...@@ -202,7 +202,7 @@ int main(int argc, char* argv[])
while(1) while(1)
{ {
if(comedi_data_read(card, subdev, chan, range, aref, &data) < 0) if(comedi_data_read_delayed(card, subdev, chan, range, aref, &data, 10000) < 0)
{ {
fprintf(stderr, "can't read from channel %d\n", chan); fprintf(stderr, "can't read from channel %d\n", chan);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
......
...@@ -312,7 +312,7 @@ int main(int argc, char* argv[]) ...@@ -312,7 +312,7 @@ int main(int argc, char* argv[])
if( autoconf ) if( autoconf )
insn_config(card, subdev, chan[k], 100, range, aref); insn_config(card, subdev, chan[k], 100, range, aref);
int ret = comedi_data_read(card, subdev, chan[k], range, aref, &data); int ret = comedi_data_read_delayed(card, subdev, chan[k], range, aref, &data, 10000);
if( ret < 0) if( ret < 0)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment