Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: ir_Daikin.cpp
- Revision:
- 9:4e06441ceecf
- Parent:
- 8:da53af1db462
--- a/ir_Daikin.cpp Sun May 26 17:18:25 2019 +0000
+++ b/ir_Daikin.cpp Mon May 27 11:13:55 2019 +0000
@@ -1,95 +1,4 @@
-/*
-Assuming the protocol we are adding is for the (imaginary) manufacturer: Shuzu
-Our fantasy protocol is a standard protocol, so we can use this standard
-template without too much work. Some protocols are quite unique and will require
-considerably more work in this file! It is way beyond the scope of this text to
-explain how to reverse engineer "unusual" IR protocols. But, unless you own an
-oscilloscope, the starting point is probably to use the rawDump.ino sketch and
-try to spot the pattern!
-
-Before you start, make sure the IR library is working OK:
- # Open up the Arduino IDE
- # Load up the rawDump.ino example sketch
- # Run it
-
-Now we can start to add our new protocol...
-
-1. Copy this file to : ir_Shuzu.cpp
-
-2. Replace all occurrences of "Shuzu" with the name of your protocol.
-
-3. Tweak the #defines to suit your protocol.
-
-4. If you're lucky, tweaking the #defines will make the default send() function
- work.
-
-5. Again, if you're lucky, tweaking the #defines will have made the default
- decode() function work.
-
-You have written the code to support your new protocol!
-
-Now you must do a few things to add it to the IRremote system:
-
-1. Open IRremote.h and make the following changes:
- REMEMEBER to change occurences of "SHUZU" with the name of your protocol
-
- A. At the top, in the section "Supported Protocols", add:
- #define DECODE_SHUZU 1
- #define SEND_SHUZU 1
-
- B. In the section "enumerated list of all supported formats", add:
- SHUZU,
- to the end of the list (notice there is a comma after the protocol name)
-
- C. Further down in "Main class for receiving IR", add:
- //......................................................................
- #if DECODE_SHUZU
- bool decodeShuzu (decode_results *results) ;
- #endif
-
- D. Further down in "Main class for sending IR", add:
- //......................................................................
- #if SEND_SHUZU
- void sendShuzu (unsigned long data, int nbits) ;
- #endif
-
- E. Save your changes and close the file
-
-2. Now open irRecv.cpp and make the following change:
-
- A. In the function IRrecv::decode(), add:
- #ifdef DECODE_NEC
- DBG_PRINTLN("Attempting Shuzu decode");
- if (decodeShuzu(results)) return true ;
- #endif
-
- B. Save your changes and close the file
-
-You will probably want to add your new protocol to the example sketch
-
-3. Open MyDocuments\Arduino\libraries\IRremote\examples\IRrecvDumpV2.ino
-
- A. In the encoding() function, add:
- case SHUZU: printf("SHUZU"); break ;
-
-Now open the Arduino IDE, load up the rawDump.ino sketch, and run it.
-Hopefully it will compile and upload.
-If it doesn't, you've done something wrong. Check your work.
-If you can't get it to work - seek help from somewhere.
-
-If you get this far, I will assume you have successfully added your new protocol
-There is one last thing to do.
-
-1. Delete this giant instructional comment.
-
-2. Send a copy of your work to us so we can include it in the library and
- others may benefit from your hard work and maybe even write a song about how
- great you are for helping them! :)
-
-Regards,
- BlueChip
-*/
#include "IRremote.h"
#include "IRremoteInt.h"
@@ -97,7 +6,7 @@
//==============================================================================
//
//
-// S H U Z U
+// DAIKIN LITTERA
//
//
//==============================================================================
@@ -125,37 +34,20 @@
//
-void IRsend::sendDaikinWake() {
- enableIROut(38);
- space(DYIRDAIKIN_ZERO_MARK);
- //
- mark(DYIRDAIKIN_ZERO_MARK);
- space(DYIRDAIKIN_ZERO_MARK);
- //
- mark(DYIRDAIKIN_ZERO_MARK);
- space(DYIRDAIKIN_ZERO_MARK);
- //
- mark(DYIRDAIKIN_ZERO_MARK);
- space(DYIRDAIKIN_ZERO_MARK);
- //
- mark(DYIRDAIKIN_ZERO_MARK);
- space(DYIRDAIKIN_ZERO_MARK);
- //
- mark(DYIRDAIKIN_ZERO_MARK);
- space(DYIRDAIKIN_ZERO_MARK);
-}
-
-void IRsend::sendIRWarm() {
- _pwm.write(0.5)
+void IRsend::daikinWarm ()
+{
+ _pwm.write(0.5);
IRsend::custom_delay_usec(100);
- _pwm.write(0.0)
+ _pwm.write(0.0);
IRsend::custom_delay_usec(5);
}
void IRsend::sendDaikin(unsigned char buf[], int len, int start) {
int data2;
- sendIRWarm();
+
+ daikinWarm();
+
enableIROut(DYIRDAIKIN_FREQUENCY);
mark(DYIRDAIKIN_HDR_MARK);
space(DYIRDAIKIN_HDR_SPACE);