Датчики 18b20 имеют регистр resolution с помощью которого можно задать разрешение преобразования температуры в диапазоне 9-12 бит. Как это сделать для подключенных к Wirenboard датчиков? Какой модуль / драйвер используется для работы с 1wire датчиками?
Вчера обсудили этот вопрос в Telegram: Contact @wirenboard. Для истории скопирую оттуда:
Lefskiy, [05.05.20 16:00]
[In reply to Евгений Богер]
это для 12ти битной версии? а снизить разрядность можно в настройках до 10 бит?Евгений Богер, [05.05.20 16:01]
через интерфейсик точно нет. Можно ли это сделать в линуксе - не помню, надо почитать в документации на линуксыLefskiy, [05.05.20 16:01]
[In reply to Евгений Богер]
а. это родной драйвер 1wire?Евгений Богер, [05.05.20 16:01]
да-даЕвгений Богер, [05.05.20 16:02]
Writing a value between 9 and 12 to the sysfs w1_slave file will change the
precision of the sensor for the next readings. This value is in (volatile)
SRAM, so it is reset when the sensor gets power-cycled.To store the current precision configuration into EEPROM, the value 0
has to be written to the sysfs w1_slave file. Since the EEPROM has a limited
amount of writes (>50k), this command should be used wisely.Евгений Богер, [05.05.20 16:02]
https://www.kernel.org/doc/Documentation/w1/slaves/w1_thermLefskiy, [05.05.20 16:03]
[In reply to Евгений Богер]
скриптом в кроне всем девайсам пристарте писать надо похожеЕвгений Богер, [05.05.20 16:03]
так видимо можно один раз в жизни для датчика это сделать, судя по второму абзацу
Спасибо, все получилось.
Поскольку датчиков у меня не сильно много, запустил команды вручную для каждого.
echo 10 >/sys/bus/w1/devices/28-0301a2790a52/w1_slave
echo 0 >/sys/bus/w1/devices/28-0301a2790a52/w1_slave