Билиотеки не подгружаются
Билиотеки не подгружаются
Здравствуйте, уважаемые разработчики устройств!
Наткнулся в интернете на ультразвуковой датчик измерения расстояния JSN-SR04T-3.0 работающий на библиотеке от HC-SR04. Преимущество в том что датчик водонепроницаемый и его можно использовать для измерения уровня жидкости в септике. Идея – подружить датчик с wemos mini и получать данные на смартфон через MQTT брокера. В вашей программе сочинил простенький алгоритм, но при компиляции arduino ide ругается на отсутствие библиотек. Помогите пожалуйста люди добрые?
Наткнулся в интернете на ультразвуковой датчик измерения расстояния JSN-SR04T-3.0 работающий на библиотеке от HC-SR04. Преимущество в том что датчик водонепроницаемый и его можно использовать для измерения уровня жидкости в септике. Идея – подружить датчик с wemos mini и получать данные на смартфон через MQTT брокера. В вашей программе сочинил простенький алгоритм, но при компиляции arduino ide ругается на отсутствие библиотек. Помогите пожалуйста люди добрые?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3121
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
- montirovka
- Капитан
- Сообщения: 735
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 174 раза
Билиотеки не подгружаются
Как у автора не знаю. У меня ругается на ABS. Стоит убрать с платы блок ультразвукового датчика - ошибки нет.
нашел похожий проект 9_Проба
та же ошибка - abs.
нашел похожий проект 9_Проба
та же ошибка - abs.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 54
- Зарегистрирован: 07 ноя 2019, 11:25
- Откуда: Магадан
- Имя: Андрей
- Благодарил (а): 7 раз
Билиотеки не подгружаются
Попробуйте
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Билиотеки не подгружаются
C:\Users\klien\AppData\Local\Temp\flprog\pr1\pr1.ino: In function 'void loop()':
pr1:98:35: error: call of overloaded 'abs(long unsigned int)' is ambiguous
98 | if (abs((millis() - _ultrasonic1P))>100) {
| ^
In file included from c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\cstdlib:75,
from c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\stdlib.h:36,
from C:\Program Files (x86)\FLProg\ideV8\portable\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/Arduino.h:27,
from sketch\pr1.ino.cpp:1:
c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\stdlib.h:74:5: note: candidate: 'int abs(int)'
74 | int abs (int);
| ^~~
In file included from c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\cstdlib:77,
from c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\stdlib.h:36,
from C:\Program Files (x86)\FLProg\ideV8\portable\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/Arduino.h:27,
from sketch\pr1.ino.cpp:1:
c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:79:3: note: candidate: 'constexpr long double std::abs(long double)'
79 | abs(long double __x)
| ^~~
c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:75:3: note: candidate: 'constexpr float std::abs(float)'
75 | abs(float __x)
| ^~~
c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:71:3: note: candidate: 'constexpr double std::abs(double)'
71 | abs(double __x)
| ^~~
c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:61:3: note: candidate: 'long long int std::abs(long long int)'
61 | abs(long long __x) { return __builtin_llabs (__x); }
| ^~~
c:\program files (x86)\flprog\idev8\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:56:3: note: candidate: 'long int std::abs(long int)'
56 | abs(long __i) { return __builtin_labs(__i); }
| ^~~
Несколько библиотек найдено для "Wire.h"
Используется: C:\Program Files (x86)\FLProg\ideV8\portable\packages\esp8266\hardware\esp8266\3.1.2\libraries\Wire
Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\Wire
Несколько библиотек найдено для "SPI.h"
Используется: C:\Program Files (x86)\FLProg\ideV8\portable\packages\esp8266\hardware\esp8266\3.1.2\libraries\SPI
Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\SPI
Несколько библиотек найдено для "SoftwareSerial.h"
Используется: C:\Program Files (x86)\FLProg\ideV8\portable\packages\esp8266\hardware\esp8266\3.1.2\libraries\SoftwareSerial
Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\SoftwareSerial
Не используется: c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\Esp32-SoftwareSerial
exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous
Если честно не знаю, что такое ABS

-
- Рядовой
- Сообщения: 54
- Зарегистрирован: 07 ноя 2019, 11:25
- Откуда: Магадан
- Имя: Андрей
- Благодарил (а): 7 раз
Билиотеки не подгружаются
Библа.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Билиотеки не подгружаются
Всем огромное спасибо за помощь и участие в решении проблемы! Компиляция прошла успешно - просто заменил блок датчика и IDE перестал ругаться. Правда данные не доходят до брокера, но с этим постараюсь разобраться сам. Видимо надо с настройками поиграть на Бебботте.
- montirovka
- Капитан
- Сообщения: 735
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 174 раза
Билиотеки не подгружаются
Проблема не в библиотеке. Интернет говорит что функция абсолютного значения abs () не знает к чему приводить значение.
Если по подсказке интернета поменять строку с ошибкой, то у меня в ардуино иде скетч компилируется. Но правильный ли результат будет не знаю.
//Плата:1
if (abs(int(millis() - _ultrasonic1P))>100) {
Почему происходит ошибка со стандартным блоком вопрос остался открытым.
Еще вопрос. Что означают двойные скобки?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Капитан
- Сообщения: 908
- Зарегистрирован: 04 окт 2015, 19:10
- Откуда: Новосибирск
- Имя: Павел
- Благодарил (а): 20 раз
- Поблагодарили: 22 раза
Билиотеки не подгружаются
Потому что оператору abs() не нравятся данные типа long unsigned int, о чем компилятор собственно и пишет.montirovka писал(а): 12 мар 2024, 11:08 Почему происходит ошибка со стандартным блоком вопрос остался открытым.
ну а таким образом if (abs(int(millis() - _ultrasonic1P))>100)Gribon писал(а): 11 мар 2024, 11:12 exit status 1
call of overloaded 'abs(long unsigned int)' is ambiguous
вычисление в скобках (millis() - _ultrasonic1P) преобразуется к типу int, с которым abs() уже дружит.
Вероятно раньше, на предыдущих версиях ArduinoIDE, было иначе и там эта конструкция работала.
Двойные скобки - это, в основном, приколы FLProg, по принципу "пусть лучше будут лишние, чем где то их не хватит", ни на что влияния не оказывают (а может как раз что то типа int там когда то и было и все работало).
- montirovka
- Капитан
- Сообщения: 735
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 174 раза
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя