RemotoIR Libraryに、IRC Helicopter Propo の受信処理と、受信パルス幅測定処理を追加したものです。
Dependents: SwiftPropoIR_TestProgram irRawDataDisplay spinner2 LPC1114_ir-spinne_main-propo
Fork of RemoteIR by
Diff: TransmitterIR.h
- Revision:
- 0:ec264f4ce158
- Child:
- 2:08836610bd4a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TransmitterIR.h Tue Aug 17 08:50:54 2010 +0000 @@ -0,0 +1,62 @@ +/** + * IR transmitter (Version 0.0.3) + * + * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems) + * http://shinta.main.jp/ + */ + +#ifndef _TRANSMITTER_IR_H_ +#define _TRANSMITTER_IR_H_ + +#include <mbed.h> + +#include "Semaphore.h" +#include "RemoteIR.h" + +class TransmitterIR { +public: + explicit TransmitterIR(PinName txpin); + ~TransmitterIR(); + + typedef enum { + Idle, + Leader, + Data, + Trailer + } State; + + void init(void); + State getState(void); + int setData(RemoteIR::Format format, uint8_t *buf, int bitlength); + +private: + + typedef struct { + State state; + int bitcount; + int leader; + int data; + int trailer; + } work_t; + + typedef struct { + RemoteIR::Format format; + int bitlength; + uint8_t buffer[64]; + } data_t; + + PwmOut tx; + Ticker ticker; + data_t data; + work_t work; + Semaphore sem; + + static const int TUS_NEC = 562; + static const int TUS_AEHA = 425; + static const int TUS_SONY = 600; + + void tick(); + +}; + +#endif \ No newline at end of file