symaxrx icon indicating copy to clipboard operation
symaxrx copied to clipboard

Does not bind

Open obiwanzamora opened this issue 8 years ago • 8 comments

Thanks for uploading the library, I am trying to get it working but when I run the code I can't get past Bind in progress.

I am using almost the exact sample code you posted, nothing else is connected to the Arduino. Pins connected as follows:

SCK -> 13
MO -> 11
MI -> 12
CSN -> 9
CE -> 10

Code:

#include <SPI.h>
#include <symax_protocol.h>

nrf24l01p wireless; 
symaxProtocol protocol;

unsigned long time = 0;

void setup() {

  Serial.begin(115200);

  // SS pin must be set as output to set SPI to master !
  pinMode(SS, OUTPUT);

  // Set CE pin to 10 and CS pin to 9
  wireless.setPins(10,9);
  
  // Set power (PWRLOW,PWRMEDIUM,PWRHIGH,PWRMAX)
  wireless.setPwr(PWRLOW);
  
  protocol.init(&wireless);
  
  time = micros();
  Serial.println("Start");
  
}

rx_values_t rxValues;

unsigned long newTime;

void loop() 
{
  time = micros();
  uint8_t value = protocol.run(&rxValues); 
  newTime = micros();
   
  switch( value )
  {
    case  NOT_BOUND:
        Serial.println("Not bound");
    break;

    case  BIND_IN_PROGRESS:
        Serial.println("Bind in progress");
    break;
    
    case BOUND_NEW_VALUES:
      Serial.print(newTime - time);
      Serial.print(" :\t");Serial.print(rxValues.throttle);
      Serial.print("\t"); Serial.print(rxValues.yaw);
      Serial.print("\t"); Serial.print(rxValues.pitch);
      Serial.print("\t"); Serial.print(rxValues.roll);
      Serial.print("\t"); Serial.print(rxValues.trim_yaw);
      Serial.print("\t"); Serial.print(rxValues.trim_pitch);
      Serial.print("\t"); Serial.print(rxValues.trim_roll);
      Serial.print("\t"); Serial.print(rxValues.video);
      Serial.print("\t"); Serial.print(rxValues.picture);
      Serial.print("\t"); Serial.print(rxValues.highspeed);
      Serial.print("\t"); Serial.println(rxValues.flip);
      //time = newTime;

      //do stuff
      
    break;

    case BOUND_NO_VALUES:
      //Serial.print(newTime - time); Serial.println(" : ----");
    break;

    default:
    break;

  }  
}

It starts up reporting Not bound, I turn on my Syma X5HW-1 controller (blue LED flashing), move the stick all the way up and down (blue LED solid). Serial output then changes to Bind in progress but it never manages to bind. Any idea what is going wrong?

obiwanzamora avatar Jan 05 '17 20:01 obiwanzamora

Hi, I am also having this very same issue, any luck on fixing it? I just finished putting everything together tonight and can not get past the "BIND IN PROGRESS" text coming from the COM window... Please let me know if you have fixed this. I am going to try to get ahold of the programmer.

matrix31415 avatar Feb 22 '17 02:02 matrix31415

Here is a video of the problem: https://www.youtube.com/watch?v=DsRIDRRwq98

matrix31415 avatar Feb 22 '17 20:02 matrix31415

Hello. I have a transmitter SYMA X5c-1 Green light. https://s29.postimg.org/kcry2n54n/IMG_20170405_084639.jpg It does not work. Writes Not bound. Why?

Maraecek avatar Apr 11 '17 06:04 Maraecek

@matrix31415 On your Youtube Video you mentioned a fix. Can you share it with us?

Lenni avatar Jul 26 '17 15:07 Lenni

Check out #3 for a possible solution.

meelisd avatar Aug 16 '17 19:08 meelisd

Hi, I can't get past Bind in progress. can you help me please ?

djureko avatar Oct 08 '17 23:10 djureko

In my case (Syma X5C Green light) after binding, received 2 lines of data and it disconnect. I fixed the problem editing "symax_protocol.cpp" removing all lines "incrementChannel = true;" from the code :)

I hope can help someone :)

Daxel90 avatar Jul 13 '18 20:07 Daxel90

I bind (not always but often) but only worked 1 frame, I tried remove "incrementChannel = true", no luck but in syma_protocol.cpp line 143 if((newTime - mLastSignalTime) > 256/) //TODO it's 128? <- not for me... I changed from 128 to 256 randomly and success... hope helping.

iesfausti avatar Dec 30 '18 10:12 iesfausti