Added a new Brand "Kamoona" to be used for other applications that are not a known brand.
Fork of RemoteIR by
Diff: TransmitterIR.cpp
- Revision:
- 14:257b2f794dc4
- Parent:
- 12:0651f02169ee
--- a/TransmitterIR.cpp Sun Apr 19 19:11:32 2015 +0000 +++ b/TransmitterIR.cpp Mon Apr 27 07:33:55 2015 +0000 @@ -89,14 +89,11 @@ ticker.detach(); ticker.attach_us(this, &TransmitterIR::tick, RemoteIR::TUS_SONY); break; - case RemoteIR::Samsung: + case RemoteIR::KAMOONA: ticker.detach(); - ticker.attach_us(this, &TransmitterIR::tick, RemoteIR::TUS_Samsung); + ticker.attach_us(this, &TransmitterIR::tick, RemoteIR::TUS_KAMOONA); break; - case RemoteIR::Nikon: - ticker.detach(); - ticker.attach_us(this, &TransmitterIR::tick, RemoteIR::TUS_Nikon); - break; + } UNLOCK(); @@ -158,39 +155,25 @@ if ((LEADER_SONY_HEAD + LEADER_SONY_TAIL) <= work.leader) { work.state = Data; } - } else if (data.format == RemoteIR::Samsung) { + } else if (data.format == RemoteIR::KAMOONA) { /* * SONY. */ - static const int LEADER_Samsung_HEAD = 8; - static const int LEADER_Samsung_TAIL = 8; - if (work.leader < LEADER_Samsung_HEAD) { + static const int LEADER_KAMOONA_HEAD = 8; + static const int LEADER_KAMOONA_TAIL = 0; + if (work.leader < LEADER_KAMOONA_HEAD) { tx.write(0.5); } else { tx.write(0.0); } work.leader++; - if ((LEADER_Samsung_HEAD + LEADER_Samsung_TAIL) <= work.leader) { + if ((LEADER_KAMOONA_HEAD + LEADER_KAMOONA_TAIL) <= work.leader) { work.state = Data; } - } else if (data.format == RemoteIR::Nikon) { - /* - * Nikon. - */ - static const int LEADER_Nikon_HEAD = 0; - static const int LEADER_Nikon_TAIL = 0; - if (work.leader < LEADER_Nikon_HEAD) { - tx.write(0.5); - } else { - tx.write(0.0); - } - work.leader++; - if ((LEADER_Nikon_HEAD + LEADER_Nikon_TAIL) <= work.leader) { - work.state = Data; - } } else { } break; + case Data: if (data.format == RemoteIR::NEC) { /* @@ -276,24 +259,24 @@ if (data.bitlength <= work.bitcount) { work.state = Trailer; } - }else if (data.format == RemoteIR::Samsung) { + }else if (data.format == RemoteIR::SONY) { /* - * Samsung. + * KAMOONA. */ if (work.data == 0) { - tx.write(0.5); + tx.write(0.0); work.data++; } else { - tx.write(0.0); + tx.write(0.5); if (0 != (data.buffer[work.bitcount / 8] & (1 << work.bitcount % 8))) { - if (1 <= work.data) { + if (2 <= work.data) { work.bitcount++; work.data = 0; } else { work.data++; } } else { - if (3 <= work.data) { + if (1 <= work.data) { work.bitcount++; work.data = 0; } else { @@ -303,7 +286,8 @@ } if (data.bitlength <= work.bitcount) { work.state = Trailer; - } else { + } + } else { } break; case Trailer: @@ -355,19 +339,19 @@ work.state = Idle; //ticker.detach(); } - }else if (data.format == RemoteIR::Samsung) { + }else if (data.format == RemoteIR::KAMOONA) { /* - * Samsung. + * KAMOONA. */ - static const int TRAILER_Samsung_HEAD = 1; - static const int TRAILER_Samsung_TAIL = 55; - if (work.trailer < TRAILER_Samsung_HEAD) { + static const int TRAILER_KAMOONA_HEAD = 0; + static const int TRAILER_KAMOONA_TAIL = 0; + if (work.trailer < TRAILER_KAMOONA_HEAD) { tx.write(0.5); } else { tx.write(0.0); } work.trailer++; - if ((TRAILER_Samsung_HEAD + TRAILER_Samsung_TAIL) <= work.trailer) { + if ((TRAILER_KAMOONA_HEAD + TRAILER_KAMOONA_TAIL) <= work.trailer) { work.state = Idle; //ticker.detach(); } @@ -378,5 +362,5 @@ break; } UNLOCK(); -} -} + +} \ No newline at end of file