Shop OBEX P1 Docs P2 Docs Learn Events
ELEV8 XBee Link Issue — Parallax Forums

ELEV8 XBee Link Issue

geo_leemangeo_leeman Posts: 190
edited 2016-08-05 16:12 in Robotics
Hi all,

I'm working on getting telemetry from my ELEV8 v3 going and running into a strange issue. I've set the baud rates on each radio to 57600 (I double checked it after having this issue by plugging each unit back into the computer and reading its settings). With the ground side radio unplugged the ground software says "No FTDI device" as one would expect. When I plug in the radio, it changes to say no flight controller is found, which is fine. I then power up the quad and it never binds. The LEDs for serial activity are blinking on both the flight controller and the USB radio board. I also tried on the Mac ground station software with no luck. If I plug the flight controller directly everything works great.

I hooked up a little spectrum analyzer and can see lots of peaks during transmit time (serial lights active), so something is happening, but the binding just isn't working. Any ideas on next steps?

Specs:
- Using the Parallax telemetry kit
- Windows 10
- Ground Station 1.0.2

2736 x 1824 - 217K
«1

Comments

  • Miguel RodriguezMiguel Rodriguez Posts: 24
    edited 2016-08-01 18:37
    When you set the baud rate to 57600, did you make sure to save the setting by clicking on the pencil icon to the right? I believe you do mention that in your post but just want to make sure.

    At any point did you power up the quadcopter with the Xbee inserted in the flight controller and with the RPSMA connector attached?

    Check the orientation of the Xbee and make sure the connector is facing away from the board. I know this one is a no brainier but crazier things have happened.

    Check that both XBee are on the same channel, PAN ID.

  • Also try going to GitHub and downloading the latest version of the Groundstation software. When you click on this link find the the folder named "Release Test" and download the latest version of Groundstation. This newer version should fix issues with serial communication.

    https://github.com/parallaxinc/Flight-Controller

    Best Regards,
    Miguel Rodriguez
    Parallax Inc. Tech Support
  • Right - I did make sure that the radios were indeed programmed by re-reading the settings back. It was not ever powered up without an antenna and is in the right way around :)

    I think I may have narrowed the issue a bit though. I connected to the ground side XBee with a serial terminal and when I typed characters saw the serials LEDs blink on both the ground side radio and flight controller. Maybe that's pointing towards a software issue? If you know the commands the ground software is sending I can send them manually and see if I get a response. I've tried with the most recent GCS on Windows 10 and Mac OS X 10.11.6
  • I have had similar issues lately. I have been trying to recreate them in a pattern that others can recreate, but that has not happened.

    One thing that did connect the Quad to the Ground Station, was to go "Help", "About", "OK", then it magically connected. Other times, I could wait a minute, and the two XBEE's would connect.

    I have tried all scenarios, start Ground Station first, power XBEE's first, you name it.

    I thought it was just my setup. Sometime my PC side XBEE would come up with "Device Not Installed Correctly" when I plugged it into the same computer that I just ran XTCU on.

    Going to look for new drivers at DIGI.
  • Almost bricked an XBEE. It errored in the middle of a Firmware Update. Upgraded to Ver. 8074. Did not seem to make a difference.

    The best Ground Station software, (will connect immediately), is 1.0.3 found here:

    https://github.com/parallaxinc/Flight-Controller/releases

    The versions on that site do not match the current versions, as I was told they went to a new revision numbering system. IMHO that needs to be straightened out.


  • Thanks for the tips Publison. I tried running 1.0.3 (which says 1.0.2 in the about... oops!) and the help>about trick to no avail. FWIW I'm running on Windows 10 on a low-end Surface Pro.
  • Yea, the versions are out of sync. I'm running on Win 7 Pro. I'll load Ground Station on my WIN 10 Laptop. I might have already run it from there, but I will check later.

  • Our apologies about the version numbering; we are switching numbering conventions, which has led to some short-term confusion. Due to other improvements to preference file configurations, using mismatched versions may cause issues. Going forward after v1.1.0, there will a greater level of forward and backward compatibility.

    Trying to list out which historical versions of Firmware work with which versions of Software gets very messy since version numbering was (admittedly) a little haphazardly done in the first few releases.
    I strongly recommend downloading the beta release of v1.1.0 here. The version numbers should be correct everywhere except the elev8-main.cpp file. That was fixed here, and while it hasn't been compiled into a release yet, you can download and use the most recent version of elev8-main.cpp here.

    Firmware v1.1.0 should only be used with GroundStation v1.1.0, and vice-versa.

    I am using the aforementioned beta version of Firmware v1.1.0 / GroundStation v1.1.0 on Windows 10, and have not had any issues with xBee communication with that setup. I did have issues a few months ago (with previous firmware/software versions), but unfortunately I don't know what caused/fixed that issue.

    Please let us know if you are still having the xBee issue after upgrading both your Firmware and GroundStation.
  • Hey Kyle,

    I did the firmware and GroundStation upgrades. I recalibrated for my controller, etc. When the ELEV8 is directly connected to the PC, I indeed see confirmation that firmware and GCS 1.1.0 are running. I used the most recent elev8-main.cpp file in the build and upload. Unfortunately then radios are still not connecting. The blue ASSOC LED next to the ZigBee on the flight controller is flashing.

    When I plug the radio into the computer, the Tx/Rx LEDS on both the flight controller and the ground side radio are flashing.

  • Had a heck of a time to link the PC XBEE to GroundStation in WIN10.

    FTDI was reporting a good connection on COM4. GroundStation would not see it. I reset everything on the WIN10 computer to the downloads from the ELEV-3 website. Still no joy.

    I finally reset the FTDI COM Port to 10. and the GroundStation found it. Applied battery power on the ELEV8, and the GroundStation now sees it.

    I'm running GS 1.1.0 and Firmware 1.1.0.

    Go into your device manage and check the com port number. If it is a low number, (1-4), try resetting to COM10 57000 Baud.
  • Another interesting tidbit. I connectected the ELEV8 directly to the WIN10 laptop, and it picked COM4 again for COM port. Would not connect. Changed to COM11, and bingo! GroundStation does not like low number COM Ports.

  • Kyle M.Kyle M. Posts: 112
    edited 2016-08-05 20:20
    @geo_leeman, it appears you've found a bug!
    Thanks for trying my previous suggestions of updating the firmware and GroundStation, that helped to eliminate many possible causes.
    After a few hours of experimentation, I think I've found the problem, but @Publison pretty much beat me to it.
    I've written up a workaround procedure that can be used until we publish a fix. I sincerely apologize for the inconvenience, and please let us know if you are still having trouble after trying the Workaround. I'm hoping it will fix your problem, but it is possible something else is also going on. @geo_leeman, you can skip the first step since you have already done it. I'll be submitting this as an issue in GitHub with more technical details, and will add a link to this post once available.


    Workaround for Parallax GroundStation XBee communication with ELEV-8
    Issue: Parallax GroundStation will not connect to the ELEV-8 900 MHz Telemetry Kit on a Windows computer, preventing any connection with the ELEV-8.
    Symptom: With XBee USB Adapter (with 900 MHz module & antenna) connected to computer, GroundStation displays "No Serial Devices Found" or "No ELEV-8 Found" in the lower left-hand corner of the window, and the blue LED to the right of the USB port on the XBee USB Adapter is not lit or flashing.
    Note: This will take approximately 10 minutes, and you will need administrator privileges on your computer.
    Prerequisites:
    1. Verify that you are running GroundStation v1.1.0 (beta) and Firmware v1.1.0 (beta) by looking at version numbers displayed at the bottom of the GroundStation window when your Flight Controller is connected to your computer via USB cable. If both version numbers are "1.1.0", skip to the next step, otherwise, keep reading for update instructions. First, Install GroundStation v1.1.0 beta, available here. Second, navigate to the folder where you just installed GroundStation and locate the firmware source code (default location is C:\Program Files (x86)\Parallax Inc\GroundStation\Sources\Firmware-C). Third, replace the elev8-main.cpp file with the latest version, which can be downloaded from this page by right-clicking on Raw and selecting Save As, and then saving it to the aforementioned directory on your computer. Finally, follow these instructions to load the firmware onto your Flight Controller.
    2. Make sure you have completed all the steps of the ELEV-8 v3 Wireless Telemetry via XBee tutorial, especially configuring the modules.
    Workaround:
    1. Connect your XBee USB adapter to your computer. Make sure no microcontrollers (including the Flight Controller) are connected to your computer, and that GroundStation, SimpleIDE, and all similar programs are closed.
    2. Open the Devices and Printers window. (Type "Devices and Printers" in your Windows search bar, and press Enter.
    3. Find the device labeled "Flight Controller A3" and right-click, then select Properties.
    4. Click on the Hardware tab.
    5. Select "USB Serial Port..."
    6. Click on Properties.
    7. Click on Change Settings. This is where you need administrator privileges.
    8. In the new "USB Serial Port(COM#) Properties" window, click on the Port Settings tab.
    9. Click on Advanced.
    10. In the new "Advanced Settings for COM#" window, click in the box to the right of COM Port Number, and select "COM10" in the drop-down menu. If COM10 is listed as in use, select the next unused port.
    11. Click OK to close the "Advanced Settings for COM#" window.
    12. Click OK to close the "USB Serial Port(COM#) Properties" window.
    13. Click OK to close the "Flight Controller A3 Properties" window. (it's ok if it still shows the old COM number)
    14. Close your "Devices and Printers' Window
    15. Open Parallax GroundStation (with your XBee connected). After a few seconds, the blue LED to the right of the USB port on the XBee USB Adapter should start to flash, and GroundStation should display "No ELEV-8 Found". Plug in a battery to power up your ELEV-8, and after a few seconds, a red LED next to each XBee should begin blinking rapidly, and GroundStation should display "Connected", and begin displaying live telemetry data!
  • Ok - I did change to COM10 (it was set to COM5) and confirmed that the baud rate was 57600/8/N/1. Unfortunately still no go. I doubt it makes a difference, but my device shows up as "FTX231X USB UART" in the Devices and Printers window, not "Flight Controller A3". I'm relatively sure it's not hardware, but am a bit stumped. Any commands I can try to send directly to see if I get a response and go around the ground station software?
  • I think Kyle made a mistake on the "Flight Controller A3". That's a DGI FC. What you found is correct.

    Are the Surface USB ports USB 3.0? If they have a USB 2.0, I would try that. I also upgraded the XBEE firmware to Ver. 8074 and ran on Toshiba Laptop with WIN 10 on both USB 2.0 and USB 3.0. Both ports ran fine.

    You may want to try and updated the driver when in Device Manager, and when all else fails, try another USB cable. I have been bitten before with cheap cables.

  • With older versions of GroundStation (up to 1.1.0) COM3 & COM4 were filtered out because they were historically hardware serial ports. Anything higher than that (including COM5) should work. The latest version (1.1.1) removes that filter if it detects the serial port is an FTDI device.

    The commands sent from GroundStation are generally 4-character ASCII commands, but the data sent back from the Elev8 isn't really human-readable (it's just binary packets). You can try typing the heartbeat command BEAT on the terminal. If you get a second or so of mostly gibberish it's probably working. The other command to try is Elv8 - you should get the same 4 chars back as a response.

    It's possible that on a Surface it takes longer to get the reply back. I don't wait for a huge amount of time when attempting to contact the Elev8, so if your XBee connection isn't great, or there's a bunch of RF noise around, it might take a while to get the response packet back, and maybe it's giving up too early. I can try changing the delays to see if it helps - PM me an email address and I'll see if I can post a version for you to try somewhere later tonight or tomorrow.

    Jason
  • Jason, thanks for the update! Good info.

    I know you are busy with other things right now.
  • @ Geo,
    Are you use a correct usb xbee adapter ?
    I bump into this problem some time ago.
    Wen started with telemetry I try to use an old xbee adaptor, and never get connections. While stand alone the xbee working, with elev8 not.


  • Ltech wrote: »
    @ Geo,
    Are you use a correct usb xbee adapter ?
    I bump into this problem some time ago.
    Wen started with telemetry I try to use an old xbee adaptor, and never get connections. While stand alone the xbee working, with elev8 not.

    Good call. In the original post he says he is using:
    Specs:
    - Using the Parallax telemetry kit
    - Windows 10
    - Ground Station 1.0.2

    I understand that as being:

    https://www.parallax.com/product/32480

    I do not know if the lower powered XBEE's would work.


  • geo_leemangeo_leeman Posts: 190
    edited 2016-08-08 23:11
    Ltech wrote: »
    @ Geo,
    Are you use a correct usb xbee adapter ?
    I bump into this problem some time ago.
    Wen started with telemetry I try to use an old xbee adaptor, and never get connections. While stand alone the xbee working, with elev8 not.

    Yes, I'm using the kit that @Publison linked.

    JasonDorie wrote: »
    The commands sent from GroundStation are generally 4-character ASCII commands, but the data sent back from the Elev8 isn't really human-readable (it's just binary packets). You can try typing the heartbeat command BEAT on the terminal. If you get a second or so of mostly gibberish it's probably working. The other command to try is Elv8 - you should get the same 4 chars back as a response.

    Jason. I did an experiment that may or may not help narrow things down. I connected the ground side XBee to a Mac laptop and just connected to it at 57600 with the app "CoolTerm". When I typed "BEAT" on the keyboard, I could see the blue receive LED on the flight controller that is right by the XBee light up. There was no response though. I'll PM you now on my contact info.
  • OK - Not there yet, but I think we are getting closer. Sadly V1.1.1 didn't help the issue (but the high resolution screen fix is great, thanks @JasonDorie!)

    Here's the troubleshooting I've done. I wrote up a simple Python snippet to send the BEAT command (on my Mac):
    import serial
    
    ser = serial.Serial('/dev/tty.usbserial-DN01J0R5', 57600)
    
    print("Sending BEAT")
    ser.write("BEAT")
    ser.flush()
    
    print("Reading back")
    print ser.read(300)
    ser.close()
    

    When I ran that, the red LED by the XBee on the quad stayed rapidly flashing for as long as I left it powered. The ground side XBee did nothing and I got nothing back. I then swapped the XBee modules and tried the same procedure, nothing happened. This seems to indicate that maybe one module is not transmitting? Any other ideas?
  • geo_leeman wrote: »
    OK - Not there yet, but I think we are getting closer. Sadly V1.1.1 didn't help the issue (but the high resolution screen fix is great, thanks @JasonDorie!)

    Here's the troubleshooting I've done. I wrote up a simple Python snippet to send the BEAT command (on my Mac):
    import serial
    
    ser = serial.Serial('/dev/tty.usbserial-DN01J0R5', 57600)
    
    print("Sending BEAT")
    ser.write("BEAT")
    ser.flush()
    
    print("Reading back")
    print ser.read(300)
    ser.close()
    

    When I ran that, the red LED by the XBee on the quad stayed rapidly flashing for as long as I left it powered. The ground side XBee did nothing and I got nothing back. I then swapped the XBee modules and tried the same procedure, nothing happened. This seems to indicate that maybe one module is not transmitting? Any other ideas?

    Could you share a screenshot of the new interface?



  • Publison wrote: »
    Could you share a screenshot of the new interface?

    What do you mean? I just ran the script from the terminal. It did print "Sending BEAT" and "Reading back", but nothing ever was received.
  • geo_leeman wrote: »
    Publison wrote: »
    Could you share a screenshot of the new interface?

    What do you mean? I just ran the script from the terminal. It did print "Sending BEAT" and "Reading back", but nothing ever was received.

    I just wanted to see the difference on the GS screen, even though the XBEE interface was not working.




  • I've changed it so that the fonts scale along with the overall interface, so regardless of size and monitor DPI everything is relatively consistent, and layout is automatically adjusted as you resize. I've attached a couple screenshots at normal size:

    I missed a couple controls (menu items and the numbers inside the gauges) but those will be included in the resizing scheme soon.

    As for the connectivity issues, it does seem strange. If you send 'Elv8' you should get exactly that back again - that's the echo response the GroundStation looks for to determine if there's a flight controller connected. The 'BEAT' command is the heartbeat I send from GroundStation once a second to tell the flight controller that there's someone listening - If it doesn't get an occasional 'BEAT' command it stops sending data. The response from the 'Elv8' command should be readable, but a decent amount of what comes from the quad for telemetry is binary data that won't be easy to read.

    Have you tried just opening up both units in the XBee software (connecting both via USB) and seeing if they'll talk to each other? (Do you have a 2nd XBee USB adapter?)
    874 x 614 - 89K
    874 x 614 - 41K
    874 x 614 - 38K
  • I am going to call @geo_leeman at 2 o'clock today to discuss what I see on a Win10 PC. I could Priority all my working parts to him to troubleshoot this. My gut feel, I think it's a hardware problem. My GS works fine on three Windows platforms, (I don't have a MAC).
  • @JasonDorie : I don't have a second adapter. Just got off the phone with @Publison and will try his hardware. One XBee is suspect given the change in behavior when swapping their roles. I'll update as soon as I try it.
  • Hardware on it's way. Should get it for the weekend.

  • Yay! I got the hardware from @Publison and plugged it into the flight controller/computer and things connected immediately. I started swapping my original XBee modules in and isolated that one of them is indeed faulty. The failure mode appears to be it will not transmit or bind. My USB carrier and one radio work fine with those I just received. I'm happy to send the dead unit in if XBee is interested in seeing the failure.

    Thank you a bunch for all of your help!
  • geo_leeman wrote: »
    Yay! I got the hardware from @Publison and plugged it into the flight controller/computer and things connected immediately. I started swapping my original XBee modules in and isolated that one of them is indeed faulty. The failure mode appears to be it will not transmit or bind. My USB carrier and one radio work fine with those I just received. I'm happy to send the dead unit in if XBee is interested in seeing the failure.

    Thank you a bunch for all of your help!

    That is good news! I'm sure Parallax will replace the bad one. I'd call tech support on Monday.


  • Excellent! Happy you got it figured out. (also happy when it's not my fault. :))
Sign In or Register to comment.