# FAQ

### 1. What could be the cause of no movement in the rendering after the flight controller takes off?

* First, check whether the flight controller has started properly. If it is not functioning correctly, restart the flight controller and perform the test again.
* You need to check the settings interface to ensure that the WSL IP address is correctly configured.
* If it's not working properly, directly check if the IP address in the file *`"/root/autopilot/Tools/jsbsim_bridge/configs/udp.xml"`* of the WSL is correct. Note that the IP address should not be 127.0.0.1.
* If it still doesn't work properly, use the network interface debugging tool to check if port 9999 can receive messages normally. If the port is occupied, you may need to restart the computer.

### 2. What could be the reasons for QGroundControl not being able to connect to the flight controller?

* First, check whether the flight controller has started properly. If it is not functioning correctly, restart the flight controller and perform the test again.
* You need to check the settings interface to ensure that the QGC  IP address is correctly configured.
* If it's not working properly, directly check if the IP address in the file *`"/root/autopilot/build/px4_sitl_rtps/etc/init.d-posix/px4-rc.mavlink"`* Check the IP address related to QGC set in the file is correct. Note that the IP address should not be 127.0.0.1.
* If it still doesn't work properly, use the network interface debugging tool to check if there is data on port 4560+ID (starting from 0).

### 3. Can I use my own flight control software to complete the testing and development？

Of course! To make it easier for users, we provide a relatively mature PX4 software-in-the-loop simulation flight control. However, we have also reserved data interfaces. You just need to send the data in a specified format structure via UDP protocol to port 9999 on the Windows side to enable interaction and complete the flight simulation. Our data interface has been tested across various versions and can be easily integrated and developed.

The structure is as follows:

```cpp
#pragma pack(1) 
struct JSB_DATA {
  uint16_t head = 0x55aa;
  int fn = 0;
  int id;
  // Position
  int64_t lat;
  int64_t lon;
  float alt;
  // Velocity
  float u_vel;
  float v_vel;
  float w_vel;
  float xacc;
  float yacc;
  float zacc;
  float n_vel;
  float e_vel;
  float d_vel;
  float ind_airspeed;
  float true_airspeed;
  // Attitude
  float pitch;
  float yaw;
  float roll;
  float pitchspeed;
  float yawspeed;
  float rollspeed;
  // Control
  float elevator;
  float aileron;
  float rudder;
  float throttle;
  //校验和
  uint8_t check_sum;
};
#pragma pack() 
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bit-sigma.gitbook.io/tutorials-for-sigma-free/sigma-free-introduction/installation-guide/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
