#linux #buffer #iio
Вопрос:
В настоящее время я тестирую некоторые вещи с помощью акселерометра и его буфера iio, и есть кое-что, что меня смущает. Датчик имеет четыре различных элемента сканирования: x
, y
, z
и a timestamp
. Индексы этих значений являются:
x = 0
, y = 1
, z = 2
и time = 3
. Пока все хорошо. Если я включу все доступные элементы сканирования, порядок записей будет установлен в соответствии с описанием.
все включено:
0000010 f758 011c 3f64 c0b0 be90 0bfe 499f 0004
0000020 f724 0134 3f58 c0b0 3f2f 10ab 499f 0004
Но как только у меня появятся пробелы, например , если я отключу элемент сканирования y
, z
значение перейдет в индекс 1, и мой буфер будет выглядеть так:
x
, z
и time
:
0000010 f720 3f70 0000 0000 722a 5c13 4946 0004
0000020 f728 3f74 0000 0000 0958 60c0 4946 0004
z
и time
:
0000010 3f6c 0000 0000 0000 ca0b 6ef1 48be 0004
0000020 3f44 0000 0000 0000 edf7 739e 48be 0004
только x
и z
:
0000010 f720 3f48 f748 3f54 f744 3f5c f75c 3f68
0000020 f750 3f78 f738 3f80 f718 3f64 f700 3f50
Я не смог найти дополнительную информацию по этому вопросу, но я немного сбит с толку и удивлен тем, что элементы сканирования не соблюдают заданный им индекс, как только активирована метка времени и есть пробел в индексе. Это нормальное поведение или это что-то, что перепутал текущий драйвер датчика?
Комментарии:
1. Какую версию ядра вы используете? Недавно был проведен большой рефакторинг внутри подсистемы IIO, чтобы убедиться, что метка времени всегда выровнена.
2. В настоящее время мы находимся на версии 4.19.0. Мне просто интересно, является ли это нормальным поведением или ошибкой в драйвере датчика
3. Можете ли вы воспроизвести это на последней версии vanilla (v5.14-rc6)? И мне интересно, почему вы используете 0 , когда стабильная версия v4.19.y в настоящее время составляет 204 .
4. Поскольку я не участвовал в выборе версии ядра, я не совсем понимаю причины этого выбора. Я уверен, что некоторые из них есть, но я не занимался этим. Я посмотрю, смогу ли я протестировать его на последней версии vanilla, и я дам вам знать