В их сдк всегда так - сегодня добавили ошибку, завтра убрали, послезавтра опять добавили, при чем ту же.Вроде вылечился глюк записи flash с HTTP - ошибка "lmac.c 599"
В их сдк всегда так - сегодня добавили ошибку, завтра убрали, послезавтра опять добавили, при чем ту же.Вроде вылечился глюк записи flash с HTTP - ошибка "lmac.c 599"
Выпиливайте только необходимые obj из их SDK. Я так поступаю - проблем уже долго нет, кроме программных патчей-обходов их ошибок. Совсем лажевые obj меняю на свои.Впрочем я думаю с проблемой надо бороться не частными методами, а общим - выпиливанием SDK
Собрал под esp-open-sdk сегодняшнем (в котором espressif sdk 1.0.1) MeteoControl под старым Smig-om и новым. Старый - работает. новый - нет. Собирал, как Вы просили make rebuild.Возможно тем что Sming тоже стал использовать немного больше места в IRAM? Добавился 1(!) метод для OTA обновлений. Все остальное место съедает SDK
Напишите, пожалуйста, точные размеры выходных файлов firmware после компиляции. И обязательно используете полную пересборку всего (rebuild).
Неа.. сам удивился.. листинг привел спеиально бОльший, чем надо.. глянте, в первом листинге каталог sming.good зовется.. полные штаны странности; (А Вы точно не перепутали местами рабочий и нет? По размером похоже как будто бы наоборот.
В результате тестов выяснилось, что самый новый Smig из репозитория РАБОТАЕТ с esp-sdk 1.0.0 и 1.0.1_b1Alexander V. Ribchansky, попробуйте пожалуйста на последней версии из репозитория. Я перевел Sming на обновленную библиотеку libgcc, что дало существенный объем дополнительного пространства в IROM.
Спасибо @pvvx за research!
PS Не забудьте предварительно обновить Makefile, если Вы работаете на собственном проекте.
Ну вот и у меня, видимо, так же. Так как пока что висит (у меня) именно 1.0.1_b1 - на нем все работает нормально.В результате тестов выяснилось
Я же говорил, что поехали конфиги Lwip. Сдвиг в структуре pсb. Добавился один dword в середке. По этой причине OpenLwip 1.4.1 несовместим.Ну вот и у меня, видимо, так же. Так как пока что висит (у меня) именно 1.0.1_b1 - на нем все работает нормально.
А для Google Chrome надо отправлять по ~3 килобайта (2 x MSS). И сделайте выключатель nagle в LwIP. Иначе тормоз - народ жалуется Как вырубите Нейгла сразу пойдет по 3 кило в Хроме (двумя пакетами на опережение ACK)HTTP клиент отправляет даные блоками по ~1.5 КБ. Так что дело точно не в этом, чтобы сказать что-то более определённое нужно видеть код. На что завязана отправка - onReadyToSendData?
#include <user_config.h>
#include <SmingCore/SmingCore.h>
// Put you SSID and Password here
#define WIFI_SSID "******"
#define WIFI_PWD "******"
#define LED_PIN 2 // GPIO2
Timer procTimer;
int state = 0;
FTPServer ftp;
// Will be called when WiFi station was connected to AP
void connectOk()
{
Serial.println("\r\nI'm CONNECTED:");
Serial.println(WifiStation.getIP().toString());
// Start FTP server
ftp.listen(21);
ftp.addUser("me", "123"); // FTP account
// You can also use special FTP comand: "fsformat" for clearing file system (for example from TotalCMD)
}
// Will be called when WiFi station timeout was reached
void connectFail()
{
Serial.println("I'm NOT CONNECTED. Need help!!! :(");
// .. some you code for configuration ..
}
void blink()
{
analogWrite(LED_PIN, state);
Serial.println(state);
state = state+1;
if (state == 255) state = 0;
}
void init()
{
Serial.begin(SERIAL_BAUD_RATE); // 115200 by default
Serial.systemDebugOutput(true); // Enable debug output to serial
fileSetContent("example.txt", "hello world!");
fileSetContent("data.bin", "\1\2\3\4\5");
WifiStation.enable(true);
WifiStation.config(WIFI_SSID, WIFI_PWD);
WifiAccessPoint.enable(false);
// Run our method when station was connected to AP (or not connected)
WifiStation.waitConnection(connectOk, 20, connectFail); // We recommend 20+ seconds for connection timeout at start
pinMode(LED_PIN, OUTPUT);
procTimer.initializeMs(200, blink).start();
}