Тема посвящённая тестированию бэта версии седьмой линейки
а стоит еще один проект открыть то пока не сохранишь настройки хоть защёлкайся мышьюav писал(а): ↑23.11.2020{, 19:28}А вы пробовали не открывать блок ? Провел несколько экспериментов .Нужно просто щелкнуть мышью на окне программы в любом месте и вот скроллинг работает нормально. Такое ощущение что при открытии проекта окно программы становится не активно под курсором в Windows 10. И стоить левой кнопкой мыши его активировать как скроллинг начинает работать корректно.
Пробовал - не помогало. Сейчас, тьфу-тьфу-тьфу, пару месяцев про эту проблему не вспоминал.av писал(а): ↑23.11.2020{, 19:28}А вы пробовали не открывать блок ? Провел несколько экспериментов .Нужно просто щелкнуть мышью на окне программы в любом месте и вот скроллинг работает нормально. Такое ощущение что при открытии проекта окно программы становится не активно под курсором в Windows 10. И стоить левой кнопкой мыши его активировать как скроллинг начинает работать корректно.SSSergeich писал(а): ↑23.11.2020{, 18:20}У себя я эту проблему решаю так - открываю любой блок для редактирования и закрываю, после этого скроллинг работает нормально. Win10-64, FlProg - портабл.
Не помогает
Работает
походу да...
Покажите пожалуйста реализацию костыля. А то я пока разобраться не могу. Я понимаю что надо вычитать из датчика СRС из 9-го байта, но вот как рассчитать для сравнения СRС из предыдущих 8 - пока не могу разобраться. Так в у далласа какой то свой алгоритм.
starmos писал(а): ↑25.11.2020{, 13:02}Для вычисления контрольной суммы я использую функцию crc8 из той же библиотеки OneWire, которая используется для опроса датчиков, ап потом просто сравниваю её с последним байтом. Это как раз просто. Неудобно то, как библиотечный блок опроса работает с адресами датчиков. Я под этот механизм настроил проект, сделал возможность смены адресов и сканирования и тут выяснилось про контрольную сумму, когда полезли странные значения температур периодически. "Костыль" заключается в том, что я сделал пользовательский блок, в котором содержится та же функция опроса, но с проверкой контрольной суммы. Поскольку имя этой функции совпадает со стандартным, то с ней работают библиотечные блоки опроса, но ругается компилятор Arduino IDE, так как функций стало две. Я ненужную закрываю комментариями и все. Такое решение "для бедных". Будет время придумаю что-нибудь покрасивее может. Ну или автор поправит блок в новой версии.
Отправлено спустя 5 минут 22 секунды:
Это исходная, стандартная, функция:
float _readDS18_ow32(byte addr[8], byte type_s)
{ byte data[12];
byte i;
_ow32.reset();
_ow32.select(addr);
_ow32.write(0xBE);
for ( i = 0; i < 9; i++) {
data = _ow32.read();}
_ow32.reset();
_ow32.select(addr);
_ow32.write(0x44, 1);
return _convertDS18x2xData(type_s, data);}
А эту я добавил:
float _readDS18_ow32(byte addr[8], byte type_s)
{
byte data[12];
byte i;
_ow32.reset();
_ow32.select(addr);
_ow32.write(0xBE);
for ( i = 0; i < 9; i++) data = _ow32.read();
if (_ow32.crc8(data, 8) != data[8])
{
data[0] = 0x90;
data[1] = 0xFC;
}
_ow32.reset();
_ow32.select(addr);
_ow32.write(0x44, 1);
return _convertDS18x2xData(type_s, data);
}
Выделены отличия. Новая функция возвращает фиксированный код, в случае ошибки, т.к. добавить выход в блок я не могу.
Есть еще несколько пожеланий по поводу штатных блоков.