• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 китайский перешитый), может, я вообще что-то не то делаю. Буду дальше ковырять.
 
Сверху Снизу