suxsem / symaxrx Goto Github PK
View Code? Open in Web Editor NEWArduino library for receiving commands from syma quadcopters' remotes
License: MIT License
Arduino library for receiving commands from syma quadcopters' remotes
License: MIT License
if i disable incrementChannel in symax_protocol.cpp at line 80 , The TX Works with Arduino and never cuts. Else it cuts after sending 2 frames of data.
You should have a variable to set this in the example file.
I used Syma x5-C Blue Led Remote.
Hello,
Thanks for this share code.
In your prototype, i see a red Led.
Which arduino pin drive this Led ?
Thanks
I am also having this same issue, it does not look like Bluse7en had ever solved his version, but mine is the exact same thing. Once the code has been uploaded to the Pro Mini, the Com output does not show the transmitter binding. I am using Suxsem's version of the code but its almost exactly the same. It shows not bound initially and once the transmitter is switched on, it changes to Bind In Progress but thats it. Moving the throttle does nothing. I have been trying to get this to work now for about 5 days and am out of ideas. Any help would be very much appreciated.
-Thank You so much!
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?
hi !
i am having a problem binding with syma x5c-1 blue led
when code starts serial monitor shows no bound after when i turn on the transmitter it gets not bound TO BOND IN PROGRESS
and stucks at this point even if i turn of my transmitter but no luck ,looking for a possible solution
all of my connections of NRF24L01
C:\Users\YSkor\Documents\Arduino\libraries\symaxrx-master\symax_protocol.cpp:258:44: error: 'START_CHANS_3' was not declared in this scope
mRFChanBufs[i] = pgm_read_byte(START_CHANS_3 + i) + (laddress & 0x07);
^
exit status 1
Error compiling for board WAVGAT UNO R3.
serial monitor constantly returns "not bound" (code is the example but without the servo)
#include <SPI.h>
#include <symax_protocol.h>
#include <nrf24l01p.h>
/* symax_rx.ino -- An arduino sketch to test the protocol symax
*
*/
//#include <Servo.h>
//Servo myservo; // create servo object to control a servo
nrf24l01p wireless;
symaxProtocol protocol;
unsigned long time = 0;
void setup() {
Serial.begin(115200);
//myservo.attach(8); // attaches the servo on pin 8 to the servo object
// 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);
//RF24 radio(10, 9);
// Set power (PWRLOW,PWRMEDIUM,PWRHIGH,PWRMAX)
wireless.setPwr(PWRMEDIUM);
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;
//myservo.write(map(rxValues.roll, -127, 127, 0, 180)); // tell servo to go to position
break;
case BOUND_NO_VALUES:
//Serial.print(newTime - time); Serial.println(" : ----");
break;
default:
break;
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.