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

Вопрос Как добавить новые файлы в готовый проект в Eclipse?

RRRLock

New member
Приветствую.

Подскажите пожалуйста, как подключить новые библиотеки к готовому проекту-примеру в Eclipse?Например есть проект по SPI, а мне охота добавить в него библиотечные файлы для работы с GPIO например или I2C.

Как это сделать быстро и безболезненно?
 

CHERTS

Moderator
Команда форума
В UDK куча примеров где есть библиотеки, если я конечно правильно понимаю что речь про то как добавить несколько *.c и *.h файлов.
Взять хоть первый пример C:\Espressif\examples\ESP8266\1wire_ds18b20\
в папку driver кидаем *.c файлы, в include/driver кидаем *.h
в основном файле user/user_main.c добавляем include. например
[HASHTAG]#include[/HASHTAG] "driver/uart.h"
[HASHTAG]#include[/HASHTAG] "driver/ds18b20.h"
все, не забываем взять нужный C:\Espressif\examples\ESP8266\1wire_ds18b20\Makefile, в нем обращаем внимание на
MODULES = driver user

Добавлять *.c и *.h можно из Eclipse. а можно и вручную, просто в проекте Eclipse сделать Refresh и он перечитает список файлов в проекте.
 

CHERTS

Moderator
Команда форума
Если речь про использование бинарных библиотек от Espressif. то есть про те сто лежат в C:\Espressif\ESP8266_SDK\lib\
то чтобы их использовать то в Makefile смотрите на строку
LIBS = c gcc hal phy pp net80211 lwip wpa crypto main
в ней описаны какие библиотеки будут линковаться кв процессе сборки прошивки,
хотите использовать libpwm.a
то в Makefile пишем
LIBS = c gcc hal phy pp net80211 lwip wpa crypto main pwm
в основном файле user/user_main.c добавляем include. например
[HASHTAG]#include[/HASHTAG] <pwm.h>
 
однако сделал как написано модератором
кинул файл i2c.h в include/drivers
i2c.c в drivers
в user_main.c в процедуре void ICACHE_FLASH_ATTR user_init(void)
пишу i2c_init(0);
и компилятор спотыкается:
user/user_main.c:237:2: error: implicit declaration of function 'i2c_init' [-Werror=implicit-function-declaration]
i2c_init(0);

проект в который вношу изменения: из примеров esphttpd. версия udk: 2016.10
i2c библиотеку взял отсюда: PowerMeter/i2c.c at master · vad7/PowerMeter · GitHub
 
Последнее редактирование:
короче не разобрался я как добавлять сишные файлы и хидеры в проект "грамотно" и правильно. тупо кинул нужное в папку user и всё собралось.
з.ы. открыл для себя что все эти makefiles это из линукса башевые команды.
 

d_el

New member
Все же это специфический язык программирования со своими правилами.
Если быть точнее то пришло это с UNIX а не Linux.
bash это одна из множества командных оболочек.
 
Сверху Снизу