This message can be requested by sending the MAV_CMD_GET_HOME_POSITION
                command. The position the system will return to and
                land on. The position is set automatically by the
                system during the takeoff in case it was not
                explicitely set by the operator before or after. The
                position the system will return to and land on. The
                global and local positions encode the position in the
                respective coordinate frames, while the q parameter
                encodes the orientation of the surface. Under normal
                conditions it describes the heading and terrain slope,
                which can be used by the aircraft to adjust the
                approach. The approach 3D vector describes the point
                to which the system should fly in normal flight mode
                and then perform a landing sequence along the vector.

                latitude                  : Latitude (WGS84), in degrees * 1E7 (int32_t)
                longitude                 : Longitude (WGS84, in degrees * 1E7 (int32_t)
                altitude                  : Altitude (AMSL), in meters * 1000 (positive for up) (int32_t)
                x                         : Local X position of this position in the local coordinate frame (float)
                y                         : Local Y position of this position in the local coordinate frame (float)
                z                         : Local Z position of this position in the local coordinate frame (float)
                q                         : World to surface normal and heading transformation of the takeoff position. Used to indicate the heading and slope of the ground (float)
                approach_x                : Local X position of the end of the approach vector. Multicopters should set this position based on their takeoff path. Grass-landing fixed wing aircraft should set it the same way as multicopters. Runway-landing fixed wing aircraft should set it to the opposite direction of the takeoff, assuming the takeoff happened from the threshold / touchdown zone. (float)
                approach_y                : Local Y position of the end of the approach vector. Multicopters should set this position based on their takeoff path. Grass-landing fixed wing aircraft should set it the same way as multicopters. Runway-landing fixed wing aircraft should set it to the opposite direction of the takeoff, assuming the takeoff happened from the threshold / touchdown zone. (float)
                approach_z                : Local Z position of the end of the approach vector. Multicopters should set this position based on their takeoff path. Grass-landing fixed wing aircraft should set it the same way as multicopters. Runway-landing fixed wing aircraft should set it to the opposite direction of the takeoff, assuming the takeoff happened from the threshold / touchdown zone. (float)

def home_position_encode(self, latitude, longitude, altitude, x, y, z, q, approach_x, approach_y, approach_z):
                '''
                This message can be requested by sending the MAV_CMD_GET_HOME_POSITION
                command. The position the system will return to and
                land on. The position is set automatically by the
                system during the takeoff in case it was not
                explicitely set by the operator before or after. The
                position the system will return to and land on. The
                global and local positions encode the position in the
                respective coordinate frames, while the q parameter
                encodes the orientation of the surface. Under normal
                conditions it describes the heading and terrain slope,
                which can be used by the aircraft to adjust the
                approach. The approach 3D vector describes the point
                to which the system should fly in normal flight mode
                and then perform a landing sequence along the vector.

                latitude                  : Latitude (WGS84), in degrees * 1E7 (int32_t)
                longitude                 : Longitude (WGS84, in degrees * 1E7 (int32_t)
                altitude                  : Altitude (AMSL), in meters * 1000 (positive for up) (int32_t)
                x                         : Local X position of this position in the local coordinate frame (float)
                y                         : Local Y position of this position in the local coordinate frame (float)
                z                         : Local Z position of this position in the local coordinate frame (float)
                q                         : World to surface normal and heading transformation of the takeoff position. Used to indicate the heading and slope of the ground (float)
                approach_x                : Local X position of the end of the approach vector. Multicopters should set this position based on their takeoff path. Grass-landing fixed wing aircraft should set it the same way as multicopters. Runway-landing fixed wing aircraft should set it to the opposite direction of the takeoff, assuming the takeoff happened from the threshold / touchdown zone. (float)
                approach_y                : Local Y position of the end of the approach vector. Multicopters should set this position based on their takeoff path. Grass-landing fixed wing aircraft should set it the same way as multicopters. Runway-landing fixed wing aircraft should set it to the opposite direction of the takeoff, assuming the takeoff happened from the threshold / touchdown zone. (float)
                approach_z                : Local Z position of the end of the approach vector. Multicopters should set this position based on their takeoff path. Grass-landing fixed wing aircraft should set it the same way as multicopters. Runway-landing fixed wing aircraft should set it to the opposite direction of the takeoff, assuming the takeoff happened from the threshold / touchdown zone. (float)

                '''
                return MAVLink_home_position_message(latitude, longitude, altitude, x, y, z, q, approach_x, approach_y, approach_z)