Как сделать из скетча библиотеку.

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Есть прошивка с графиком для лсд экрана связанного с ПК по И2С.
Но я хочу сделать библиотеку.
Вопрос : как добавить библиотеку экрана в другую библиотеку?

b707
Онлайн
Зарегистрирован: 26.05.2017

попытайтесь сформулировать задачу точнее. Непонянтно, зачем добавлять одну библиотеку в другую - добавляйте библиотеку в скетч

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

b707 пишет:

попытайтесь сформулировать задачу точнее. Непонянтно, зачем добавлять одну библиотеку в другую - добавляйте библиотеку в скетч


У меня есть скетч для рисования графиков на лсд дисплее.
И мне хочется сделать библиотеку графиков.

stepan_sotnikov
Offline
Зарегистрирован: 06.04.2019

/как создать библиотеку для ардуино/ забей в поисковик 
либо воспользуйся моей ссылкой я за тебя вбил уже.
https://www.google.ru/search?newwindow=1&client=opera&ei=wg_DXK6rNq2xrgTOs42gCA&q=как+создать+библиотеку+для+ардуино&oq=&gs_l=psy-ab.1.0.35i39l6.13278.13278..46262...5.0..0.0.0.......0....1..gws-wiz.....6..0i71.15CeHwKqlh8
 

Если, что то не понятно пиши. Желательно с описание, что у тебя не получилось. 
Пока ясно одно. У тебя не получилось забить в поисковик запрос. 

stepan_sotnikov
Offline
Зарегистрирован: 06.04.2019

кроме этого есть на сайте 
http://arduino.ru/Hacking/LibraryTutorial

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Я это знаю.
Мне надо узнать как использовать одну библиотеку в другой.

b707
Онлайн
Зарегистрирован: 26.05.2017

SAn4Es_TV пишет:
Я это знаю. Мне надо узнать как использовать одну библиотеку в другой.

точно так же как в скетче - подключить в коде #include "Library.h"

похоже вы не очень понимаете, что такое "библиотека". Это всего лишь набор обычных Си-шных процедур, вынесенный в отдельный файл или несколько файлов

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Вы меня не поняли!!!!!!
Мне надо узнать как можно подключить библиотеку экрана и узнать как её использовать!!
Там вроде по другому функции выживать.

b707
Онлайн
Зарегистрирован: 26.05.2017

SAn4Es_TV пишет:
Вы меня не поняли!!!!!!

ну видимо не понял... обьясните понятнее.

Насколько мне кажется. вы хотите написать библиотеку, рисующую графики на LCD экране? - ну так зачем же дело встало? Создаете файл своей библиотеки, вначале подключаете хидер библиотеки экрана директивой #include и пользуетесь функциями экрана как в обычном скетче.

Никаких особенностей в использовании библиотеки внутри другой библиотеки - в отличии от скетча - нет.

Я еще раз повторяю - вам приходилось разбивать скетч на много отдельных файлов? скажем, в один файл положить функции работы с экраном. в другой - с радиомодулем... и так далее. Делали так? - если да. то вы фактически уже создавали библиотеки...

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Я посмотрел другие библиотеки с дисплеем и увидел что там например вместо lcd надо использовать LiquidCrystal_I2C::.
Также я написал библиотеку для микросхемы 74HC595.

b707
Онлайн
Зарегистрирован: 26.05.2017

Цитата:
я написал библиотеку для микросхемы 74HC595

А зачем? в ардуино есть готовая функция shiftOut() для работы с 595-м регистром. Что еще там можно написать?

Знаете, очень смешно и глупо выглядит, когда новичок, не знающий хорошенько даже синтаксиса языка - начинает писать и выкладывать свои "библиотеки".

Прежде чем начинать - хорошенько подумайте, а нужны ли они кому-то? Есть ли в ваших библиотеках что-то такое. что грамотный программист не напишет с нуля за 10 минут?

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Её я написал для себя.
Чтобы мне было удобнее писать код.

b707
Онлайн
Зарегистрирован: 26.05.2017

SAn4Es_TV пишет:
Её я написал для себя. Чтобы мне было удобнее писать код.

ну тогда вам надо разобраться с областью видимости переменных и понять, как использовать один и тот же экземпляр класса LCD в нескольких исходных файлах. Это единственное отличие библиотеки от скетча.

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

Я вот что-то начал писать.
Проверил то что я написал.
РАБОТАЕТ!!!!!!!!!!!!!!

SAn4Es_TV
Offline
Зарегистрирован: 18.04.2019

SAn4Es_TV пишет:
Я вот что-то начал писать.
Проверил то что я написал.
РАБОТАЕТ!!!!!!!!!!!!!!

Позже дам ссылку на Гугл диск.
Там библиотека не графиков но там есть загрузочные полоски.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

А вот как сделать так, чтобы файлы библиотеки были не в корне папки библиотеки, а в каталоге src???
Копирую  в src - не находит, в корне - работает

И как тут не быть )))

sadman41
Offline
Зарегистрирован: 19.10.2016

Положить в sketch/src/library/*, инклюд прописывать как "src/library/code.h"

Ох, это рецепт для прикладывания либы прямо в скетч.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

смотрю другие либы, там src путь не прописан, ЧЯДНТ?

а прямо в скетч я просто бросаю в папку и открываю в "ххх.h"

А у Гайвера код библиотеки тоже лежит не в сырцах, кошмаррр!!!

sadman41
Offline
Зарегистрирован: 19.10.2016

Так, ну я глянул на своих самопальных библиотэках - чтобы IDE находило файлы в library_name/src/ , требуется иметь файл library_name/library.properties .

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Так, ну я глянул на своих самопальных библиотэках - чтобы IDE находило файлы в library_name/src/ , требуется иметь файл library_name/library.properties .

я об этом догадывался, по времени не успел поэкспериментировать, кстати, все поля в этом файле должны быть правильно заполнены!!!

Благодарю!!!