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
33 lines
1.2 KiB
5 years ago
|
/* 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
|
||
|
|