library for implementing ir transmission

XMIT_IR.h

Committer:
cmulady
Date:
2012-10-06
Revision:
3:823708586b3e
Parent:
2:2eb0a3a29b5b
Child:
4:55946953c6e3

File content as of revision 3:823708586b3e:

#ifndef MBED_XMIT_IR_H
#define MBED_XMIT_IR_H

#include "mbed.h"
#include "rtos.h"

#define ASCII_ETX 0x03
#define ASCII_STX 0x02


class IRTransmitter
{
public:
    IRTransmitter(PinName TX, PinName PWM, PinName RX, int data_buff_len,     void     (*fptr)(void));
    ~IRTransmitter();
    void MakePacket(char* data,int len);
    char ReadPacket(char* data, int len);
    void isr_uartrx(void);
    void isr(char data);

private:
    char packet_is_valid(int data_len);
    void update_packet_buffer(char new_data, int data_len);

public:
    Mail<char,64> ir_data_mailbox;

private:
    Serial* ir_serial;
    PwmOut* ir_pwm;
    char*   packet_buffer_out;
    char*   packet_buffer_in;

};








#endif