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

RTLHTTPD

kissste

Member
thank you. - updated RTL00MP3.

Now, getting
project/src/user/main.c:13:20: fatal error: wc_mgr.h: No such file or directory
compilation terminated.


When I fake it, -- touch empty file, I get the following, so, I definitely need the wc_mgr.h file

project/src/user/main.c:62:14: error: 'wc_start' undeclared (first use in this function)
xTaskCreate(wc_start, "wc_start", 4096, NULL, tskIDLE_PRIORITY + 1 + PRIORITIE_OFFSET, NULL);
^
../RTL00MP3/RTL00_SDKV35a/component/os/freertos/freertos_v8.1.2/Source/include/task.h:333:120: note: in definition of macro 'xTaskCreate'
#define xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask ) xTaskGenericCreate( ( pvTaskCode ), ( pcName ), ( usStackDepth ), ( pvParameters ), ( uxPriority ), ( pxCreatedTask ), ( NULL ), ( NULL ) )
^
project/src/user/main.c:62:14: note: each undeclared identifier is reported only once for each function it appears in
xTaskCreate(wc_start, "wc_start", 4096, NULL, tskIDLE_PRIORITY + 1 + PRIORITIE_OFFSET, NULL);
^
../RTL00MP3/RTL00_SDKV35a/component/os/freertos/freertos_v8.1.2/Source/include/task.h:333:120: note: in definition of macro 'xTaskCreate'
#define xTaskCreate( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask ) xTaskGenericCreate( ( pvTaskCode ), ( pcName ), ( usStackDepth ), ( pvParameters ), ( uxPriority ), ( pxCreatedTask ), ( NULL ), ( NULL ) )
 

sharikov

Active member
Now, getting
project/src/user/main.c:13:20: fatal error: wc_mgr.h: No such file or directory
compilation terminated.
When I fake it, -- touch empty file, I get the following, so, I definitely need the wc_mgr.h file
Файл wc_mgr.h в репозитории есть. Пустой файл вместо wc_mgr.h подставлять нельзя.
Проверьте наличие файлов через web интерфейс bitbucket.
wc_mgr_h.png

Такое впечатление что у вас git работает с ошибками и скачивает не все.

Проект RTL00MP3 у вас компилируется ?
 

pvvx

Активный участник сообщества
Файл wc_mgr.h в репозитории есть. Пустой файл вместо wc_mgr.h подставлять нельзя.
Проверьте наличие файлов через web интерфейс bitbucket.
Посмотреть вложение 3557

Такое впечатление что у вас git работает с ошибками и скачивает не все.

Проект RTL00MP3 у вас компилируется ?
Описанных файлов не было в GitHub - pvvx/RTLHTTPD
 

pvvx

Активный участник сообщества
@sharikov - будете прикручивать LogUART как console?
Слепил самый минимальный вариант по потреблению ресурсов, с учетом буферов в области ROM-BIOS, и работающий с таблицей UartLogRomCmdTable (функциями console из ROM, но они имеют ошибки!).
Теперь на гит -> RTL00MP3/console_api.c at master · pvvx/RTL00MP3 · GitHub
Подключите свою таблицу функций с форматом COMMAND_TABLE (в hal_diag.h)?
Её можно оформить со специальным атрибутом секции, и в любом С файле, объявление
[inline]Секция COMMAND_TABLE ... = {...};[/inline] будет линковаться в её раздел, дополняя команды...
По "?" пример выводи help из таблицы:
Код:
>?
CONSOLE COMMAND SET:
==============================
ATPN=<SSID>[,<PASSPHRASE>[,WEPKEY]]: WIFI Connect to AP
ATWS=<URL,PORT>: MP3 Connect to URL
ATWS=<c>[lose]: Close MP3
ATWS=<r>[ead]: Read MP3 URL
ATWS=<s>[ave]: Save MP3 URL
ATWS=<?>: URL Info
ATWD: WIFI Disconnect
ATST: Memory info
ATLW: Lwip Info
ATSB=<ADDRES(hex)>[,COUNT(dec)]: Dump byte register
ATSD=<ADDRES(hex)>[,COUNT(dec)]: Dump dword register
ATSW=<ADDRES(hex)>,<DATA(hex)>: Set register
ATDS=[TIME(ms)]: Deep sleep
ATON: Open connections
ATOF: Close connections
?: This Help
==============================
Всё берется из таблиц, пример: RTL00MP3/atcmd_user.c at master · pvvx/RTL00MP3 · GitHub
Так-же поддерживает два типа формата строки "AT" (cmd=arg1, arg2,...,arg9) и через пробелы (cmd arg1 arg2 ... arg9), + аргументы в [inline]"[/inline] или [inline]'[/inline], производит проверку на минимальное кол-во аргументов - если менее, тогда выводит help по данной команде:
Код:
>atsb
ATSB=<ADDRES(hex)>[,COUNT(dec)]: Dump byte register
Размер менее стандартной rtl_console.c и парсинга команд для "AT" в оф. SDK.
Подключил к HTTPD, но для него пока не доделал управление WiFi (скину на гит когда доделаю).
 
Последнее редактирование:

aloika

Active member
Хотел поиграть с htppd - не могу прошить. Т.е. оно вроде прошивается, при запуске пишет
Код:
=========================================================

ROM Version: 0.3

Build ToolChain Version: gcc version 4.8.3 (Realtek ASDK-4.8.3p1 Build 2003)

=========================================================
Check boot type form eFuse
SPI Initial
Image1 length: 0x187c, Image Addr: 0x10000bc8
Image1 Validate OK, Going jump to Image1
<RTL8195A>
и дальше нечитаемые символы - 0D, 0A и так до бесконечности.
Если выполнить цель runram - то грузит в ram, запускается, не находит webfs (что логично). Если выполнить цель webfs - пишет ошибку

Код:
mingw32-make.exe -s webfs 
mingw32-make.exe[1]: *** No rule to make target 'librtlhttpd/espfs/mkespfsimage/', needed by 'librtlhttpd/espfs/mkespfsimage/mkespfsimage'.  Останов.
Makefile:11: recipe for target 'webfs' failed
mingw32-make.exe: *** [webfs] Error 2
Загружал с git pvvx. Модуль RTL00.
 

pvvx

Активный участник сообщества
Хотел поиграть с htppd - не могу прошить. Т.е. оно вроде прошивается, при запуске пишет
Там требуется соответствие версии SDK и версии HTTPD. И для уровня "поиграться" не доделано.
Текущая версия работает только с загрузки в RAM и ранее прошитой файловой системой.
Т.е. прошивку надо собрать вручную или использовать только ota.bin.
На основной странице git находиться переходная версия, а те, которые обираются - в релизах. Идет достройка и перестройка boot-loader и WiFi-API включая исходники моего SDK находящегося в MP3 примере, по тому полной "собираемости для поиграться" там счас нет.
Кому это не нравиться - пусть используют оф. SDK 3.4 и пишут всё сами :)
Тема RTL871x с SDK не для "игрунчиков". Для них - rtlDuino... Мне не нужна популярность RTL871x выше имеющейся. От этого зависят средне-оптовые цены на модули и их наличие. Слишком много их скупается оптовыми заказчиками и "остатков" может быть мало. Ситуация с RTL871xAM ещё сложнее... , а менять что-то на рынке "популярность для игрунчиков" может только в области продаж c али. Тут и нужен "баланс", путем отсева потребителей :)
Не можете собрать что "хотчется" - идите и потребляйте другие модули, а эти оставьте другим. :)
Мне одному всё равно не сделать "популярным" данные модули (и нет желания) до такого уровня, чтобы они были представлены "на каждом углу" для "игрунчиков" и возникла конкуренция по понижению цены среди продавцов...
 
Последнее редактирование:

aloika

Active member
Тема RTL871x с SDK не для "игрунчиков".
Да уж, да уж. Попробовал играть с релизами - вот эта строчка

@$(LD) $(LFLAGS) -o $(ELFFILE) $(OBJ_LIST) $(OBJ_DIR)/ram_1.r.o $(LIBFLAGS) -T$(LDFILE)

не лезет в командную строку винды. Никак не поиграть :)

UPD: цель webfs тоже не собирается.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Слепил первую тестовую версию wifi_api, прикрутил к MP3 и HTTPD... Старые файлы SDK по поводу WiFi ещё не чистил, но скоро.
Кинуто на git.
CONSOLE COMMAND SET:
================================
ATPN=<SSID>[,password[,encryption[,auto-reconnect[,reconnect pause]]]: WIFI Connect to AP
ATPA=<SSID>[,password[,encryption[,channel[,hidden[,max connections]]]]]: Start WIFI AP
ATWR: WIFI Connect, Disconnect
ATON: Open connections
ATOF: Close connections
ATWI: WiFi Info
ATST: Memory info
ATLW: LwIP Info
ATSB=<ADDRES(hex)>[,COUNT(dec)]: Dump byte register
ATSD=<ADDRES(hex)>[,COUNT(dec)]: Dump dword register
ATSW=<ADDRES(hex)>,<DATA(hex)>: Set register
ATDS=[TIME(ms)]: Deep sleep
?: This Help
================================

Да уж, да уж. Попробовал играть с релизами - вот эта строчка

@$(LD) $(LFLAGS) -o $(ELFFILE) $(OBJ_LIST) $(OBJ_DIR)/ram_1.r.o $(LIBFLAGS) -T$(LDFILE)

не лезет в командную строку винды. Никак не поиграть :)

UPD: цель webfs тоже не собирается.
Всё лезет. Читайте тему про UDK к RTL...
 
Последнее редактирование:

aloika

Active member
Слепил первую тестовую версию wifi_api, прикрутил к MP3 и HTTPD... Старые файлы SDK по поводу WiFi ещё не чистил, но скоро.
Кинуто на git.
pvvx, а вы можете хотя бы какие-то инструкции дать, как это запустить? А то соблазняете всяким интересным, а попробовать не получается. Может, buid configuration надо другую выбирать? У меня сейчас release, но другие вообще не работают. А какую нужно? Из целей сейчас у меня работает только runram, но webfs прошить не могу. Или лучше сейчас не дергать вас вопросами, подождать, пока всё устаканится и уже с более-менее стабильной версией развлекаться?
 

pvvx

Активный участник сообщества
pvvx, а вы можете хотя бы какие-то инструкции дать, как это запустить? А то соблазняете всяким интересным, а попробовать не получается. Может, buid configuration надо другую выбирать? У меня сейчас release, но другие вообще не работают. А какую нужно? Из целей сейчас у меня работает только runram, но webfs прошить не могу. Или лучше сейчас не дергать вас вопросами, подождать, пока всё устаканится и уже с более-менее стабильной версией развлекаться?
А там не webfs, а espfs. Оно лежит и готовое в RTLHTTPD/webpages.espfs at master · pvvx/RTLHTTPD · GitHub
Собирается и прошивается вручную, программатором по адресу 0xD0000 т.к. стандартный адрес для такого диска системы ещё не выбран. Его должен выбрать sharikov. И вообще это его проект, а я просто пытаюсь адаптировать SDK для него и перекидываю версию для трансляции в Windows.
Меня устраивает microSD, а не espfs.
Тем более я не пользуюсь данным HTTPD, т.к. он полный тормоз и рассчитан на фанатов ESP.
Использую исключительно для теста работоспособности сборки SDK. :)

Могу вам сказать так - я ни разу в жизни не собирал ни одного файла webpages.espfs - использовал только готовые и всего для теста. Использую готовый файл от sharikov-а.
Так что, ждем sharikov-а, когда он оптимизирует всё безобразие в данном HTTPD, а там есть что оптимизировать и уже оговорено. И только потом соберу вам более менее готовый пример. А счас это полудубль от его репы с развитием только моей части SDK. Но он работает на все 100% - тормозно, но пашет. Могут быть проблемы с переполнением стека. Так написан код автором...
Я новую Web-свалку на RTL заводить не хочу. Её же потом поддерживать надо, а некогда, т.к. хватает других задач. Хоть та-же переработка и сокращение объема SDK. Она только начата. Уже сделан начальный вариант WiFi API, но он будет развит позже, когда почистится и оптимизируется остальная часть в SDK, да допилится bootloader. Для них ещё не всё ясно, как и что делать к общему стандарту, т.к. приложений к SDK от других ещё нет и нет вообще никакой обратной связи с теми, кто использует хоть оф. SDK.
Вы же ничего не рекомендуете и ни каких решений не предлагаете :p
 
Последнее редактирование:

aloika

Active member
Собирается и прошивается вручную, программатором по адресу 0xD0000 т.к. стандартный адрес для такого диска системы ещё не выбран.
Понятно.

Вы же ничего не рекомендуете и ни каких решений не предлагаете :p
Это правда... ну уровень-то у меня более чем скромный, так что максимум, что могу - что-нить готовое поглядеть, потестировать, очевидное что-то обнаружить в уже относительно готовом и работающем. Ну хоть шерсти клок, как говорится :) А вообще, ковыряясь в веб-свалке, я очень многое для себя в образовательном плане почерпнул. Так что может что и предложу когда-нибудь, кто ж знает.
 

pvvx

Активный участник сообщества
@sharikov - беда типа этой RTL + Zyxel G-202 + XP в HTTPD осталась. Там ещё часто не открывается websocket и вообще ничего. Что-то орет, своё в лог, но не открывает соединений. Личная "кошачья" беда какая-то - все остальные довески (открытые порты но не для httpd) при этом работают. Кол-во открытых соединений ставил к 100. RTL8711AM - у него памяти хватает...
 

aloika

Active member
make -f flasher.mk flashweb
Это-то да. Я просто пытаюсь это сделать под Windows и в варианте от pvvx. Там flasher.mk не используется, а написаны батники и скрипты .jlink . Надо, видимо, разобраться и изобразить что-то по аналогии.
А так-то я попробовал взять ваш flasher.mk и запустить flashweb, но с ходу тоже не получилось. Там нужно openocd, сначала он у меня вообще не заработал, оказалось, что нужно другой драйвер для jlink, я его поставил (при этом перестал работать JlinkGDB, ну да ладно), openocd вроде как зашевелилось, но всё равно не находит адаптера и пишет, что надо указать ему частоту (хотя она указана). Может быть, адаптер ему не нравится (st-link китайский перешитый), может, я вообще что-то не то делаю. Буду дальше ковырять.
 
Сверху Снизу