Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


SetParametersStream возвращает неверные указатели

Вы не вошли.

 Поиск | Регистрация | Вход 

Gals
13.10.2015 10:54:46
#1

Гость

SetParametersStream возвращает неверные указатели

Тестирую работу на ядре

2.6.32-64

Функция SetParametersStream возвращает L_SUCCESS, но при этом дает неверные указатели на буфер и длину данных.

if (L_SUCCESS == pI->SetParametersStream(
      &adcPar.t1, &size, (void **)&bufpointer, (void **)&bufsizepointer, L_STREAM_ADC))
    {
      params.bufsize = size;
      cout << "Buffer size(word): " << size << endl;
      cout << "Pages:             " << adcPar.t1.Pages << endl;
      cout << "IrqStep:           " << adcPar.t1.IrqStep << endl;
      cout << "FIFO:              " << adcPar.t1.FIFO << endl;
      cout << "Rate:              " << adcPar.t1.dRate << endl;
      cout << "PTR:               " << bufpointer << endl;      
      cout << "CntPTR             " << bufsizepointer << endl;
}

Результат:

Buffer size(word): 512
Pages:             16
IrqStep:           32
FIFO:              0
Rate:              10
PTR:               0xfff
CntPTR             0xffffffff

Непонятно, если чтото неверно, должна бы возвращать L_ERROR, а тут все в порядке, а указатели кривые...
Что с этим делать?

13.10.2015 13:32:29
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: SetParametersStream возвращает неверные указатели

Попробуйте внести исправления в исходниках
инициализировать map_inBuffer=NULL  map_inSize=0 map_outBuffer=NULL  map_outSize=0 в OpenLdevice.
В RequetBuffer после проверки на MAP_FAILED тоже map_inBuffer и out присвоить NULL

Должно помочь.

Gals
15.10.2015 12:42:32
#3

Гость

Re: SetParametersStream возвращает неверные указатели

Poul пишет:

Попробуйте внести исправления в исходниках
инициализировать map_inBuffer=NULL  map_inSize=0

Спасибо, помогло!