Hello all

Here at Airborne Projects we have been hard at work with new ways to bring MAVLink telemetry to the ground without extra parts. Specifically we are working on an Antenna Tracker that needs information about the whereabouts of the Drone, but this is for another post.

Because of our needs for wireless DRONE position information without the extra radio link we have developed a module that connects to the external module compartment of the Taranis Plus and retrieves the Frsky telemetry our Airborne Projects converter sends to the ground through the SmartPort protocol. This module transmits through Bluetooth the MAVLink data and in the video below you can see this working with DroidPlanner application in Android.

This converter is receive only, as the SmartPort as far as we know does not allow for sending.

We are able to reconstruct many messages from the information our converter sends to the ground, but even so we have been testing sending extra information through unmarked sensor IDs. This is going to be available with a free of charge firmware update to our customers.

Below is the data MAVLink data which is populated by our telemetry module:

mavlink_msg_heartbeat_pack(1, 1, &message, mavlink.mav_type, 3,
        mavlink.base_mode, mavlink.custom_mode, mavlink.system_status);
    uint16_t message_len = mavlink_msg_to_send_buffer(buffer, &message);
    Serial.write(buffer, message_len);

    mavlink_msg_sys_status_pack(1, 1, &message, ~0, ~0, ~0, 0, mavlink.battery_voltage,
        mavlink.battery_current, mavlink.battery_remaining, 0, 0, 0, 0, 0, 0);
    message_len = mavlink_msg_to_send_buffer(buffer, &message);
    Serial.write(buffer, message_len);

    mavlink_msg_gps_raw_int_pack(1, 1, &message, 0, mavlink.gps_fixtype,
        mavlink.gps_latitude, mavlink.gps_longitude, mavlink.gps_altitude,
        mavlink.gps_hdop, 0, mavlink.gps_speed, 0, mavlink.gps_satellites_visible);
    message_len = mavlink_msg_to_send_buffer(buffer, &message);
    Serial.write(buffer, message_len);

    mavlink_msg_global_position_int_pack(1, 1, &message, 0,
        mavlink.gps_latitude, mavlink.gps_longitude, mavlink.gps_altitude,
        0, 0, 0, 0, mavlink.heading * 100);
    message_len = mavlink_msg_to_send_buffer(buffer, &message);
    Serial.write(buffer, message_len);

    mavlink_msg_attitude_pack(1, 1, &message,
        millis(), mavlink.roll * 3.14 / 180.0, mavlink.pitch * 3.14 / 180.0,
        mavlink.heading * 3.14 / 180.0, 0, 0, 0);
    message_len = mavlink_msg_to_send_buffer(buffer, &message);
    Serial.write(buffer, message_len);

    mavlink_msg_vfr_hud_pack(1, 1, &message, 0.0, mavlink.groundspeed,
        mavlink.heading, 0, mavlink.bar_altitude, mavlink.climb_rate);
    message_len = mavlink_msg_to_send_buffer(buffer, &message);
    Serial.write(buffer, message_len);

Lets us know what you think, or any suggestions.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Activity