• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Портирование новых библиотек

Victor

Administrator
Команда форума
Библиотеки, не использующие низкоуровневый доступ к регистрам AVR практически не требуют портирования.
 

Sermus

New member
Сделал пулл-реквест библиотеки работы с TFT-драйвером ILI9341. Очень быстрая получилась. Примерно в 10 раз быстрее на esp8266, чем на оригинальном atmega328.
Реквест пока не интегрирован Иваном.

Чуть раньше сделал реквест с интеграцией библиотеки SPI (уже интегрировано), замечания-исправления приветствуются.
 

Discriminator

New member
Хм... Наверное стоит сделать что-то типа begin(ip_addr)....
err = tcp_bind(pcb, INADDR_ANY, _port);

Код:
void WiFiServer::begin()
{
    err_t err;

    tcp_pcb* pcb = tcp_new();
    if (!pcb)
        return;

    err = tcp_bind(pcb, INADDR_ANY, _port);

    if (err != ERR_OK)
    {
        tcp_close(pcb);
        return;
    }

    tcp_pcb* listen_pcb = tcp_listen(pcb);
    if (!listen_pcb)
    {
        tcp_close(pcb);
        return;
    }
    _pcb = listen_pcb;
    tcp_accept(listen_pcb, &WiFiServer::_s_accept);
    tcp_arg(listen_pcb, (void*) this);
}
 

KAS

New member
Подскажите новичку, можно ли в IDE добавлять библиотеки от Arduino? Например, будет ли работать библиотека Liquid Crystal I2C или её следуют как-то видоизменить?
 

Vitaly

Member
Как написано в начале темы "Библиотеки, не использующие низкоуровневый доступ к регистрам AVR практически не требуют портирования."

То есть добавлять можно и нужно, часть из них соберется без изменений.
 

KAS

New member
Тогда подскажите пожалуйста нубасу: взял библиотеку отсюда http://sizovsergey.ru/podklyuchenie-lcd-ekrana-lcm-1602-s-i2c-k-arduino/
Запускаю пример Hello World. SDA и SCL подключаю к GPIO0 и GPIO 2. На экране ничего. Пробовал добавлять Wire.pins(0, 2). Что я делаю не так?
 
Последнее редактирование:

Vitaly

Member
Я с помощью wire подключал только pca9685 и к пинам по умолчанию - 4,5 на esp-201, все работало.

Может быть на 0,2 есть какие-то сложности.
 

KAS

New member
А по умолчанию SDA и SCL на 4 и 5 gpio? Мне просто кажется, затык в том, что я не сконфигурировал gpio на SDA и SCL.
 

amatron

New member
Попытался настроить библиотеку для дисплея Siemens S65 ls020. Вроде получилось. Просьба не ругать, а помочь с hardware SPI. Работает только SOFTWARE SPI.
 

Вложения

mishgan

Member
Есть arduino ide 1.6.5. Через Manage Libraries... установил OneWire 2.3.2 Запускаю стандартный пример DS18x20_Temperature. Arduino ide начинает ругаться (выбрана плата NodeMCU 1.0)
xtensa-lx106-elf-g++: error: кет: No such file or directory
xtensa-lx106-elf-g++: error: \libraries\OneWire: No such file or directory
Ошибка компиляции.
Если выбрать например arduino mega 2560 то такая ошибка не выскакивает. Тут (http://esp8266.ru/arduino-ide-esp8266/#onewire) читал что библиотека адаптирована под esp8266. Где копать чтоб она заработала на esp8266?
 

mishgan

Member
Проблема решилась. Перекинул библиотеку из папки со скетчами в папку с программой.
 
Сверху Снизу