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

UDK: Запрос/обсуждение нового функционала

CHERTS

Moderator
Команда форума
Если у Вас есть предложения по внедрению нового функционала или хотите обсудить существующий в UDK, то пишите в данной теме.

Внимание: Оффтоп будет удаляться, пожалуйста, придерживайтесь темы! Спасибо!
 

nikolz

Well-known member
Добрый день,
В качестве предложения по развитию.
Было бы замечательно драйверы периферии выделить в единственный каталог для всех примеров,
чтобы не копировать их из примера в пример. (каталоги driver и include/driver)
спасибо.
 

CHERTS

Moderator
Команда форума
Добрый день,
В качестве предложения по развитию.
Было бы замечательно драйверы периферии выделить в единственный каталог для всех примеров,
чтобы не копировать их из примера в пример. (каталоги driver и include/driver)
спасибо.

Так можно было бы сделать, если бы эти драйвера нормально работали, большинство примеров я не проверял в работе с периферией, т.к. у меня нет этой периферии.
Я проверял только факт компиляции без ошибок, о чем пишу в changelog.txt (changelog_ru.txt).

Список непроверенных примеров: esp8266_ili9341, esp8266_pcd8544, EspLightNode, i2c_24xx16, i2c_bh1750, i2c_bmp180, i2c_hd44780, i2c_htu21d, i2c_ina219, i2c_sht21, lpd6803

В ближайшее время проверю на реальном оборудовании: i2c_bh1750, i2c_bmp180

Примеры, проверенные с реальными датчиками: 1wire_ds18b20, i2c_24xx32, dht11_22, dht11, dht22_thingspeak
 

nikolz

Well-known member
Добрый день,
CHERTS
Дело в том, что как раз при отладке или модификации драйвера важно чтобы была одна копия,
а то потом приходится исправлять все копии.
Можно было бы просто указать что драйвер еще не тестировался в комменте к драйверу.
Спасибо
 

CHERTS

Moderator
Команда форума
Дело в том, что как раз при отладке или модификации драйвера важно чтобы была одна копия,
а то потом приходится исправлять все копии.
Можно было бы просто указать что драйвер еще не тестировался в комменте к драйверу.
Спасибо
95% драйверов писал не я, они взяты с github, логично предположить, что авторы на github эти драйвера возможно тестировали, а может и нет, они об этом не пишут.
Например мой драйвер i2c_24xx32 был написан исходя из примера i2c_24xx16 , с исправлениями в соответствии с документацией на чип ATMEL AT24C512, в результате написания тестов на чтение-запись EEPROM блоками был найден баг в библиотеке i2c_24xx16.c от zarya, баг я конечно подправил в своей i2c_24xx32.c, но если бы я не тестировал свой i2c_24xx32 на реальном оборудовании, я бы этот баг и не нашел. Из чего я делаю выводы, что многие писатели драйверов не тестировали свои наработки на реальном оборудовании, либо тестировали, но не полностью и не с пристрастием, ну и как обычно не читали или плохо читали спецификации на чипы под которые писали драйвера.
Поэтому нужно все тестировать на реальном железе и только потом включать в свой проект.

Проект DevKit открытый, все исходники лежат на github, я буду только рад если кто-то начнет тестировать все примеры на реальном оборудовании, исправит баги и скомпонует все в одну библиотеку, но пока таких добровольцев нет, а у меня на все нехватает времени.
 

nikolz

Well-known member
CHERTS,
благодарю за ответ.
Планирую тестировать и писать новые,
но хотелось бы не копировать их в разные проекты а собирать в одном каталоге.
В результате была бы библиотека драйверов.
Спасибо
 

CHERTS

Moderator
Команда форума
Планирую тестировать и писать новые,
но хотелось бы не копировать их в разные проекты а собирать в одном каталоге.
В результате была бы библиотека драйверов.
Я только ЗА такой подход, если напишите драйвера под разное оборудование, то я готов включить их в DevKit. Можно выделить отдельный каталог под это дело, например C:\Espressif\ESP8266_SDK\third_party и складывать туда доп. библиотеки.
C:\Espressif\ESP8266_SDK\third_party\lib - для файлов библиотек (*.a)
C:\Espressif\ESP8266_SDK\third_party\include - для заголовочных файлов (*.h)
C:\Espressif\ESP8266_SDK\third_party\src - для исходников
и уже писать примеры в C:\Espressif\examples\ которые бы использовали эти каталоги, модификация Makefile будет минимальна.

В общем пишите и проверяйте драйвера, ну и выкладывайте.
 

pvvx

Активный участник сообщества
[
Планирую тестировать и писать новые,
но хотелось бы не копировать их в разные проекты а собирать в одном каталоге.
В результате была бы библиотека драйверов.
А многим эта свалка не нужна - данные драйвера узкоспециализированы и заточены на одну тупенькую системную организацию. Я вот запользую полностью всю аппаратную часть и желаю работать с периферией по прерываниям. Но это не обеспечивает ни один из выложенных драйверов :)
Так что я вообще за разделение UDK на части. Примеры, SDK и траслятор надо раздельными, чтобы не переставляло всё на свете при обновлении. А то каждый раз приходиться распаковывать и муторно вспоминать, что копировать и/или изменить/дополнить из старой папки.
 

CHERTS

Moderator
Команда форума
[А многим эта свалка не нужна - данные драйвера узкоспециализированы и заточены на одну тупенькую системную организацию. Я вот запользую полностью всю аппаратную часть и желаю работать с периферией по прерываниям. Но это не обеспечивает ни один из выложенных драйверов :)
Так что я вообще за разделение UDK на части. Примеры, SDK и траслятор надо раздельными, чтобы не переставляло всё на свете при обновлении. А то каждый раз приходиться распаковывать и муторно вспоминать, что копировать и/или изменить/дополнить из старой папки.
Можно ставить новый DevKit поверх старого, только старые хвосты будут оставаться, а так все будет рабочее. А для своих проектов нужно создать отдельную папку, например у меня это c:\Espressif\project, она не удаляется при удалении DevKit
 

pvvx

Активный участник сообщества
Можно ставить новый DevKit поверх старого, только старые хвосты будут оставаться, а так все будет рабочее. А для своих проектов нужно создать отдельную папку, например у меня это c:\Espressif\project, она не удаляется при удалении DevKit
А папка с C:\Espressif\ESP8266_SDK переписывается, а там SDK0.9.6, а не 0.9.5 и переписываются все *.h и другие файлы. Примеры меня не интересуют :) В итоге всё пришлось перетащить в проект и инсталляция переписывает только компилятор (остальное не требуется). Вот его бы отдельно и надо.
 

CHERTS

Moderator
Команда форума
А папка с C:\Espressif\ESP8266_SDK переписывается, а там SDK0.9.6, а не 0.9.5 и переписываются все *.h и другие файлы
Что мешает создать папку c:\Espressif\ESP8266_SDK_096 по аналогии как лежит папка _094 и подправить в Makefile 1 строку? По моему это проще чем городить огород со сложным Makefile и тащить в проекте кучу лишних библиотек и *.h файлов.
 

pvvx

Активный участник сообщества
Что мешает создать папку c:\Espressif\ESP8266_SDK_096 по аналогии как лежит папка _094 и подправить в Makefile 1 строку? По моему это проще чем городить огород со сложным Makefile и тащить в проекте кучу лишних библиотек и *.h файлов.
Это очень сложно, т.к. потом не стыканется у других. Придется держать кучу проектов - один для своей конфиги, а другой для народу...
Та всё равно у вас не полный SDK - без PDF и Eclipse тоже не заточена на lx106 - отсутствуют конфигураторы и не подлинкованы хелпы, да много ещё чего... В итоге безразлично - надо всегда эти огрызки руками разгребать...
Лучше бы сказали чё за C:\Espressif\xtensa-lx106-elf\lib\ldscripts и кем это редактировать. В полной версии их много и ими выбирается конфига линковщика... eagle.app.v6.ld - это один из файлов такого каталога (бывший elf32xtensa.xbn)... Нужно для автоконфигуратора.
Ваш кусок - это выдранный из C:\usr\xtensa\XtDevTools\install\builds\RC-2010.1-win32\lx106\xtensa-elf\lib\linux\ldscripts
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Это очень сложно, т.к. потом не стыканется у других. Придется держать кучу проектов - один для своей конфиги, а другой для народу...
Прстенькая инструкция из 2 строк и все стыканется и ни какой кучи проектов для себя и других если все унифицировать, делов то на 10 минут, могу привести весь ваш проект к унифицированному виду.

Та всё равно у вас не полный SDK - без PDF и Eclipse тоже не заточена на lx106 - отсутствуют конфигураторы и не подлинкованы хелпы, да много ещё чего...
Не полный, зато бесплатный в отличии от версии от Espressif которые хотят NDA и кучу денег, странная у них вообще позиция.
 

pvvx

Активный участник сообщества
Не полный, зато бесплатный в отличии от версии от Espressif которые хотят NDA и кучу денег, странная у них вообще позиция.
Вы ошибаетесь - у них нету оболочки для SDK. Они скоро вашей будут пользоваться, т.е. продавать её будут. :)
Прстенькая инструкция из 2 строк и все стыканется и ни какой кучи проектов для себя и других если все унифицировать, делов то на 10 минут, могу привести весь ваш проект к унифицированному виду.
Хочу - но у меня проектов уже много и везде всё разное, c разными сегментами загрузки, а вот скрипт линковщика для трансляции луниха на ESP8266 мне не нужен.
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Вы ошибаетесь - у них нету оболочки для SDK.
Хммм, а та что в инете гуляет с левыми лицензиями чья? Я просто её даже и не пробовал, ибо платная, а подсаживаться на ворованные лицензии не вижу смысла, потом себе дороже выйдет.
 

pvvx

Активный участник сообщества
Хммм, а та что в инете гуляет с левыми лицензиями чья? Я просто её даже и не пробовал, ибо платная, а подсаживаться на ворованные лицензии не вижу смысла, потом себе дороже выйдет.
А смотреть её никто не запрещал. Там обычная древняя версия xtensa. В ней нет ESP8266 и от неё все пользуют только консольный компилятор. Линковшик у Espressif тоже ручками в командной строке :)

Try our SDK Software Development Toolkit for 15 days absolutely free. http://ip.cadence.com/ipportfolio/tensilica-ip
 
Последнее редактирование:

nikolz

Well-known member
pvvx,
[А многим эта свалка не нужна - данные драйвера узкоспециализированы и заточены на одну тупенькую системную организацию. Я вот запользую полностью всю аппаратную часть и желаю работать с периферией по прерываниям. Но это не обеспечивает ни один из выложенных драйверов :)
Так что я вообще за разделение UDK на части. Примеры, SDK и траслятор надо раздельными, чтобы не переставляло всё на свете при обновлении. А то каждый раз приходиться распаковывать и муторно вспоминать, что копировать и/или изменить/дополнить из старой папки.
Добрый день,
Я тоже буду делать по-возможности все с прерываниями,
так как ресурсы процессора позволяют работать с большим числом датчиков.
Да и задачи, которые я хочу решить немного сложнее чем общеизвестные задачи умного дома.
Но пока я не нашел нормальной документации по данному механизму в ESP и нахожусь на стадии поиска и изучения.
--------------------------------
Но вопрос, который я задал каcается не конкретного драйвера,
а общих принципов построения программных комплексов для проектирования микропроцессорных систем.
Копировать в каждый проект даже один драйвер UART - это излишество.
--------------------------------------------
Полагаю, что любой модуль, общий для множества проектов, должен быть в SDK в одном месте и в одном экземпляре.
Тогда легко его модернизировать.
Но как говорится "Дареному коню в зубы не смотрят".
Поэтому благодарю за существующее решение.
 

pvvx

Активный участник сообщества
Но вопрос, который я задал каcается не конкретного драйвера,
а общих принципов построения программных комплексов для проектирования микропроцессорных систем.
Копировать в каждый проект даже один драйвер UART - это излишество.
По этому и надо примеры для детей в один пакет, а среду в другой :) А счас всё в куче.
Но, данный UDK, рассчитан для "игры" в нажатие кнопки "компиле". Его ставят поиграть - после поиска как нажать кнопку копиляции, обычно, пишут на форумы что что-то там не компилится. На этом игра для большинства заканчивается. Больше вопросов по нему ни у кого нет и не встречается на форумах, да нет ни одного рабочего и сопровождаемого проекта на нем в gitхабе :)
ИМХО Связано это причиной отсутствия автоматического конфигуратора проекта под SDK. В итоге это не DevKit, а просто раздельные копилятор и базовая Eclipse, ещё и eclipse-cpp-luna-SR1-win32, а не SR2.
 
Последнее редактирование:
Сверху Снизу