library for implementing ir transmission

XMIT_IR.h

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

File content as of revision 4:55946953c6e3:

#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);
    void set_debug_port(Serial* port);

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;
    Serial* debug_port;

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

};








#endif