создание библиотеки

Kostya
Offline
Зарегистрирован: 30.11.2016

Здраствуйте, начал работу с ардуино недавно, попросил я чтоб мне скинули одну библиотечку.

Скинули мне её в вот таком виде



#ifndef  FS1000A_h
#define  FS1000A_h

#include <VirtualWire.h>

//////////////////////////////////////////////////////////////////////////////////////
//
// ФУНКЦИИ ПЕРЕДАТЧИКА
//

///////////////////////////////////////////////////
//
//	Инициализация передатчика
//
inline static void FS1000A_Init(const int8_t pin) {
	pinMode(pin, OUTPUT);
	vw_set_ptt_inverted(true);
	vw_setup(2000);
	vw_set_tx_pin(pin);
}

///////////////////////////////////////////////////
//
//	Ждать завершения передачи сообщения
//
inline static void FS1000A_WaitForTransmission(void) {
   vw_wait_tx();
}

///////////////////////////////////////////////////
//
//	Отправить сообщение из буфера buf длиной len
// если waitForTransmission - true, то дождаться завершения отправки
// иначе вернуться сразу же.
//
inline static void FS1000A_Send(const void * buf, const byte len, const bool waitForTransmission = true) {
   vw_send((byte *)buf, (byte)len);
	if (waitForTransmission) FS1000A_WaitForTransmission();
}

///////////////////////////////////////////////////
//
//	Отправить строку s без завершающего 0
// если waitForTransmission - true, то дождаться завершения отправки
// иначе вернуться сразу же.
//
inline static void FS1000A_Send(const char * s, const bool waitForTransmission = true) {
   FS1000A_Send((const byte *) s, strlen(s), waitForTransmission);
}

///////////////////////////////////////////////////
//
//	Возвращает true если идёт передача
//
inline bool FS1000A_InProgress(void) {
   return vx_tx_active();
}

//////////////////////////////////////////////////////////////////////////////////////
//
// ФУНКЦИИ ПРИЁМНИКА
//

///////////////////////////////////////////////////
//
//	Инициализация приёмника
//
inline static void XY_MK_5V_Init(const int8_t pin)  {
	vw_set_ptt_inverted(true); 
	vw_setup(2000);	 
	vw_set_rx_pin(pin);
}

///////////////////////////////////////////////////
//
//	Включаем "слушание" эфира
//
inline static void XY_MK_5V_Start(void) {
	vw_rx_start(); 
}

///////////////////////////////////////////////////
//
//	Выключаем "слушание" эфира
//
inline static void XY_MK_5V_Stop(void) {
	vw_rx_stop(); 
}

///////////////////////////////////////////////////
//
//	Возвращает true если пришло сообщение
//
inline static bool XY_MK_5V_Available(void) {
   return vw_have_message();
}

///////////////////////////////////////////////////
//
//	Ждёт прихода сообщения указанное количество миллисекунд (если 0, то ждёт бесконечно)
// Возвращает true если дождалась и false в противном случае.
//
inline static bool XY_MK_5V_WaitForMessage(unsigned long milliseconds = 0) {
   if (milliseconds) return vw_wait_rx_max(milliseconds);
   vw_wait_rx();
   return true; 
}

///////////////////////////////////////////////////
//
//	Получает сообщение в буфер buf.
// Максимальная длина буфера должна находится в *len
// по завершении в *len будет реальная длина полученного сообщения
// возвращает true если сообщение получено нормально
//
inline static bool XY_MK_5V_ReceiveMessage(byte * buf, byte * len) {
   return vw_get_message(buf, len);
}
inline static bool XY_MK_5V_ReceiveMessage(char * s, byte * len) { 
   return XY_MK_5V_ReceiveMessage((byte *) s, len);
}

#endif   // FS1000A

как сделать так, чтобы это можно было использовать с помощью команды #include?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Скопировать в блокнот и сохранить с расширением *.h

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

В папке где живут все библиотеки создать подпапку FS1000A. В неё сохранить этот файл с именем FS1000A.h, а в основной скетч вставить

#include <VirtualWire.h>
#include <FS1000A.h>