Подскажите, как можно убрать из библиотеки не используемый код? Я так понимаю, что нужно положить h, cpp файлы в каталог с проектом и потом удалять не используемые функции? Например: Ethernet.h; Ethernet.cpp Но как только я скопировал Ethernet.cpp в локальную паку, после этого при компиляции лезут ошибки типа: 'W5100' was not declared in this scope. Получается что придется собрать все библиотеки объявленные в .cpp собрать в локальной паке?
Arduino IDE неправильно собирает проект, потому как у вас получается доступными несколько разных файлов с одинаковыми названиями. Лучше создайте свою библиотеку под другим названием и ее цепляйте.
В отличие от большинства других C/C++ IDE, которые позволяют пользователю подробно настроить сборку проекта, Arduino IDE пытается взять эту функцию на себя и автоматически сочинить Makefile для сборки. Не знаю, какой конкретно алгоритм она использует, но проблемы со сборкой чуть более, чем тривиальных, скетчей периодически возникают.
Спасибо. Но вряд ли у меня хватит познаний в Си, для того что бы создать свою замену для Ethernet.h; Ethernet.cpp, с учетом того что там используются другие библиотеки.
Какие еще знания? Копируете оригинальную Ethernet в какую-нибудь EthernetLite, файлы .h .cpp переименовываете аналогично, потом у себя в проекте меняете #include и начинаете выкидывать неиспользуемые куски, как вы и собирались.