c_cpp ELRO Flamingo FA50R远程协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp ELRO Flamingo FA50R远程协议相关的知识,希望对你有一定的参考价值。

/******************************************************************************
** Flamingo_send                                                             **
**                                                                           **
**       Flamingo device commands (on/off)hard coded (not deciphered yet)    **
**       code is 28 byte long. To transfer it in 32 bit code 4 *0            **
**       is added to the left. For programming reason hex code representation**
**       of device code is used. E.g. Remote 0,C,On:                         **
**         code 28 bits: 0001100110111111110100100110                        **
**         code 32 bits: 00011001101111111101001001100000                    **
**         Hex:          19BFD260                                            **
**                                                                           **
**        "Sync" 1 pulse High, 15 pulse low                                  **
**        "1"    1 pulse High, 3 pulse low                                   **
**        "0"    3 pulse High, 1 pulse low                                   **
**        "end"  N/A                                                         **
**                                                                           **
**       For internal ref: Unit 0 = white remote , unit 1 = black remote     **
**                                                                           **
******************************************************************************/
// Compiler only coding
#define FREMOTE 2                                  /*amount supported remotes */
#define FUNITS  4                                  /* Amount of units supported per remote */
#define FCMDN   2                                  /* Amount of CMD 0 = On, 1 = Off */

int rfPin = 10;

// define device codes:

uint32_t fdev[FREMOTE][FUNITS][FCMDN] = {0xD9762A10,                                           /* Remote 0, Unit A, On  */
                                         0xDAA47850,                                           /* Remote 0, Unit A, Off */
                                         0xDBDA22E0,                                           /* Remote 0, Unit B, On  */
                                         0xDBA27220,                                           /* Remote 0, Unit B, Off */
                                         0x19BFD260,                                           /* Remote 0, Unit C, On  */
                                         0x195EEAA0,                                           /* Remote 0, Unit C, Off */
                                         0x984CC650,                                           /* Remote 0, Unit D, On  */
                                         0x9A8C1050,                                           /* Remote 0, Unit D, Off */
                                         0xDBFFFE90,                                           /* Remote 1, Unit A, On  */
                                         0xD91CEF10,                                           /* Remote 1, Unit A, Off */
                                         0xDBC52FA0,                                           /* Remote 1, Unit B, Aan */
                                         0xD9E35160,                                           /* Remote 1, Unit B, Off */
                                         0x19B0FE60,                                           /* Remote 1, Unit C, On  */
                                         0x19682B20,                                           /* Remote 1, Unit C, Uit */
                                         0x9924E7D0,                                           /* Remote 1, Unit D, On  */
                                         0x9BA928D0                                            /* Remote 1, Unit D, Uit */
                                        };                                          


// Define Flamingo_send variables / constants

int fpulse = 300;                              /* Pulse witdh in microseconds */
int fretrans = 5;                              /* Code retransmission         */
uint32_t fsendbuff;
uint32_t fdatabit;
uint32_t fdatamask = 0x80000000;

void Flamingo_Send(int fhousec, int funitc, int fcmd)
{

  // Test if used codes are valid

  if ((funitc < 1) || (funitc >  2)) {                  // check if unit code between 1-2 (Remote 0 of 1)
    Serial.print("Unit error: ");
    Serial.println(funitc);
    return;
  }
  else  {
    funitc = funitc - 1;                               // To address right code in array
  }

  if ((fhousec < 0) || (fhousec >  3)) {               // check if house code between 1-4 (A-D)
    Serial.print("House error: ");
    Serial.println(fhousec);
    return;
  }

  if ((fcmd < 0) || (fcmd > 1)) {                       // check if command = 0 (off) or 1 (on)
    Serial.print("Command error: ");
    Serial.println(fcmd);
    return;
  }
  
  //End test used codes

  Serial.println("Send Flamingo command ");
  Serial.print("Flamingo House/Device code = :");
  Serial.println(fhousec);
  Serial.print("Flamingo Unit/remote code = :");
  Serial.println(funitc);
  Serial.print("command = :");
  Serial.println(fcmd);
  Serial.println();


  // Send Command

  for (int nRepeat = 0; nRepeat <= fretrans; nRepeat++) {

    fsendbuff = fdev[funitc][fhousec][fcmd];

    // send SYNC 1P High, 15P low
    Serial.println("Send sync");

    digitalWrite(rfPin, HIGH);
    delayMicroseconds(fpulse * 1);
    digitalWrite(rfPin, LOW);
    delayMicroseconds(fpulse * 15);

    // end send SYNC

    // Send command

    for (int i = 0; i < 28; i++)                                 // Flamingo command is only 28 bits */
    {
      // read data bit
      fdatabit = fsendbuff & fdatamask;                         // Get most left bit
      fsendbuff = (fsendbuff << 1);                             // Shift left

      if (fdatabit != fdatamask)
      { // Write 0
        digitalWrite(rfPin, HIGH);
        delayMicroseconds(fpulse * 3);
        digitalWrite(rfPin, LOW);
        delayMicroseconds(fpulse * 1);
      }
      else
      { // Write 1
        digitalWrite(rfPin, HIGH);
        delayMicroseconds(fpulse * 1);
        digitalWrite(rfPin, LOW);
        delayMicroseconds(fpulse * 3);
      }
    }
  }
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  Flamingo_Send(0, 1, 1);
  delay(1000);
  Flamingo_Send(0, 1, 0);
  delay(3000);
}
# Reverse enrineering the protocol of the ELRO Flamingo FA500R remote control and FA500S Wireless Switch unit using a Realtek RTL2832 based DVB dongle

# Install analyzing software

apt-get install libusb-1.0-0-dev
wget https://github.com/merbanan/rtl_433/archive/master.zip
unzip master.zip
cd rtl_433-master/
cd rtl_433/
mkdir build
cd build
cmake ../
make
sudo ./src/rtl_433 -a

# A on

*** signal_start = 38594077, signal_end = 38825145
signal_len = 231068,  pulses = 614
Iteration 1. t: 161    min: 73 (528)    max: 249 (86)    delta 245
Iteration 2. t: 161    min: 73 (528)    max: 249 (86)    delta 0
Pulse coding: Short pulse length 73 - Long pulse length 249

Short distance: 197, long distance: 1237, packet distance: 2528

p_limit: 161

[00] {182} 13 72 39 b0 9b 91 cd 84 dc 8e 6c 26 e4 73 60 00 00 00 00 00 00 00 00 : 00010011 01110010 00111001 10110000 10011011 10010001 11001101 10000100 11011100 10001110 01101100 00100110 11100100 01110011 01100000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 01 15 00 : 01000001 00000001 00010101 00000000 
[08] {25} 41 01 15 00 : 01000001 00000001 00010101 00000000 
[09] {25} 41 01 15 00 : 01000001 00000001 00010101 00000000 
[10] {25} 41 01 15 00 : 01000001 00000001 00010101 00000000 
[11] {25} 41 01 15 00 : 01000001 00000001 00010101 00000000 

# A off

*** signal_start = 41226058, signal_end = 41457126
signal_len = 231068,  pulses = 614
Iteration 1. t: 160    min: 72 (517)    max: 248 (97)    delta 170
Iteration 2. t: 160    min: 72 (517)    max: 248 (97)    delta 0
Pulse coding: Short pulse length 72 - Long pulse length 248

Short distance: 194, long distance: 1238, packet distance: 2528

p_limit: 160

[00] {182} 13 e9 fe d0 9f 4f f6 84 fa 7f b4 27 d3 fd a0 00 00 00 00 00 00 00 00 : 00010011 11101001 11111110 11010000 10011111 01001111 11110110 10000100 11111010 01111111 10110100 00100111 11010011 11111101 10100000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 01 14 00 : 01000001 00000001 00010100 00000000 
[08] {25} 41 01 14 00 : 01000001 00000001 00010100 00000000 
[09] {25} 41 01 14 00 : 01000001 00000001 00010100 00000000 
[10] {25} 41 01 14 00 : 01000001 00000001 00010100 00000000 
[11] {25} 41 01 14 00 : 01000001 00000001 00010100 00000000 

# B on

*** signal_start = 418572, signal_end = 649895
signal_len = 231323,  pulses = 614
Iteration 1. t: 161    min: 73 (532)    max: 249 (82)    delta 221
Iteration 2. t: 161    min: 73 (532)    max: 249 (82)    delta 0
Pulse coding: Short pulse length 73 - Long pulse length 249

Short distance: 199, long distance: 1239, packet distance: 2532

p_limit: 161

[00] {182} 12 1e ce 88 90 f6 74 44 87 b3 a2 24 3d 9d 10 00 00 00 00 00 00 00 00 : 00010010 00011110 11001110 10001000 10010000 11110110 01110100 01000100 10000111 10110011 10100010 00100100 00111101 10011101 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 04 15 00 : 01000001 00000100 00010101 00000000 
[08] {25} 41 04 15 00 : 01000001 00000100 00010101 00000000 
[09] {25} 41 04 15 00 : 01000001 00000100 00010101 00000000 
[10] {25} 41 04 15 00 : 01000001 00000100 00010101 00000000 
[11] {25} 41 04 15 00 : 01000001 00000100 00010101 00000000

# B off

*** signal_start = 6924293, signal_end = 7155623
signal_len = 231330,  pulses = 614
Iteration 1. t: 160    min: 73 (533)    max: 248 (81)    delta 194
Iteration 2. t: 160    min: 73 (533)    max: 248 (81)    delta 0
Pulse coding: Short pulse length 73 - Long pulse length 248

Short distance: 199, long distance: 1239, packet distance: 2532

p_limit: 160

[00] {182} 13 c4 66 e8 9e 23 37 44 f1 19 ba 27 88 cd d0 00 00 00 00 00 00 00 00 : 00010011 11000100 01100110 11101000 10011110 00100011 00110111 01000100 11110001 00011001 10111010 00100111 10001000 11001101 11010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 04 14 00 : 01000001 00000100 00010100 00000000 
[08] {25} 41 04 14 00 : 01000001 00000100 00010100 00000000 
[09] {25} 41 04 14 00 : 01000001 00000100 00010100 00000000 
[10] {25} 41 04 14 00 : 01000001 00000100 00010100 00000000 
[11] {25} 41 04 14 00 : 01000001 00000100 00010100 00000000

# C on 

*** signal_start = 10170084, signal_end = 10401413
signal_len = 231329,  pulses = 614
Iteration 1. t: 160    min: 71 (531)    max: 249 (83)    delta 185
Iteration 2. t: 160    min: 71 (531)    max: 249 (83)    delta 0
Pulse coding: Short pulse length 71 - Long pulse length 249

Short distance: 200, long distance: 1238, packet distance: 2534

p_limit: 160

[00] {182} 73 45 c0 8b 9a 2e 04 5c d1 70 22 e6 8b 81 10 00 00 00 00 00 00 00 00 : 01110011 01000101 11000000 10001011 10011010 00101110 00000100 01011100 11010001 01110000 00100010 11100110 10001011 10000001 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 05 15 00 : 01000001 00000101 00010101 00000000 
[08] {25} 41 05 15 00 : 01000001 00000101 00010101 00000000 
[09] {25} 41 05 15 00 : 01000001 00000101 00010101 00000000 
[10] {25} 41 05 15 00 : 01000001 00000101 00010101 00000000 
[11] {25} 41 05 15 00 : 01000001 00000101 00010101 00000000

# C off

*** signal_start = 18670754, signal_end = 18902052
signal_len = 231298,  pulses = 614
Iteration 1. t: 160    min: 72 (532)    max: 248 (82)    delta 241
Iteration 2. t: 160    min: 72 (532)    max: 248 (82)    delta 0
Pulse coding: Short pulse length 72 - Long pulse length 248

Short distance: 199, long distance: 1238, packet distance: 2532

p_limit: 160

[00] {182} 72 71 0a ab 93 88 55 5c 9c 42 aa e4 e2 15 50 00 00 00 00 00 00 00 00 : 01110010 01110001 00001010 10101011 10010011 10001000 01010101 01011100 10011100 01000010 10101010 11100100 11100010 00010101 01010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 05 14 00 : 01000001 00000101 00010100 00000000 
[08] {25} 41 05 14 00 : 01000001 00000101 00010100 00000000 
[09] {25} 41 05 14 00 : 01000001 00000101 00010100 00000000 
[10] {25} 41 05 14 00 : 01000001 00000101 00010100 00000000 
[11] {25} 41 05 14 00 : 01000001 00000101 00010100 00000000 

# D on

*** signal_start = 22030320, signal_end = 22261615
signal_len = 231295,  pulses = 614
Iteration 1. t: 160    min: 72 (517)    max: 248 (97)    delta 221
Iteration 2. t: 160    min: 72 (517)    max: 248 (97)    delta 0
Pulse coding: Short pulse length 72 - Long pulse length 248

Short distance: 195, long distance: 1239, packet distance: 2533

p_limit: 160

[00] {182} 32 ed fc d1 97 6f e6 8c bb 7f 34 65 db f9 a0 00 00 00 00 00 00 00 00 : 00110010 11101101 11111100 11010001 10010111 01101111 11100110 10001100 10111011 01111111 00110100 01100101 11011011 11111001 10100000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 00 15 00 : 01000001 00000000 00010101 00000000 
[08] {25} 41 00 15 00 : 01000001 00000000 00010101 00000000 
[09] {25} 41 00 15 00 : 01000001 00000000 00010101 00000000 
[10] {25} 41 00 15 00 : 01000001 00000000 00010101 00000000 
[11] {25} 41 00 15 00 : 01000001 00000000 00010101 00000000 

# D off

*** signal_start = 32437583, signal_end = 32668867
signal_len = 231284,  pulses = 614
Iteration 1. t: 160    min: 73 (530)    max: 248 (84)    delta 232
Iteration 2. t: 160    min: 73 (530)    max: 248 (84)    delta 0
Pulse coding: Short pulse length 73 - Long pulse length 248

Short distance: 198, long distance: 1240, packet distance: 2533

p_limit: 160

[00] {182} 32 b6 57 d1 95 b2 be 8c ad 95 f4 65 6c af a0 00 00 00 00 00 00 00 00 : 00110010 10110110 01010111 11010001 10010101 10110010 10111110 10001100 10101101 10010101 11110100 01100101 01101100 10101111 10100000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[01] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[02] {66} 00 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[03] {1} 00 : 00000000 
[04] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[05] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[06] {58} 00 00 00 00 00 00 00 00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
[07] {25} 41 00 14 00 : 01000001 00000000 00010100 00000000 
[08] {25} 41 00 14 00 : 01000001 00000000 00010100 00000000 
[09] {25} 41 00 14 00 : 01000001 00000000 00010100 00000000 
[10] {25} 41 00 14 00 : 01000001 00000000 00010100 00000000 
[11] {25} 41 00 14 00 : 01000001 00000000 00010100 00000000

# Using Arduino sketch from the RCSwitch library to receive the same codes. 
# It seems like this is only referring to lines [07] to [11] above
# and is ignoring lines [01] to [11]. Possibly this is why I cannot get sending to work
# using the the RCSwitch library.

# A on

Decimal: 4260117 (24Bit) Binary: 010000010000000100010101 Tri-State: F00F000F0FFF PulseLength: 329 microseconds Protocol: 1
Raw data: 10232,392,928,988,332,388,924,388,932,388,928,384,940,380,928,988,336,380,928,384,940,380,928,384,940,384,928,380,940,384,932,980,340,380,932,376,948,376,932,984,340,376,940,976,348,372,936,980,344,

# A off

Decimal: 4260116 (24Bit) Binary: 010000010000000100010100 Tri-State: F00F000F0FF0u PulseLength: 329 microseconds Protocol: 1
Raw data: 10236,388,920,996,336,380,924,388,932,388,928,384,936,384,924,988,340,380,928,380,944,380,928,380,940,380,936,380,936,384,936,976,344,376,932,380,944,380,932,980,352,368,940,976,340,376,936,376,944,

# B on

Decimal: 4260885 (24Bit) Binary: 010000010000010000010101 Tri-State: F00F00F00FFF PulseLength: 329 microseconds Protocol: 1
Raw data: 10240,380,936,980,340,380,932,380,944,376,932,380,944,372,940,976,348,372,944,364,948,372,936,380,948,376,936,976,348,368,936,376,944,376,936,376,948,376,932,980,344,372,944,972,352,364,948,968,352,

# B off

Decimal: 4260884 (24Bit) Binary: 010000010000010000010100 Tri-State: F00F00F00FF0 PulseLength: 329 microseconds Protocol: 1
Raw data: 10232,388,924,988,336,384,928,384,936,384,928,380,948,376,928,984,348,368,940,372,944,376,940,372,944,376,940,980,336,380,936,376,940,380,936,376,948,376,940,968,348,372,940,976,352,364,948,364,952,

# C on

Decimal: 4261141 (24Bit) Binary: 010000010000010100010101 Tri-State: F00F00FF0FFFpu PulseLength: 329 microseconds Protocol: 1
Raw data: 10244,380,936,980,344,372,952,360,948,372,940,376,952,364,944,972,348,368,948,368,948,368,944,368,956,368,944,976,348,368,944,972,348,372,944,364,956,368,944,968,356,364,948,968,360,360,964,948,360,

# C off

Decimal: 4261140 (24Bit) Binary: 010000010000010100010100 Tri-State: F00F00FF0FF0u PulseLength: 329 microseconds Protocol: 1
Raw data: 10236,384,928,988,340,376,936,376,944,372,936,372,960,368,932,980,344,372,944,368,944,376,940,372,952,368,940,980,340,376,936,976,348,372,936,376,948,372,940,972,352,364,948,968,356,360,960,356,952,

# D on

Decimal: 4259861 (24Bit) Binary: 010000010000000000010101 Tri-State: F00F00000FFF„ PulseLength: 329 microseconds Protocol: 1
Raw data: 10236,380,928,988,340,376,936,372,940,384,932,376,944,376,928,988,340,376,936,376,940,384,932,380,936,380,932,384,940,380,932,380,936,384,932,376,944,380,944,964,348,372,948,964,352,368,944,972,344,

# D off

Decimal: 4259860 (24Bit) Binary: 010000010000000000010100 Tri-State: F00F00000FF0 PulseLength: 329 microseconds Protocol: 1
Raw data: 10236,392,920,992,332,384,928,384,940,380,932,380,940,380,928,988,340,376,936,376,944,380,928,384,940,380,936,376,944,380,928,384,940,380,928,380,940,384,928,984,340,376,936,980,348,372,940,372,944,
/*
 NON-WORKING code intended to send to ELRO Flamingo FA500 using
 http://code.google.com/p/rc-switch/
 */

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);

  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);

  // Set pulse length.
  mySwitch.setPulseLength(329);

  // Set number of transmission repetitions.
  mySwitch.setRepeatTransmit(5);

}

void loop() {

  Serial.println("On - NOT WORKING");
  mySwitch.send(4260117, 24);
  delay(1000);  

  Serial.println("Off - NOT WORKING");    
  mySwitch.send(4260116, 24);
  delay(1000);  

  delay(20000);
}

以上是关于c_cpp ELRO Flamingo FA50R远程协议的主要内容,如果未能解决你的问题,请参考以下文章

钳流探头设置

推荐一个 C++ 大佬

推荐一位C++大佬

Python:从父子关系计算路径

求个sqlserver查询语句

Java Ribbon - 活动项目 - 火烈鸟的替代品