31 lines
746 B
C++
31 lines
746 B
C++
#pragma once
|
|
#include <stdint.h>
|
|
|
|
#include <util/delay.h>
|
|
|
|
|
|
class W433DataTransmitter
|
|
{
|
|
private:
|
|
|
|
static constexpr uint16_t LARGE_TIME = 2000;
|
|
static constexpr uint16_t SMALL_TIME = 500;
|
|
static constexpr uint16_t SYNC_TIME = 800;
|
|
|
|
static constexpr uint8_t signature = 0xA5;
|
|
volatile unsigned char * const _port;
|
|
const unsigned char _pin;
|
|
|
|
void sendBit(const bool bit);
|
|
void sendSyncpulse();
|
|
void sendRawData(const uint8_t data);
|
|
void sendEndPulse();
|
|
|
|
public:
|
|
|
|
W433DataTransmitter(volatile unsigned char * const port, const unsigned char pin);
|
|
void send(const uint8_t* const data, uint16_t length);
|
|
void send(const uint8_t data);
|
|
void sendPacket(const uint32_t data);
|
|
};
|