I’m pretty new to this platform so this could be a silly question but I’m just going through some of the setup and getting started guides for the Skynode X and PX4 FMU and I’ve been having an issue with flashing new software to the FMU using ‘make auterion_fmu-v6s upload_skynode_usb’.
The issue:
After flashing any software to the FMU through Skynode X I cannot connect to the Mavlink shell from the Mission Computer (MC) to Flight Management Unit (PX4) using mavlink_shell.py udp:127.0.0.1:14551. When I revert it back to the original code using ./Tools/auterion/upload_skynode.sh --revert I can then connect to the MavLink Shell. Any ideas?
P.S the main goal for working at such a low level is to get the CANBus data from the FMU to the MC and then send email / log to the cloud the CANBus Data automatically for testing / debugging
Hi thanks for the reply. So, I’m running a Skynode X by itself, which has the mission computer (MC) and Flight Management Unit (FMU (PX4)). Since this is all inside the Skynode X I cannot perform the normal PX4 flashing and testing since I don’t have direct access to the PX4. So instead, I’m following this guide Building and Flashing PX4 Firmware | Auterion Documentation, which explains that the MC talks with the PX4 over UART and ETH. You can talk to the FMU from the MC using MAVLink Shell | PX4 Guide (main) and from the First Application Tutorial (Hello Sky) | PX4 Guide (main), you can use the MavLink shell to run custom application code. I have cloned the PX4 Autopilot repository and tried flashing the unmodified code using the flashing guide above with and without the Hello Sky application. But after flashing, I can no longer access the FMU using the MavLink and therefore can’t run / test the 'hello sky’ application.
The end goal is to get the FMU to receive CAN messages, do some processing of messages, package them and send them over the ETH connection to the MC which can do stuff with CAN message. As shown below:
| FMU | | MC |
CAN → | CAN -> ETH Message| ---ETH--->|ETH -> CAN | (do stuff with can message)
Obviously, the end goal is what i’ll figure out but just need to get started with an application on the FMU
What firmware did you try to flash?
Note that if you flash a wrong one, you will not be able to access the fmu, as it is not connected to the usb directly…
where I have used the boardconfig to enable the px4_simple_app which just prints to the terminal. From the Skynode X datasheet is states that for the FMU autopilot architecture is FMUv6X.
Once I have done that, I ssh into the auterion mission controller and run
mavlink_shell.py udp:127.0.0.1:14551
Previously this would open the nsh> console but now it just gets stuck on
I have solved the problem. It was embarrassingly stupid. Part 1.) was that my terminal sometimes didn’t update until I pressed enter a few times. So therefore, on the factory firmware it was actually connecting EVERY SINGLE TIME, but I didn’t realise until I pressed a few buttons. This resulted in the Part 2.) error which was using the wrong makefile target because I have previously thought it didn’t work due to the part 1 error.
Solution:
make auterion_fmu-v6x upload_skynode_usb
NOT
make px4_fmu-v6x upload_skynode_usb
and make sure to spam the terminal a few times just to be sure.