Mavlink Sync with APM
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2235 f9c3cf11-9bcb-44bc-f272-b75c42450872
This commit is contained in:
parent
2251db1b7c
commit
5c4bab3941
@ -43,9 +43,6 @@ version 2.1 of the License, or (at your option) any later version.
|
|||||||
#define MAVLINK_COMM_NUM_BUFFERS 2
|
#define MAVLINK_COMM_NUM_BUFFERS 2
|
||||||
#include <GCS_MAVLink.h> // MAVLink GCS definitions
|
#include <GCS_MAVLink.h> // MAVLink GCS definitions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Configuration
|
// Configuration
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
@ -75,10 +72,12 @@ FastSerialPort3(Serial3); // Telemetry port
|
|||||||
//
|
//
|
||||||
Parameters g;
|
Parameters g;
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// prototypes
|
// prototypes
|
||||||
void update_events(void);
|
void update_events(void);
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Sensors
|
// Sensors
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -175,6 +174,7 @@ GPS *g_gps;
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
#if GCS_PROTOCOL == GCS_PROTOCOL_MAVLINK
|
#if GCS_PROTOCOL == GCS_PROTOCOL_MAVLINK
|
||||||
|
//GCS_MAVLINK gcs(Parameters::k_param_streamrates_port3);
|
||||||
GCS_MAVLINK gcs(Parameters::k_param_streamrates_port3);
|
GCS_MAVLINK gcs(Parameters::k_param_streamrates_port3);
|
||||||
#else
|
#else
|
||||||
// If we are not using a GCS, we need a stub that does nothing.
|
// If we are not using a GCS, we need a stub that does nothing.
|
||||||
@ -300,7 +300,6 @@ float battery_voltage2 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1 +
|
|||||||
float battery_voltage3 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1 + 2+3, initialized above threshold for filter
|
float battery_voltage3 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1 + 2+3, initialized above threshold for filter
|
||||||
float battery_voltage4 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1 + 2+3 + 4, initialized above threshold for filter
|
float battery_voltage4 = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1 + 2+3 + 4, initialized above threshold for filter
|
||||||
|
|
||||||
float current_voltage = LOW_VOLTAGE * 1.05; // Battery Voltage of cells 1 + 2+3 + 4, initialized above threshold for filter
|
|
||||||
float current_amps;
|
float current_amps;
|
||||||
float current_total;
|
float current_total;
|
||||||
|
|
||||||
@ -411,10 +410,6 @@ float G_Dt = 0.02; // Integration time for the gyros (DCM algorithm)
|
|||||||
long perf_mon_timer;
|
long perf_mon_timer;
|
||||||
float imu_health; // Metric based on accel gain deweighting
|
float imu_health; // Metric based on accel gain deweighting
|
||||||
int G_Dt_max; // Max main loop cycle time in milliseconds
|
int G_Dt_max; // Max main loop cycle time in milliseconds
|
||||||
byte gyro_sat_count;
|
|
||||||
byte adc_constraints;
|
|
||||||
byte renorm_sqrt_count;
|
|
||||||
byte renorm_blowup_count;
|
|
||||||
int gps_fix_count;
|
int gps_fix_count;
|
||||||
byte gcs_messages_sent;
|
byte gcs_messages_sent;
|
||||||
|
|
||||||
@ -1284,4 +1279,5 @@ void tuning(){
|
|||||||
g.pitch_max.set(g.rc_6.control_in * 2); // 0 to 2000
|
g.pitch_max.set(g.rc_6.control_in * 2); // 0 to 2000
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
void send_text(uint8_t severity, const char *str) {}
|
void send_text(uint8_t severity, const char *str) {}
|
||||||
|
|
||||||
#define send_text_P(severity, msg) send_text(severity, msg)
|
#define send_text_P(severity, msg) send_text(severity, msg)
|
||||||
|
|
||||||
/// Send a text message with a PSTR()
|
/// Send a text message with a PSTR()
|
||||||
///
|
///
|
||||||
/// @param severity A value describing the importance of the message.
|
/// @param severity A value describing the importance of the message.
|
||||||
@ -196,6 +197,9 @@ private:
|
|||||||
AP_Int16 streamRateExtra1;
|
AP_Int16 streamRateExtra1;
|
||||||
AP_Int16 streamRateExtra2;
|
AP_Int16 streamRateExtra2;
|
||||||
AP_Int16 streamRateExtra3;
|
AP_Int16 streamRateExtra3;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif // GCS_PROTOCOL_MAVLINK
|
#endif // GCS_PROTOCOL_MAVLINK
|
||||||
|
|
||||||
|
@ -20,7 +20,9 @@ streamRatePosition (&_group, 4, 0, PSTR("POSITION")),
|
|||||||
streamRateExtra1 (&_group, 5, 0, PSTR("EXTRA1")),
|
streamRateExtra1 (&_group, 5, 0, PSTR("EXTRA1")),
|
||||||
streamRateExtra2 (&_group, 6, 0, PSTR("EXTRA2")),
|
streamRateExtra2 (&_group, 6, 0, PSTR("EXTRA2")),
|
||||||
streamRateExtra3 (&_group, 7, 0, PSTR("EXTRA3"))
|
streamRateExtra3 (&_group, 7, 0, PSTR("EXTRA3"))
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -49,6 +51,8 @@ GCS_MAVLINK::update(void)
|
|||||||
{
|
{
|
||||||
uint8_t c = comm_receive_ch(chan);
|
uint8_t c = comm_receive_ch(chan);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Try to get a new message
|
// Try to get a new message
|
||||||
if(mavlink_parse_char(chan, c, &msg, &status)) handleMessage(&msg);
|
if(mavlink_parse_char(chan, c, &msg, &status)) handleMessage(&msg);
|
||||||
}
|
}
|
||||||
@ -56,6 +60,11 @@ GCS_MAVLINK::update(void)
|
|||||||
// Update packet drops counter
|
// Update packet drops counter
|
||||||
packet_drops += status.packet_rx_drop_count;
|
packet_drops += status.packet_rx_drop_count;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// send out queued params/ waypoints
|
// send out queued params/ waypoints
|
||||||
_queued_send();
|
_queued_send();
|
||||||
|
|
||||||
@ -84,7 +93,7 @@ GCS_MAVLINK::data_stream_send(uint16_t freqMin, uint16_t freqMax)
|
|||||||
send_message(MSG_GPS_STATUS);
|
send_message(MSG_GPS_STATUS);
|
||||||
send_message(MSG_CURRENT_WAYPOINT);
|
send_message(MSG_CURRENT_WAYPOINT);
|
||||||
send_message(MSG_GPS_RAW); // TODO - remove this message after location message is working
|
send_message(MSG_GPS_RAW); // TODO - remove this message after location message is working
|
||||||
// send_message(MSG_NAV_CONTROLLER_OUTPUT);
|
send_message(MSG_NAV_CONTROLLER_OUTPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (freqLoopMatch(streamRatePosition,freqMin,freqMax)) {
|
if (freqLoopMatch(streamRatePosition,freqMin,freqMax)) {
|
||||||
@ -215,10 +224,12 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg)
|
|||||||
mavlink_action_t packet;
|
mavlink_action_t packet;
|
||||||
mavlink_msg_action_decode(msg, &packet);
|
mavlink_msg_action_decode(msg, &packet);
|
||||||
if (mavlink_check_target(packet.target,packet.target_component)) break;
|
if (mavlink_check_target(packet.target,packet.target_component)) break;
|
||||||
|
|
||||||
uint8_t result = 0;
|
uint8_t result = 0;
|
||||||
|
|
||||||
// do action
|
// do action
|
||||||
send_text_P(SEVERITY_LOW,PSTR("action received"));
|
send_text_P(SEVERITY_LOW,PSTR("action received: "));
|
||||||
|
//Serial.println(packet.action);
|
||||||
switch(packet.action){
|
switch(packet.action){
|
||||||
|
|
||||||
case MAV_ACTION_LAUNCH:
|
case MAV_ACTION_LAUNCH:
|
||||||
@ -317,11 +328,13 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg)
|
|||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
mavlink_msg_action_ack_send(
|
mavlink_msg_action_ack_send(
|
||||||
chan,
|
chan,
|
||||||
packet.action,
|
packet.action,
|
||||||
result
|
result
|
||||||
);
|
);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -332,7 +345,6 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg)
|
|||||||
// decode
|
// decode
|
||||||
mavlink_waypoint_request_list_t packet;
|
mavlink_waypoint_request_list_t packet;
|
||||||
mavlink_msg_waypoint_request_list_decode(msg, &packet);
|
mavlink_msg_waypoint_request_list_decode(msg, &packet);
|
||||||
|
|
||||||
if (mavlink_check_target(packet.target_system,packet.target_component))
|
if (mavlink_check_target(packet.target_system,packet.target_component))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -577,7 +589,6 @@ void GCS_MAVLINK::handleMessage(mavlink_message_t* msg)
|
|||||||
tell_command.options = 1;
|
tell_command.options = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case MAV_FRAME_GLOBAL_RELATIVE_ALT: // absolute lat/lng, relative altitude
|
case MAV_FRAME_GLOBAL_RELATIVE_ALT: // absolute lat/lng, relative altitude
|
||||||
{
|
{
|
||||||
tell_command.lat = 1.0e7*packet.x; // in as DD converted to * t7
|
tell_command.lat = 1.0e7*packet.x; // in as DD converted to * t7
|
||||||
@ -888,7 +899,6 @@ GCS_MAVLINK::_find_parameter(uint16_t index)
|
|||||||
void
|
void
|
||||||
GCS_MAVLINK::_queued_send()
|
GCS_MAVLINK::_queued_send()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Check to see if we are sending parameters
|
// Check to see if we are sending parameters
|
||||||
if (NULL != _queued_parameter && (requested_interface == chan) && mavdelay > 1) {
|
if (NULL != _queued_parameter && (requested_interface == chan) && mavdelay > 1) {
|
||||||
AP_Var *vp;
|
AP_Var *vp;
|
||||||
@ -915,9 +925,6 @@ GCS_MAVLINK::_queued_send()
|
|||||||
_queued_parameter_index++;
|
_queued_parameter_index++;
|
||||||
}
|
}
|
||||||
mavdelay = 0;
|
mavdelay = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is called at 50hz, count runs to prevent flooding serialport and delayed to allow eeprom write
|
// this is called at 50hz, count runs to prevent flooding serialport and delayed to allow eeprom write
|
||||||
@ -941,4 +948,3 @@ GCS_MAVLINK::_queued_send()
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -340,6 +340,8 @@ void Log_Write_Cmd(byte num, struct Location *wp)
|
|||||||
|
|
||||||
void Log_Write_Nav_Tuning()
|
void Log_Write_Nav_Tuning()
|
||||||
{
|
{
|
||||||
|
Matrix3f tempmat = dcm.get_dcm_matrix();
|
||||||
|
|
||||||
DataFlash.WriteByte(HEAD_BYTE1);
|
DataFlash.WriteByte(HEAD_BYTE1);
|
||||||
DataFlash.WriteByte(HEAD_BYTE2);
|
DataFlash.WriteByte(HEAD_BYTE2);
|
||||||
DataFlash.WriteByte(LOG_NAV_TUNING_MSG);
|
DataFlash.WriteByte(LOG_NAV_TUNING_MSG);
|
||||||
@ -359,35 +361,28 @@ void Log_Write_Nav_Tuning()
|
|||||||
DataFlash.WriteInt((int)next_WP.alt); // 11
|
DataFlash.WriteInt((int)next_WP.alt); // 11
|
||||||
DataFlash.WriteInt((int)altitude_error); // 12
|
DataFlash.WriteInt((int)altitude_error); // 12
|
||||||
|
|
||||||
|
DataFlash.WriteInt((int)(wrap_360(ToDeg(compass.heading)*100)/100)); // Just a temp hack
|
||||||
|
DataFlash.WriteLong(compass.last_update); // Just a temp hack
|
||||||
|
DataFlash.WriteInt((int)(tempmat.b.x*1000)); // Just a temp hack
|
||||||
|
DataFlash.WriteInt((int)(compass.heading_x*1000)); // Just a temp hack
|
||||||
|
DataFlash.WriteInt((int)(tempmat.a.x*1000)); // Just a temp hack
|
||||||
|
DataFlash.WriteInt((int)(compass.heading_y*1000)); // Just a temp hack
|
||||||
|
|
||||||
DataFlash.WriteByte(END_BYTE);
|
DataFlash.WriteByte(END_BYTE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
Matrix3f tempmat = dcm.get_dcm_matrix();
|
|
||||||
|
|
||||||
DataFlash.WriteInt((uint16_t)dcm.yaw_sensor);
|
|
||||||
DataFlash.WriteInt((int)wp_distance);
|
|
||||||
DataFlash.WriteInt((uint16_t)target_bearing);
|
|
||||||
DataFlash.WriteInt((uint16_t)nav_bearing);
|
|
||||||
DataFlash.WriteInt(altitude_error);
|
|
||||||
DataFlash.WriteInt((int)airspeed);
|
|
||||||
DataFlash.WriteInt((int)(nav_gain_scaler*1000));
|
|
||||||
DataFlash.WriteInt((int)(wrap_360(ToDeg(compass.heading)*100)/100)); // Just a temp hack
|
|
||||||
DataFlash.WriteLong(compass.last_update); // Just a temp hack
|
|
||||||
DataFlash.WriteInt((int)(tempmat.b.x*1000)); // Just a temp hack
|
|
||||||
DataFlash.WriteInt((int)(compass.heading_x*1000)); // Just a temp hack
|
|
||||||
DataFlash.WriteInt((int)(tempmat.a.x*1000)); // Just a temp hack
|
|
||||||
DataFlash.WriteInt((int)(compass.heading_y*1000)); // Just a temp hack
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// 1 2 3 4 5 6 7 8 9 10 11
|
// 1 2 3 4 5 6 7 8 9 10 11
|
||||||
//NTUN, 236, 0, 132, 10, 0, 0, 29, 2963, 16545, 16682, 108
|
//NTUN, 236, 0, 132, 10, 0, 0, 29, 2963, 16545, 16682, 108
|
||||||
|
|
||||||
void Log_Read_Nav_Tuning()
|
void Log_Read_Nav_Tuning()
|
||||||
{
|
{
|
||||||
// 1 2 3 4 5 6 7 8 9 10 11
|
// 1 2 3 4 5 6 7 8 9 10 11
|
||||||
Serial.printf_P(PSTR("NTUN, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n"),
|
Serial.printf_P(PSTR( "NTUN, %d, %d, %d, "
|
||||||
|
"%d, %d, "
|
||||||
|
"%d, %d, %d, %d, "
|
||||||
|
"%d, %d, %d "
|
||||||
|
"%d, %ld, %4.4f, %4.4f, %4.4f, %4.4f "
|
||||||
|
|
||||||
|
),
|
||||||
DataFlash.ReadInt(), //yaw sensor
|
DataFlash.ReadInt(), //yaw sensor
|
||||||
DataFlash.ReadInt(), //distance
|
DataFlash.ReadInt(), //distance
|
||||||
DataFlash.ReadByte(), //bitmask
|
DataFlash.ReadByte(), //bitmask
|
||||||
@ -402,11 +397,19 @@ void Log_Read_Nav_Tuning()
|
|||||||
|
|
||||||
DataFlash.ReadInt(), //home.alt
|
DataFlash.ReadInt(), //home.alt
|
||||||
DataFlash.ReadInt(), //Next_alt
|
DataFlash.ReadInt(), //Next_alt
|
||||||
DataFlash.ReadInt()); //Alt Error
|
DataFlash.ReadInt(), //Alt Error
|
||||||
|
|
||||||
|
DataFlash.ReadInt(),
|
||||||
|
DataFlash.ReadLong(),
|
||||||
|
(float)DataFlash.ReadInt()/1000,
|
||||||
|
(float)DataFlash.ReadInt()/1000,
|
||||||
|
(float)DataFlash.ReadInt()/1000,
|
||||||
|
(float)DataFlash.ReadInt()/1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Write a mode packet. Total length : 5 bytes
|
// Write a mode packet. Total length : 5 bytes
|
||||||
void Log_Write_Mode(byte mode)
|
void Log_Write_Mode(byte mode)
|
||||||
{
|
{
|
||||||
@ -492,7 +495,7 @@ void Log_Write_Current()
|
|||||||
DataFlash.WriteInt(g.rc_3.control_in);
|
DataFlash.WriteInt(g.rc_3.control_in);
|
||||||
DataFlash.WriteLong(throttle_integrator);
|
DataFlash.WriteLong(throttle_integrator);
|
||||||
|
|
||||||
DataFlash.WriteInt((int)(current_voltage * 100.0));
|
DataFlash.WriteInt((int)(battery_voltage * 100.0));
|
||||||
DataFlash.WriteInt((int)(current_amps * 100.0));
|
DataFlash.WriteInt((int)(current_amps * 100.0));
|
||||||
DataFlash.WriteInt((int)current_total);
|
DataFlash.WriteInt((int)current_total);
|
||||||
|
|
||||||
@ -772,4 +775,5 @@ void Log_Read(int start_page, int end_page)
|
|||||||
//Serial.printf_P(PSTR("# of packets read: %d\n"), packet_count);
|
//Serial.printf_P(PSTR("# of packets read: %d\n"), packet_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,9 +7,11 @@
|
|||||||
|
|
||||||
byte mavdelay = 0;
|
byte mavdelay = 0;
|
||||||
|
|
||||||
|
|
||||||
// what does this do?
|
// what does this do?
|
||||||
static uint8_t mavlink_check_target(uint8_t sysid, uint8_t compid)
|
static uint8_t mavlink_check_target(uint8_t sysid, uint8_t compid)
|
||||||
{
|
{
|
||||||
|
//Serial.print("target = "); Serial.print(sysid, DEC); Serial.print("\tcomp = "); Serial.println(compid, DEC);
|
||||||
if (sysid != mavlink_system.sysid){
|
if (sysid != mavlink_system.sysid){
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -22,6 +24,7 @@ static uint8_t mavlink_check_target(uint8_t sysid, uint8_t compid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void mavlink_send_message(mavlink_channel_t chan, uint8_t id, uint32_t param, uint16_t packet_drops)
|
void mavlink_send_message(mavlink_channel_t chan, uint8_t id, uint32_t param, uint16_t packet_drops)
|
||||||
{
|
{
|
||||||
uint64_t timeStamp = micros();
|
uint64_t timeStamp = micros();
|
||||||
@ -67,6 +70,7 @@ void mavlink_send_message(mavlink_channel_t chan, uint8_t id, uint32_t param, ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t status = MAV_STATE_ACTIVE;
|
uint8_t status = MAV_STATE_ACTIVE;
|
||||||
|
uint16_t battery_remaining = 10.0 * (float)(g.pack_capacity - current_total)/g.pack_capacity; //Mavlink scaling 100% = 1000
|
||||||
uint8_t motor_block = false;
|
uint8_t motor_block = false;
|
||||||
|
|
||||||
mavlink_msg_sys_status_send(
|
mavlink_msg_sys_status_send(
|
||||||
@ -75,7 +79,7 @@ void mavlink_send_message(mavlink_channel_t chan, uint8_t id, uint32_t param, ui
|
|||||||
nav_mode,
|
nav_mode,
|
||||||
status,
|
status,
|
||||||
load * 1000,
|
load * 1000,
|
||||||
battery_voltage1 * 1000,
|
battery_voltage * 1000,
|
||||||
motor_block,
|
motor_block,
|
||||||
packet_drops);
|
packet_drops);
|
||||||
break;
|
break;
|
||||||
@ -110,6 +114,23 @@ void mavlink_send_message(mavlink_channel_t chan, uint8_t id, uint32_t param, ui
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case MSG_NAV_CONTROLLER_OUTPUT:
|
||||||
|
{
|
||||||
|
//if (control_mode != MANUAL) {
|
||||||
|
mavlink_msg_nav_controller_output_send(
|
||||||
|
chan,
|
||||||
|
nav_roll / 1.0e2,
|
||||||
|
nav_pitch / 1.0e2,
|
||||||
|
nav_bearing / 1.0e2,
|
||||||
|
target_bearing / 1.0e2,
|
||||||
|
wp_distance,
|
||||||
|
altitude_error / 1.0e2,
|
||||||
|
0,
|
||||||
|
crosstrack_error);
|
||||||
|
//}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case MSG_LOCAL_LOCATION:
|
case MSG_LOCAL_LOCATION:
|
||||||
{
|
{
|
||||||
Matrix3f rot = dcm.get_dcm_matrix(); // neglecting angle of attack for now
|
Matrix3f rot = dcm.get_dcm_matrix(); // neglecting angle of attack for now
|
||||||
@ -277,4 +298,3 @@ void mavlink_acknowledge(mavlink_channel_t chan, uint8_t id, uint8_t sum1, uint8
|
|||||||
#endif // mavlink in use
|
#endif // mavlink in use
|
||||||
|
|
||||||
#endif // inclusion guard
|
#endif // inclusion guard
|
||||||
|
|
||||||
|
@ -167,6 +167,7 @@
|
|||||||
#define MSG_VERSION 0x09
|
#define MSG_VERSION 0x09
|
||||||
#define MSG_EXTENDED_STATUS 0x0a
|
#define MSG_EXTENDED_STATUS 0x0a
|
||||||
#define MSG_CPU_LOAD 0x0b
|
#define MSG_CPU_LOAD 0x0b
|
||||||
|
#define MSG_NAV_CONTROLLER_OUTPUT 0x0c
|
||||||
|
|
||||||
#define MSG_COMMAND_REQUEST 0x20
|
#define MSG_COMMAND_REQUEST 0x20
|
||||||
#define MSG_COMMAND_UPLOAD 0x21
|
#define MSG_COMMAND_UPLOAD 0x21
|
||||||
@ -297,5 +298,6 @@
|
|||||||
// parameters get the first 1KiB of EEPROM, remainder is for waypoints
|
// parameters get the first 1KiB of EEPROM, remainder is for waypoints
|
||||||
#define WP_START_BYTE 0x400 // where in memory home WP is stored + all other WP
|
#define WP_START_BYTE 0x400 // where in memory home WP is stored + all other WP
|
||||||
#define WP_SIZE 15
|
#define WP_SIZE 15
|
||||||
|
|
||||||
#define ONBOARD_PARAM_NAME_LENGTH 15
|
#define ONBOARD_PARAM_NAME_LENGTH 15
|
||||||
#define MAX_WAYPOINTS ((EEPROM_MAX_ADDR - WP_START_BYTE) / WP_SIZE) - 1 // - 1 to be safe
|
#define MAX_WAYPOINTS ((EEPROM_MAX_ADDR - WP_START_BYTE) / WP_SIZE) - 1 // - 1 to be safe
|
||||||
|
@ -155,7 +155,7 @@ void init_ardupilot()
|
|||||||
#else
|
#else
|
||||||
gcs.init(&Serial);
|
gcs.init(&Serial);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// init the HIL
|
// init the HIL
|
||||||
#if HIL_MODE != HIL_MODE_DISABLED
|
#if HIL_MODE != HIL_MODE_DISABLED
|
||||||
|
|
||||||
@ -469,10 +469,10 @@ void update_esc_light()
|
|||||||
void resetPerfData(void) {
|
void resetPerfData(void) {
|
||||||
mainLoop_count = 0;
|
mainLoop_count = 0;
|
||||||
G_Dt_max = 0;
|
G_Dt_max = 0;
|
||||||
gyro_sat_count = 0;
|
//gyro_sat_count = 0;
|
||||||
adc_constraints = 0;
|
//adc_constraints = 0;
|
||||||
renorm_sqrt_count = 0;
|
//renorm_sqrt_count = 0;
|
||||||
renorm_blowup_count = 0;
|
//renorm_blowup_count = 0;
|
||||||
gps_fix_count = 0;
|
gps_fix_count = 0;
|
||||||
perf_mon_timer = millis();
|
perf_mon_timer = millis();
|
||||||
}
|
}
|
||||||
@ -525,4 +525,5 @@ init_throttle_cruise()
|
|||||||
//Serial.printf("throttle_cruise: %d\n", g.throttle_cruise.get());
|
//Serial.printf("throttle_cruise: %d\n", g.throttle_cruise.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -654,7 +654,7 @@ test_current(uint8_t argc, const Menu::arg *argv)
|
|||||||
read_radio();
|
read_radio();
|
||||||
read_battery();
|
read_battery();
|
||||||
Serial.printf_P(PSTR("V: %4.4f, A: %4.4f, mAh: %4.4f\n"),
|
Serial.printf_P(PSTR("V: %4.4f, A: %4.4f, mAh: %4.4f\n"),
|
||||||
current_voltage,
|
battery_voltage,
|
||||||
current_amps,
|
current_amps,
|
||||||
current_total);
|
current_total);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user