• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Общие баги/глюки/проблемы в пакете Sming

aliaksei

New member
Что вы ко мне пристали с этими ошибками? Пишите автору spiffy. Еше лучше исправьте и сделайте свой пуллреквест.
 

pvvx

Активный участник сообщества
Что вы ко мне пристали с этими ошибками? Пишите автору spiffy. Еше лучше исправьте и сделайте свой пуллреквест.
У меня давно исправлено. В лицензии не говорится, что я обязан отсылать автору что-то, кроме привета. И описание что требуется исправить выдано давно.
 

glonium

New member
Доброго времени суток уважаемые!
Вот наконец появилось свободное время, переустанови систему и пришло время установить sming, раньше всё работало как надо делел вроде как раньше, ну не тут то было шёл по инструкции ручной установки с гита udk работает нормально hello_world компилиться а вот SmingFramework нет! Пишет следующее:

Description Resource Path Location Type
iteration 7u invokes undefined behavior [-Werror=aggressive-loop-optimizations] si4432.cpp /SmingFramework/Libraries/si4432 line 400 C/C++ Problem
make: *** [out/build/Libraries/si4432//si4432.o] Error 1 SmingFramework C/C++ Problem
Type 'ETSTimer' could not be resolved esp_systemapi.h /SmingFramework/system/include line 36 Semantic Error
Type 'ETSTimer' could not be resolved esp_systemapi.h /SmingFramework/system/include line 37 Semantic Error
Type 'ETSTimer' could not be resolved esp_systemapi.h /SmingFramework/system/include line 38 Semantic Error
Type 'ETSTimerFunc' could not be resolved esp_systemapi.h /SmingFramework/system/include line 38 Semantic Error
containing loop si4432.cpp /SmingFramework/Libraries/si4432 line 394 C/C++ Problem
in definition of macro 'debugf' esp_systemapi.h /SmingFramework/system/include line 32 C/C++ Problem
Прошу подсказк что не так убил весь день! Заранее спасибо!
 

glonium

New member
Сейчас переустановил Espressif-ESP8266-DevKit-Addon часть ошибок магическим образом исчезла! Осталось только iteration 7u invokes undefined behavior [-Werror=aggressive-loop-optimizations] si4432.cpp /SmingFramework/Libraries/si4432 line 400. В чём дело не понятно! Может старые версии рабочие есть проекта сминг?
 

glonium

New member
Вернул новую версию опять первоначальные ошибки вылезли, теперь вообще ничего не понятно. Да и ещё я заметил вопросики рядом с инклудами:
[HASHTAG]#include[/HASHTAG] <ets_sys.h>
[HASHTAG]#include[/HASHTAG] <osapi.h>
[HASHTAG]#include[/HASHTAG] <gpio.h>
[HASHTAG]#include[/HASHTAG] <os_type.h>
[HASHTAG]#include[/HASHTAG] <user_interface.h>
[HASHTAG]#include[/HASHTAG] <spi_flash.h>
мол Unresolved inclusion !
help! :(
 

glonium

New member
Проблема в выходе индекса за пределы массива в si4432.cpp поправил чисто по логике, но с данным железом не работал поэтому не знаю правильно или нет, но скомпилировалось вот исправления с коментариями
Код:
void Si4432::readAll() {

byte allValues[0x80];//было 0x7F

BurstRead(REG_DEV_TYPE, allValues, 0x80);//было 0x7F

debugf("REGS 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");

for (byte i = 0; i < 0x7f; i+=16)// индекс выходил за пределы массива
{
debugf("(%02x): %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", i,
(int ) allValues[i+0], (int ) allValues[i+1], (int ) allValues[i+2], (int ) allValues[i+3],
(int ) allValues[i+4], (int ) allValues[i+5], (int ) allValues[i+6], (int ) allValues[i+7],
(int ) allValues[i+8], (int ) allValues[i+9], (int ) allValues[i+10], (int ) allValues[i+11],
(int ) allValues[i+12], (int ) allValues[i+13], (int ) allValues[i+14], (int ) allValues[i+15]
);
}
}
кто работал с этим модулем прошу проанализировать.
 

SamGold

New member
Подскажите, можно как-то обойти блокирующий delay?
У меня долгая инициализвация внешнего модуля идет и из-за этого происходят постоянные рестарты.
Может быть есть какой-то системный вызов, дающий немного поработать системе чтобы не было падений из-за долгой паузы?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Подскажите, можно как-то обойти блокирующий delay?
У меня долгая инициализвация внешнего модуля идет и из-за этого происходят постоянные рестарты.
Может быть есть какой-то системный вызов, дающий немного поработать системе чтобы не было падений из-за долгой паузы?
Нет - многозадачность в sming не поддерживается. Исправляйте алгоритм - всё должно отрабатывать по событиям, без delay.
C системной функцией ets_run() находящейся в встроенной части чипа ESP8266 и распределяющей события, таймеры и таски, авторы Ардуин не справились. И переводить Дурины на RTOS тоже не стали. Дурины создаются для мигания одним светодиодом и зачем это всё?
 

SamGold

New member
Спасибо! Просто хотел либу ардуиновскую прикрутить, буду свою ваять.
 

glonium

New member
Приветствую Вас уважаемые. Помогите разобраться новичку со следующим:
1) Почему не собираются примеры и выводиться ошибка мол esptool2 нет такой команды и где её взять?
2) Почему на сегодняшний день на гитхабе популярна девелоперская ветка и что с веткой main?
3) Прочитал про глючный spiffy и решил вообще от него отказаться и в примере webajax сохранить страницы статики как контстанты, разумно ли это или есть другие варианты?
4) Если отправлять при помощи веб сервера большие куски данных то реализована ли сервере разбивка на куски чтобы не повесить модуль или самому надо по таймеру куски отправлять.
5) и если отправлять самому то какими по размеру кусками?
Заранее спасибо за помощь!
 
glonium,
1. https://github.com/raburton/esptool2
2. main для релизов, основная разработка в develop идет..
3. не читайте до обеда советских газет - spiffy вполне нормально живет. не надо от него отказываться.. собирается в свежем sming по cd Sming/Sming && make spiffy
4. тут беда, нет нарезки по кускам. я пробовал когда-то дописать, но как-то орно криворуко вышло, хотя и делало вид, что работает..
5. см 4 :(
 
glonium, если ОС разработки windows, то я не помогу.. у мну - юниха.. если юниха, то cd куданадо и make :) по размерам кусков - особо не эксперементировал, но просто странички в рамках ЛАН-ВИФИ передаються даже без нарезки без проблем.
 

glonium

New member
@Alexander V. Ribchansky,
Спасибо понял. Кстати разобрался с esptool2 вернее скомпилил его у меня win по сути то же самое что и в nix cd ./esptool2 и make следом.
Попробовал собрать последнюю ветку main сам sming собрался а вот примеры с ошибками какими то!
 
Поставил последнюю версию udk и sming,при компиляции выдает вот это:
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.1.0/../../../../xtensa-lx106-elf/bin/ld.exe: cannot find -lsming
collect2.exe: error: ld returned 1 exit status
make: *** [out/build/app.out] Error 1

С чем это связано????
 
Сверху Снизу