Trouble sending IR command to rc curtains

Okay we're getting somewhere!!

Signal_Pana1_0 turned on my panasonic TV! I used 38 khz.

Unfortunately I couldn't get my electric blinds to move. I used both Signal_Pana1_0 and Signal_erod1_2, as well as each of the suggested frequencies : 36, 38, 40, 56.

I feel we're so close man! I really appreciate you taking the time to help me out AnalysisIR. Let me know what you need from me to make more accurate measurements.

Anyways here's the code I used in case of silly mistakes:

#include <IRremote.h>

int RECV_PIN = 11;
int BUTTON_PIN = 12;
int STATUS_PIN = 13;

IRrecv irrecv(RECV_PIN);
IRsend irsend;

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(BUTTON_PIN, INPUT);
  pinMode(STATUS_PIN, OUTPUT);
}

// Storage for the recorded code
int codeType = -1; // The type of code
unsigned long codeValue; // The code value if not raw
unsigned int rawCodes[RAWBUF]; // The durations if raw
int codeLen; // The length of the code
int toggle = 0; // The RC5/6 toggle state

void storeCode(decode_results *results) {
  codeType = results->decode_type;
  int count = results->rawlen;
  
  Serial.print(count);
  Serial.println(" is the count.");
 
    Serial.println("Received unknown code, saving as raw");
    codeLen = results->rawlen - 1;
    for (int i = 1; i <= codeLen; i++) {
      if (i % 2) {
        // Mark
        rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK - MARK_EXCESS;
        Serial.print(" m");
      } 
      else {
        // Space
        rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK + MARK_EXCESS;
        Serial.print(" s");
      }
      Serial.print(rawCodes[i - 1], DEC);
    }
    Serial.println("");
    
    // print array, just wnated to see if negatives get stored
    for (int i = 1; i <= codeLen; i++) {
      Serial.print(rawCodes[i - 1], DEC);
      Serial.print(" " );
    }
}

// the panasonic array
//unsigned int rawCodesb[] = {1692, 480, 388, 480, 1260, 476, 396, 476, 392, 480, 392, 480, 392, 480, 388, 484, 388, 472, 396, 476, 396, 476, 392, 480, 392, 480, 392, 480, 1260, 472, 396, 476, 396, 476, 396, 476, 392, 480, 392, 480, 388, 484, 388, 472, 396, 476, 396, 476, 1264, 480, 388, 484, 388, 484, 388, 472, 396, 476, 396, 476, 392, 480, 392, 480, 392, 480, 1260, 472, 396, 476, 1268, 476, 1260, 484, 1260, 476, 1264, 476, 392, 480, 392, 480, 1260, 476, 396, 476, 1264, 476, 1264, 480, 1260, 476, 1264, 480, 392, 476, 1264, 480, 9104, 3468, 1728, 472, 396, 448, 1292, 480, 392, 448, 420, 488, 384, 484, 388, 452, 416, 448, 424, 448, 420, 452, 420, 452, 420, 452, 416, 452, 420, 444, 1296, 476, 392, 452, 420, 452, 416, 456, 416, 476, 396, 476, 392, 480, 392, 480, 388, 484, 388, 484, 1256, 476, 392, 448, 424, 448, 424, 480, 388, 484, 388, 452, 420, 452, 416, 444, 424, 448, 1296, 480, 388, 484, 1256, 476, 1264, 480, 1264, 480, 1260, 472, 396, 448, 424, 476, 1264, 480, 392, 448, 1292, 476, 1264, 476, 1264, 480, 1260, 476, 396, 484, 1256, 476, 9132, 3472, 1724, 476, 392, 480, 1260, 484, 388, 476, 392, 456, 416, 444, 428, 444, 424, 448, 424, 448, 420, 452, 420, 484, 384, 448, 424, 448, 420, 448, 1296, 480, 388, 484, 388, 472, 396, 476, 396, 476, 396, 476, 392, 480, 392, 480, 388, 484, 388, 476, 1264, 480, 392, 476, 392, 480, 392, 480, 388, 476, 396, 476, 392, 480, 392, 480, 388, 484, 1260, 480, 388, 476, 1264, 480, 1260, 484, 1260, 472, 1268, 476, 392, 480, 392, 480, 1260, 484, 388, 452, 1288, 476, 1264, 480, 1260, 484, 1256, 476, 396, 444, 1296, 480};
//unsigned int Signal_erod1_2[] = {948,184,948,184,376,752,952,180,380,752,380,752,948,160,400,752,384,748,380,752,380,748,384}; //AnalysIR Batch Export - RAW
unsigned int Signal_Pana1_0[] = {3496,1700,480,388,484,1256,476,396,476,392,480,392,480,392,480,388,476,396,476,392,480,392,480,388,484,388,484,384,484,1256,480,392,480,392,480,388,484,388,484,384,476,396,476,392,480,392,480,392,480,1260,484,384,476,396,476,392,480,392,480,392,480,388,484,388,476,392,480,1260,484,388,480,1260,476,1264,480,1260,484,1256,476,396,476,396,476,1264,480,388,484,1260,472,1268,476,1264,472,1268,476,392,480,1264,476}; //AnalysIR Batch Export - RAW

void sendCode(int repeat) {
  // Assume 38 KHz
  //irsend.sendRaw(rawCodes, codeLen, 38);
  //irsend.sendRaw(Signal_erod1_2, sizeof(Signal_erod1_2)/sizeof(int), 38);
  irsend.sendRaw(Signal_Pana1_0, sizeof(Signal_Pana1_0)/sizeof(int), 38);
  Serial.println("Sent raw");
  
}

int lastButtonState;

void loop() {
  // If button pressed, send the code.
  int buttonState = digitalRead(BUTTON_PIN);
  if (lastButtonState == HIGH && buttonState == LOW) {
    Serial.println("Released");
    irrecv.enableIRIn(); // Re-enable receiver
  }

  if (buttonState) {
    Serial.println("Pressed, sending");
    digitalWrite(STATUS_PIN, HIGH);
    sendCode(lastButtonState == buttonState);
    digitalWrite(STATUS_PIN, LOW);
    delay(50); // Wait a bit between retransmissions
  } 
  else if (irrecv.decode(&results)) {
    digitalWrite(STATUS_PIN, HIGH);
    storeCode(&results);
    irrecv.resume(); // resume receiver
    digitalWrite(STATUS_PIN, LOW);
  }
  
  lastButtonState = buttonState;
  
}