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

Arduino для RTL8710.

pvvx

Активный участник сообщества
Добавлено для RTL8710AF установка 100 МГц CLK CPU (для тех кому не нравится гонять его на 166 МГц).
Код:
#if defined(BOARD_RTL8710)
extern "C" {
void UserPreInit(void)
{
   if(HalGetCpuClk() < 100000000) Init_CPU_CLK_UART(7,38400);
   // 0 - 166666666 Hz, 1 - 83333333 Hz, 2 - 41666666 Hz, 3 - 20833333 Hz, 4 - 10416666 Hz, 5 - 4000000 Hz
   // 6 - 200000000 Hz, 7 - 10000000 Hz, 8 - 50000000 Hz, 9 - 25000000 Hz, 10 - 12500000 Hz, 11 - 4000000 Hz
}
} // extern "C"
#endif
RTL8711AM хорошо работает на 200 МГц.
Переключение не меняет калибровки Spic и SDRAM, т.е. там может возникать оверклок в 1.5 раза...
Оптимальные значения по умолчанию SpicNVMCalLoad Calibration для модулей RTL00 сохранены в OTA_RTLDuino.bin.
Для восстановления данных в 9-секторе берем программатор и записываем OTA_RTLDuino.bin с опциями "System data":
Снимок1300.gif
Если данные в этом секторе кривые, то могут не работать разные типы загрузки в модуль - т.е. модуль виснет после загрузки. Дополнительно влияет и boot-loader, загрузчик, находящийся в Image1. Модуль может прийти со старым и несовместимым записанным boot-loader. Перешиваем...
 
Последнее редактирование:

Sprut

New member
надо удалять в начале каждого "кекса" #include <ESP8266WiFi.h> (исправлять на #include <WiFi.h> - я уже замучался
Programmer's Notepad правда файлы в нём сперва нужно открыть, но есть поиск фраз в папке и make можно прикрутить

BK ReplaceEm
Mass Editor
Search and Replace
UltraEdit
Словогрыз


Самое сложное в этом деле - нарисовать картинку модуля c проводками и подписями, куда и какой номер порта торчит...

OpenOffice Draw
- сам соединения рисует, просто указываешь какой блок с каким соединён - хоть текстовый, хоть картинка

там файлик лежит в архиве для примера
 
Последнее редактирование:

pvvx

Активный участник сообщества
Programmer's Notepad правда файлы в нём сперва нужно открыть, но есть поиск фраз в папке и make можно прикрутить

BK ReplaceEm
Mass Editor
Search and Replace
UltraEdit
Словогрыз
Спасибо, но не поможет. Проектов очень много, я сам путаюсь, а автомат - тем более.
sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0\tools\autopatch\auto_patch.bat
OpenOffice Draw - сам соединения рисует, просто указываешь какой блок с каким соединён - хоть текстовый, хоть картинка

там файлик лежит в архиве для примера
Нужны то заготовки картинок, а не соединений. Для рисования линий и соединений есть много софта. Если смотрели, то в Arduino используется определенный стиль и в svg формате... Fritzing
Рисовать онлайн. Обзор рисовалок и редакторов. :)
 
Последнее редактирование:

relink

New member
А у меня чего то не идет... Arduino IDE 1.6.5. На всех примерах ошибки компиляции.
Нашел Eclipse для Arduino, Arduino Eclipse IDE named Sloeber - Welcome!, все установилось автоматом и нужные либы плагином, но заработало только после обновления Java, гораздо удобнее чем официальное IDE.
 
Последнее редактирование:

Simon

Member
@relink под win удалось запустить? У меня эклипс вставлял компилятору пути из прямых слешей вместо обратных, из-за этого не копировались временные файлы при сборке. Пришлось менять исходник скрипта, добавить в него замену слешей. Нужен кому рабочий postbuild_img2_arduino_windows.exe? Или только у меня так?
Да, ну и батники Jlink пришлось переписать.
 

pvvx

Активный участник сообщества
@relink под win удалось запустить? У меня эклипс вставлял компилятору пути из прямых слешей вместо обратных, из-за этого не копировались временные файлы при сборке. Пришлось менять исходник скрипта, добавить в него замену слешей. Нужен кому рабочий postbuild_img2_arduino_windows.exe? Или только у меня так?
Да, ну и батники Jlink пришлось переписать.
postbuild_img2_arduino_windows.exe - А в чем его отличие от имеющегося?
По хорошему надо все скрипты переписывать на Python (2.7). Это более универсальное и распространенное решение...

Но Arduino пока помирает – она не осиливает следующего уровня, выше 8-ми битных MCU с пару кило RAM. Нет единых подходов и интерфейсов для работы с устройствами имеющими значительно больший функционал. В её “амбразуре” сложно собирать большие и многозадачные проекты. По этому, активной поддержки RtlDuino не планируется. Так только – однозадачные примеры и не более.
 
Последнее редактирование:

Simon

Member
postbuild_img2_arduino_windows.exe - А в чем его отличие от имеющегося?
Если пытаться компилировать под эклипсом (Sloeber), то скрипты не работают как должны, поскольку у эклипса все пути в переменных хранятся с прямыми слешами, а винда хочет обратные. Я добавил замену слешей на нужные в этот скрипт, теперь компиляция работает.

По хорошему надо все скрипты переписывать на Python (2.7). Это более универсальное и распространенное решение...
Я могу переписать на perl, если что.

Но Arduino пока помирает....По этому, активной поддержки RtlDuino не планируется.
Все равно огромное спасибо за сборку, с которой легко начать. Я планирую по мере надобности переходить на свои/SDK функции. Но дико удобно, что все очень быстро заводится на "ардуиновских".

Кстати, по совместимости, например, амебовский WiFiClient::available возвращает просто 0 или 1, хотя оригинальный возвращал количество байт в буфере. И еще какие-то несовпадения с оригинальными(или ESP) функциями были. Из-за них переносимость страдает. Для себя я уже поправил, что нужно. Есть ли смысл присылать правки в вашу сборку?

Еще такой вопрос. Наверняка вам удалось получить список задач с запущенным вайфай(через vTaskList или еще как)? Может, поделитесь?
 

pvvx

Активный участник сообщества
Еще такой вопрос. Наверняка вам удалось получить список задач с запущенным вайфай(через vTaskList или еще как)? Может, поделитесь?
Это же прямая функция от RTOS. Но либы для Arduino могут быть собраны без этой инфы. Часть, уже за 40%, *.obj в *.a, входящих в RtlDuino, относительно Ameba, заменено на сборку из моего варианта SDK и специальными конфигами.
Информация по задачам включается в FreeRTOSConfig.h и вся сборка либ должна быть пересобрана. Но не от всего, входящего в Ameba Arduino, есть исходники.
 

relink

New member
@relink под win удалось запустить?
Извиняюсь, заработался, своевременно не ответил.
Только-что под Win7 проверил вот эту сборку, Java(8.0.25.18), все работает с диска С, но сборка для esp, возможно что-то доустановить по принципу Arduino IDE.
Нашел хороший код для конвертации в jpeg и затисал под CodeBlocks в трех файлах, некогда искать топик, выкладываю здесь.
 

Вложения

Последнее редактирование:

pvvx

Активный участник сообщества
Извиняюсь, заработался, своевременно не ответил.
Только-что под Win7 проверил вот эту сборку, Java(8.0.25.18), все работает с диска С, спецом оставил тестовый workspace.
У меня Eclipse для Arduino конфликтует с моей настроенной Eclipse для других проектов.:( Лезет в настройки Eclipse на диске "C". Совмещать нет желания.
Код:
we have found programs in the path that might conflict with our external builder.
The conflicting programs are bash and sh.
The program might still function but if you get strange build errors you know where to look
мы обнаружили программы в пути, которые могут конфликтовать с нашим внешним строителем.
Конфликтующие программы Баш и ш.
Программа может по-прежнему функционировать, но если вы получаете странные ошибки сборки, вы знаете, где искать
Ну и не только это...
Нашел хороший код для конвертации в jpeg и затисал под CodeBlocks, некогда искать топик, выкладываю здесь.
В базе Ameba Arduino вроде есть уже jpeg в либах...
 

Simon

Member
Только-что под Win7 проверил вот эту сборку, Java(8.0.25.18), все работает с диска С
В ней же нет RTL, только ардуино и есп.
Код:
C:\ArduinoSloeber\arduinoPlugin\packages>dir

Содержимое папки C:\ArduinoSloeber\arduinoPlugin\packages

27.02.2017  15:25    <DIR>          .
27.02.2017  15:25    <DIR>          ..
27.02.2017  15:25    <DIR>          arduino
27.02.2017  15:25    <DIR>          esp8266
               0 файлов              0 байт
               4 папок  110 167 216 128 байт свободно

C:\ArduinoSloeber\arduinoPlugin\packages>
 

relink

New member
В ней же нет RTL, только ардуино и есп.
Да, надо было отметить. Но разве там не доустанавливается все по принципу Arduino IDE. На вопрос, работает-ли альтернатива в win ответил.
В базе Ameba Arduino вроде есть уже jpeg в либах...
Может где-то и есть, в с++ или с# обрамленные кучей кода, который надо разбирать чтобы вникнуть. Мне удалось найти легкий для понимания и применения вариант, чем и поделился. Помнится где-то люди искали решение насчет картинки с OV(без конвертации), подумал, что это вариант.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Может где-то и есть, в с++ или с# обрамленные кучей кода, который надо разбирать чтобы вникнуть. Мне удалось найти легкий для понимания и применения вариант, чем и поделился. Помнится где-то люди искали решение насчет картинки с OV(без конвертации), подумал, что это вариант.
Проблем только с PNG. Там деревья Хаффмана по 32 кило мин :)
SSL к примеру с google (там ssl_max_frag_len = 10240, а это два блока с добавками типа по 32k, а может и больше) + PNG не влезут у вас в память в Arduino в модуль RTL00 из-за фрагментации 'heap'. Та-же фигня и у ESP-32S. На RTL8711AM всё лезет в лет и свободных к 2 мегабайта :)
 
Последнее редактирование:

Pilnikov

Active member
Доброго времени суток. Я конечно рискую нарваться.... Но все же задам пару вопросов.
Пришли мне тут пара модулей новой ревизии. Как пишут тут RTL8710 WiFi Module - Arduino - Seeed Studio У них аж 512 kb RAM.
Подключил я все по инструкции. Поставил амебу и rtldurino. При прошивке из rtldurino загрузчик первоначально ругался на отсутствие файла ota.bin (Его и в правду нет в ..\development\rtl87xx\tools\)
Покурив форум решил "поправить" "изначально кривую" прошивку своего модуля на OTA_RTLDuino.bin
После прошивки (на разных скоростях с очисткой флэшь и другими танцами вокруг бубна) модуль перестал хоть как то коннектиться к вайфаю. Т.е. точку доступа он как бы создает, но видится она на компе (и ноуте) через раз. А если и видится - то не цепляется - ота все ждет не дождется клиента. До "правки" родная АТ прошивка к вайфаю цеплялась клиентом.

Starting AP ...
RTLDUINO_OTA started

SSID: RTLDUINO_OTA
PASSWORD: 0123456789
BSSID: 0:F8:87:11:0:12
Encryption Type: 4

IP Address: 192.168.43.1
NetMask: 255.255.255.0
Gateway: 192.168.43.1

Pin1: PC_1
FlashInfo: 0xb000[0x41858], 0x4c868[0x0], 0x80000
Wait for client


После "починки"

# ATWS
[ATWS]: _AT_WLAN_SCAN_

▒▒
и все висит

после такого

# ATPA=MyAP,,11,0

LwIP_DHCP: dhcp stop.77665502 and Wi-Fi setting to flash ...
Deinitializing WIFI ...
WIFI deinitialized
Initializing WIFI ...
WIFI initialized
Time at start 410648 ms.

[MEM] After do cmd, available heap 70472+17912

Точки доступа тоже не видать.
Вопрос: как поправить весь этот винегрет?:oops:
 

pvvx

Активный участник сообщества
При прошивке из rtldurino загрузчик первоначально ругался на отсутствие файла ota.bin (Его и в правду нет в ..\development\rtl87xx\tools\)
Покурив форум решил "поправить" "изначально кривую" прошивку своего модуля на OTA_RTLDuino.bin
Это не связанные вещи.
Вопрос: как поправить весь этот винегрет?:oops:
По представленному логу у вас AP работает.
В чем винегрет? - не понятно.
 
Сверху Снизу