Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not bind #1

Open
obiwanzamora opened this issue Jan 5, 2017 · 8 comments
Open

Does not bind #1

obiwanzamora opened this issue Jan 5, 2017 · 8 comments

Comments

@obiwanzamora
Copy link

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?

@matrix31415
Copy link

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
Copy link

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

@Maraecek
Copy link

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?

@Lenni
Copy link

Lenni commented Jul 26, 2017

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

@meelisd
Copy link

meelisd commented Aug 16, 2017

Check out #3 for a possible solution.

@djureko
Copy link

djureko commented Oct 8, 2017

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

@Daxel90
Copy link

Daxel90 commented Jul 13, 2018

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 :)

@iesfausti
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants