intel-aero / meta-intel-aero

Yocto layer to support Intel Aero platform
https://github.com/intel-aero/meta-intel-aero
GNU General Public License v2.0
218 stars 119 forks source link

How to connect intel aero fc with another telem #296

Closed Huibean closed 6 years ago

Huibean commented 6 years ago

Currently I need to connect aero fc with another telem port, because it was using another protocol not mavlink. I check the docs that telem port is connect to fc's uart5 wechatimg3874 img_2027 i set this port protocol to Mavlink by QgroundControl and connect to this port by usb to part with my mac, but i found that is not mavlink output. So, how can i connect intel aero fc with another telem? I need to keep tty/S1 connection with mavlink

sugnanprabhu commented 6 years ago

@Huibean can you share the output of get_aero_version.py

sugnanprabhu commented 6 years ago

Using v1.6 release, I'm able to connect to QGC using UART to ttl converter. QGC detects automatically on Ubuntu on Windows you need to use buad rate 57600.

Following is the current order of telemetry pins. 1 - VCC +5V 2 - Telemetry TX 3 - Telemetry RX 4 - I2C CLK 5 - I2C SDA 6 - GND

Huibean commented 6 years ago

@sugnanprabhu It's wired since I change os to ubuntu 16, fc version are unknow, but it did flash adrupilot firmware successfully at the first time

huibean@huibean-CherryTrail:/etc/aerofc/ardupilot$ sudo aero-get-version.py

BIOS_VERSION = Aero-01.00.13
OS_VERSION = Ubuntu 16.04.3 LTS"
AIRMAP_VERSION = unknown
FPGA_VERSION = 0xc2
AeroFC firmware version = unknown

huibean@huibean-CherryTrail:/etc/aerofc/ardupilot$ uname -a
Linux huibean-CherryTrail 4.4.76-aero-1.2 #1 SMP PREEMPT Thu Nov 9 21:20:17 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

then I try to refresh the fc firmware, not success

huibean@huibean-CherryTrail:/etc/aerofc/ardupilot$ sudo aerofc-update.sh arducopter-aerofc-v1.px4

BIOS_VERSION = Aero-01.00.13
OS_VERSION = Ubuntu 16.04.3 LTS"
AIRMAP_VERSION = unknown
FPGA_VERSION = 0xc2
AeroFC firmware version = unknown

/dev/ttyS1:
Updating firmware on AeroFC
==========================================================================================================
WARNING: You should uninstall ModemManager as it conflicts with any non-modem serial device (like Pixhawk)
==========================================================================================================
Loaded firmware for 41,0, size: 846692 bytes, waiting for the bootloader...
If the board does not respond within 1-2 seconds, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=460800...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=921600...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=1500000...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=115200...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=460800...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=921600...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=1500000...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=115200...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=460800...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=921600...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=1500000...
If the board does not respond, unplug and re-plug the USB connector.
Attempting reboot on /dev/ttyS1 with baudrate=115200...
If the board does not respond, unplug and re-plug the USB connector.

Using aerofc-force-bootloader-pin.py introduced in docs shows command not found

huibean@huibean-CherryTrail:/etc/aerofc/ardupilot$ sudo aerofc-force-bootloader-pin.py 1
sudo: aerofc-force-bootloader-pin.py: command not found
sugnanprabhu commented 6 years ago

You can try copying the script from the following location.

https://github.com/intel-aero/meta-intel-aero-base/blob/master/recipes-support/scripts/files/aerofc-force-bootloader-pin.py

Huibean commented 6 years ago

@sugnanprabhu I have used the way you mentioned above, it works. But after flashing fc successfully, I still get no mavlink msg output from the telem port, it is my aero version wrong?I did follow the newest Ubuntu* installation from wiki

huibean@huibean-CherryTrail:~$ sudo aero-get-version.py
BIOS_VERSION = Aero-01.00.13
OS_VERSION = Ubuntu 16.04.3 LTS"
AIRMAP_VERSION = unknown
FPGA_VERSION = 0xc2
AeroFC firmware version = unknown

here is my config in fc wechatimg3887

Huibean commented 6 years ago

I have used the same way to test with pixhawk1, it works fine

sugnanprabhu commented 6 years ago

@Huibean Getting AeroFC firmware has some know issue on Ubuntu, which might be fixed in the next release.

I tried telem2 on both on Ubuntu and Yocto. On Ubuntu, I also tried with ardupilot firmware and I do not see any issue. It works on both QGC and Mission planner.

I do not see any issue with the BIOS version and the FPGA version that you are using, try checking the FC firmware version you have loaded in QGC. ubuntu_telem2

Huibean commented 6 years ago

@sugnanprabhu I am using apm copter 3.5.3 wechatimg49

sugnanprabhu commented 6 years ago

I'm using same version and I do not see any issue.

I would suggest try flashing the px4 firmware reset all the parameters in QGC and reflash the px4 firmware to recover the default parameters for the px4 aeroFC.

If it still doesn't work try connecting to nsh over the mavlink_shell and check mavlink status, this should show if the instance is running for the telem2 port.

nsh> mavlink status instance #0: GCS heartbeat: 358895 us ago mavlink chan: #0 type: GENERIC LINK OR RADIO flow control: ON rates: tx: 5.768 kB/s txerr: 0.488 kB/s rx: 0.017 kB/s rate mult: 0.644 accepting commands: YES MAVLink version: 1 transport protocol: serial (/dev/ttyS3 @57600)

instance #1: GCS heartbeat: 741747 us ago mavlink chan: #1 type: GENERIC LINK OR RADIO flow control: ON rates: tx: 62.726 kB/s txerr: 0.000 kB/s rx: 0.060 kB/s rate mult: 1.000 ULog rate: 53.3% of max 70.0% accepting commands: YES MAVLink version: 2 transport protocol: serial (/dev/ttyS1 @921600)

Huibean commented 6 years ago

@sugnanprabhu thanks ! it works now, also with ardupilot. By the way I made some mistake before, this telem is mapping with serial5 and it suppose not support telem radio wechatimg50