From 870ec8a9bb0ac98786939407595118f30f265744 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 30 Dec 2013 10:24:01 +1100 Subject: [PATCH] Rover: added RC in/out logging --- APMrover2/APMrover2.pde | 14 ++++++++++++-- APMrover2/Log.pde | 7 +++++++ APMrover2/config.h | 5 +++++ APMrover2/defines.h | 1 + 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/APMrover2/APMrover2.pde b/APMrover2/APMrover2.pde index ecc75b1d5c..ace108d66b 100644 --- a/APMrover2/APMrover2.pde +++ b/APMrover2/APMrover2.pde @@ -559,7 +559,8 @@ static const AP_Scheduler::Task scheduler_tasks[] PROGMEM = { { navigate, 5, 1600 }, { update_compass, 5, 2000 }, { update_commands, 5, 1000 }, - { update_logging, 5, 1000 }, + { update_logging1, 5, 1000 }, + { update_logging2, 5, 1000 }, { gcs_retry_deferred, 1, 1000 }, { gcs_update, 1, 1700 }, { gcs_data_stream_send, 1, 3000 }, @@ -706,7 +707,7 @@ static void update_compass(void) /* log some key data - 10Hz */ -static void update_logging(void) +static void update_logging1(void) { if ((g.log_bitmask & MASK_LOG_ATTITUDE_MED) && !(g.log_bitmask & MASK_LOG_ATTITUDE_FAST)) Log_Write_Attitude(); @@ -716,12 +717,21 @@ static void update_logging(void) if (g.log_bitmask & MASK_LOG_NTUN) Log_Write_Nav_Tuning(); +} +/* + log some key data - 10Hz + */ +static void update_logging2(void) +{ if (g.log_bitmask & MASK_LOG_STEERING) { if (control_mode == STEERING || control_mode == AUTO || control_mode == RTL || control_mode == GUIDED) { Log_Write_Steering(); } } + + if (g.log_bitmask & MASK_LOG_RC) + Log_Write_RC(); } diff --git a/APMrover2/Log.pde b/APMrover2/Log.pde index 8848c8559f..a1df4e51ea 100644 --- a/APMrover2/Log.pde +++ b/APMrover2/Log.pde @@ -514,6 +514,12 @@ static void Log_Write_Compass() } +static void Log_Write_RC(void) +{ + DataFlash.Log_Write_RCIN(); + DataFlash.Log_Write_RCOUT(); +} + static const struct LogStructure log_structure[] PROGMEM = { LOG_COMMON_STRUCTURES, { LOG_ATTITUDE_MSG, sizeof(log_Attitude), @@ -587,6 +593,7 @@ static void Log_Write_Mode() {} static void Log_Write_Attitude() {} static void Log_Write_Compass() {} static void start_logging() {} +static void Log_Write_RC(void) {} #endif // LOGGING_ENABLED diff --git a/APMrover2/config.h b/APMrover2/config.h index e62786d3bf..721ac63537 100644 --- a/APMrover2/config.h +++ b/APMrover2/config.h @@ -319,6 +319,7 @@ # define LOGGING_ENABLED ENABLED #endif +#if CONFIG_HAL_BOARD == HAL_BOARD_APM1 || CONFIG_HAL_BOARD == HAL_BOARD_APM2 #define DEFAULT_LOG_BITMASK \ MASK_LOG_ATTITUDE_MED | \ MASK_LOG_GPS | \ @@ -332,6 +333,10 @@ MASK_LOG_CURRENT | \ MASK_LOG_STEERING | \ MASK_LOG_CAMERA +#else +// other systems have plenty of space for full logs +#define DEFAULT_LOG_BITMASK 0xffff +#endif diff --git a/APMrover2/defines.h b/APMrover2/defines.h index 6ad1792523..9d34089630 100644 --- a/APMrover2/defines.h +++ b/APMrover2/defines.h @@ -115,6 +115,7 @@ enum mode { #define MASK_LOG_COMPASS (1<<11) #define MASK_LOG_CAMERA (1<<12) #define MASK_LOG_STEERING (1<<13) +#define MASK_LOG_RC (1<<14) // Waypoint Modes // ----------------