You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.2 KiB

/* IRLibSendBase.h
* Part of IRLib Library for Arduino receiving, decoding, and sending
* infrared signals. See COPYRIGHT.txt and LICENSE.txt for more information.
*/
/*
* This module contains the base classes for sending. You will not create instances
* of these classes, rather you will use them as base classes in creating derived
* protocol specific decoders. Each protocol specific send class begins
* by calling enableIROut(uint8_t kHz) to set the carrier frequency.
* It then calls mark(int usec) and space(inc usec) to transmit marks and
* spaces of varying length of microseconds in the manner which the protocol defines.
*/
#ifndef IRLIBSENDBASE_H
#define IRLIBSENDBASE_H
#include "IRLibProtocols.h"
class IRsendBase {
public:
IRsendBase();
void sendGeneric(uint32_t data, uint8_t numBits, uint16_t headMark, uint16_t headSpace,
uint16_t markOne, uint16_t markZero, uint16_t spaceOne, uint16_t spaceZero,
uint8_t kHz, bool stopBits, uint32_t maxExtent=0);
protected:
void enableIROut(uint8_t khz);
void mark(uint16_t usec);
void space(uint16_t usec);
uint32_t extent;
uint8_t onTime,offTime,iLength;//used by bit-bang output.
};
#endif //IRLIBSENDBASE_H