Модуль акселерометров поддерживает три различных чипа. В зависимости от установленного чипа применяются различные настройки.
Значение параметра -1 означает использовать значения по умолчанию. В скобках указано актуальное значение.
Доступные значения и используемые единицы зависят от используемого типа акселерометра.
Тип акселерометра можно увидеть командой GET /cli state imu::
Общее описание назначения параметров:
odr - output data rate. Частота измерения ускорения чипом
fs - full scale. Диапазон измерения ускорений.
wuths - wakeup threshold. Пороговое значение ускорения для генерации события подвижности.
wudur - wakeup duration. Длительность превышения ускорения по wuths, после которого генерируется событие подвижности.
idledur - idle duration. Используется для генерации события неподвижности, если в течении этого времени не было движения, ms.
o6dths - orientation in 6 dimensions threshold. Порог ускорения либо угол, по которому генерируется значение текущей ориентации.
filt - filter option. Используется для отладки.
ISM303DAC
| Code Block |
|---|
[/imu/ibase] imu base:
odr=-1(400HzHR) fs=-1(2g) wuths=-1(100) wudur=-1(5) idledur=-1(5000) o6dths=-1(50deg) ffths=-1(200) ffdur=-1(75) filt=-1(internal) (Set 0*) |
wuths - mg, multiples by 1*lsb
wudur - ms, multiples by 1*odr
o6dths - 80deg (1), 70deg (2), 60deg (3), 50deg (4)
ffths - free fall threshold. Порог ускорения для генерации события “свободное падение”, mg, internally aligned in row [156, 219, 250, 313, 344, 406, 469, 500]
ffdur - free fall duration. Длительность либо количество отсчетов в течении которого ускорение остается ниже ffths по всем осям и генерируется событие “свободное падение”, ms, multiples by 1*odr
| Code Block |
|---|
[/imu/iext] imu ext:
slpmode=-1(enabled) slpdur=-1(3000) clkmode=-1(disabled) clkths=-1(400) clkdur=-1(560) clkshock=-1(60) clkquite=-1(30) (Set 0*) |
slpmode - sleep mode. Включение (1) / выключение (0) режима сна акселерометра.
slpdur - sleep duration. Таймаут, если в течении которого небыло активности, акселерометр переходит в режим sleep (odr=12Hz), ms, internally aligned by 512*odr.
clkmode - click mode. Режим работы функции "click". Выключено (1), одинарный (2), двойной (3).
clkths - click threshold. Порог ускорения для определения "щелчка", mg, internally aligned by 2*lsb (lsb=31.25mg with default 2g full scale).
clkdur - click whole duration, ms, multiples by 32*odr.
clkshock - click shock duration, ms, multiples by 8*odr.
clkquite - click quite duration, ms, multiples by 4*odr.
LSM303AGR / LIS3DH
| Code Block |
|---|
[/imu/ibase] imu base:
odr=-1(o25Hz) fs=-1(s2g) wuths=-1(32) wudur=-1(400) idledur=-1(5000) o6dths=-1(1600) ffths=-1(320) ffdur=-1(3) filt=-1(strong) (Set 0*) |
wuths - mg, internally aligned by 1*lsb (lsb=16mg with default 2g full scale).
wudur - ms, internally aligned by 1*odr
o6dths - mg, internally aligned by 1*lsb
ffths - не используется
ffdur - не используется
Парсет не используется.
| Code Block |
|---|
[/imu/iext] imu ext:
slpmode=-1 slpdur=-1 clkmode=-1 clkths=-1 clkdur=-1 clkshock=-1 clkquite=-1 (Set 0*) |
Начиная с прошивки 3.8.0 исправлены ошибки и изменены настройки поумолчанию:
Настройки по умолчанию (новая метка либо сброшена конфигурация):
ISM303DAC:
odr=-1(50HzLP) fs=-1(2g) wuths=-1(100) wudur=-1(30) idledur=-1(5000) o6dths=-1(50deg) ffths=-1(510) ffdur=-1(350) filt=-1(internal) (Set 0*) - настройка датчика свободного падения на 2 метра (эмпирически).
ffdur=700 - настройка датчика свободного падения на 5 метров (эмпирически).
Начиная с прошивки 3.13.0 обновлен алгоритм детектирования событий "свободного падения" и изменены настройки поумолчанию:
LSM303AGR / LIS3DH:
[/imu/ibase] ibase:
odr=-1(o25Hz) fs=-1(s2g) wuths=-1(32) wudur=-1(400) idledur=-1(5000) o6dths=-1(400) ffths=0 ffdur=0 filt=-1(strong) (Set 0*)
настройки детектора свободного падения расположены в парсетах:
[/imu/ffacc] : test= off glow=9 gspike=18 ghigh=15 tmin=60 p=80 ambigmax=2 exithold=40 iirtau=50
[/imu/ffimp] : impths=13 impwin=100 impmin=1
[/imu/ffcorr] : ffto=50 imp2norm=20 imp2val=5 val2norm=5 ff2impwin=50 imp2valwin=20 ffdurmin=3 ffdurmax=300 (Set 0*)
[/bar/ffbar] : enable= off incths=200 iirtau=200
Добавлена настройка позволяющая включать режим критических сенсоров, в данном случае это только события свободного падения.
node/ctl#CritSens=on - включает критическое поведение сенсоров (по умолчанию off)
После активации этой настройки критический сенсор (свободное падение) будет транслироваться до события отмены.
Отмена (отключение) этого события произойдет после установки метки на зарядку
...
hpf > |
|
|
|
{0.02, | 0.008, | 0.004, | 0.002}, |
{0.2, | 0.08, | 0.04, | 0.02}, |
{0.5, | 0.2, | 0.1, | 0.05}, |
{1.0, | 0.5, | 0.2, | 0.1}, |
{2.0, | 1.0, | 0.5, | 0.2}, |
{4.0, | 2.0, | 1.0, | 0.5}, |
{8.0, | 4.0, | 2.0, | 1.0}, |
{32.0, | 16.0, | 8.0, | 4.0}, |
{100.0, | 50.0, | 25.0, | 12.0} ^ |
...
.