GyverLibs / microDS18B20

Легкая и удобная в обращении библиотека для работы с 1-Wire термометрами DS18B20
MIT License
45 stars 11 forks source link

Поддержка esp32 #2

Closed Phantasmagory closed 2 years ago

Phantasmagory commented 2 years ago

До обновления вроде работала с esp32. Возможно прикрутить поддержку?

GyverLibs commented 2 years ago

Нужны конкретные симптомы, нет возможности потестить

Phantasmagory commented 2 years ago

Компилируется. На выходе 0,00 градусов.

GyverLibs commented 2 years ago

при каком способе опроса? Какой пример загружен? Пин правильно указан? Это ведь esp, там всё по другому

GyverLibs commented 2 years ago

проверил на esp8266 - всё работает во всех режимах

Phantasmagory commented 2 years ago

Загружал разные примеры и адрес считать пытался. Пины: пробовал и номера и gpio и Dpin(D не понимает). Тут тоже пробовал разные вариации:

define DS_TEMP_TYPE float // float/int - тип данных для рассчета температуры float / int - (экономит flash, выполняе

define DS_CHECK_CRC true // true/false - проверка контрольной суммы принятых данных - надежнее, но тратит не

define DS_CRC_USE_TABLE false // true/false - использовать готовую таблицу контрольной суммы - значительно быстрее,

Со старыми версиями тоже не работает, то я перепутал с есп8266. В старой версии я комментировал SREG в microOneWire и работало с есп8266.

GyverLibs commented 2 years ago

а если попробовать другие пины? У 32-ой вроде с этим какие то проблемы

eviltony90 commented 2 years ago

Пробовал с ESP32 на разных пинах и разных версиях плат в Arduino IDE (1.0.6 и 2.0.0). Не работает - пишет все время 0 градусов C. При этом стандартная библиотека работает на версии плат 1.0.6., а на 2.0.0 не компилируется вообще.

GyverLibs commented 2 years ago

Это очень странно, интерфейс реализован тупо digitalRead/write и delay, оно не может не работать) попробую запрячь автора низкоуровневой части библиотеки, закажет себе 32-ю и может починит

Basoil commented 2 years ago

Подтверждаю - на ESP32 не работает. Другие библиотеки (DallasTemperature) работают. Версия библиотеки - 3.6 Версия ядра ESP32 - 2.0.2 Перепробовал подключение на все доступные пины - не работает. Примеры: adress_read - Выводит: Not Connected One_pin_one_sensor - выводит: t1: 0.00, t2: error

GyverLibs commented 2 years ago

Жалко, у меня нет железки чтобы отладить

rogovogor commented 2 years ago

Да, действительно обидно. пример выдает не 0 градусов, а просто sensor.readTemp() возвращает 0. во всех примерах. по крайней мере на пине 2 и 4. DallasTemperature.h работает при тех же условиях.

GyverLibs commented 2 years ago

Мне должны скоро приехать еспхи, буду чинить) хотя казалось бы, там всё сделано на digitalread и дилеях, должно работать на любом Ардуино совместимом железе

GyverLibs commented 2 years ago

докладываю: коллеги-индусы задефайнили в ядре ESP32 константы пинмода на другие цифры, "не как у всех", поэтому сигнал с пина не поступал. Актуальная версия библиотеки протестирована на esp32 и отлично работает, поздравляю всех неравнодушных =)