2020.02.05.01

Moved debug defines to rotator_debug_log_activation.h
      FEATURE_AZ_ROTATION_STALL_DETECTION & FEATURE_EL_ROTATION_STALL_DETECTION
        OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE
        Settings
          STALL_CHECK_FREQUENCY_MS_AZ
          STALL_CHECK_DEGREES_THRESHOLD_AZ
          STALL_CHECK_FREQUENCY_MS_EL
          STALL_CHECK_DEGREES_THRESHOLD_EL
        Pins: az_rotation_stall_detected, el_rotation_stall_detected
This commit is contained in:
Anthony Good 2020-02-05 19:04:31 -05:00
parent 0ff667b256
commit e0e4d0a643
15 changed files with 232 additions and 330 deletions

View File

@ -394,11 +394,22 @@
Added FEATURE_FABO_LCD_PCF8574_DISPLAY
Added PRESET_ENCODER_CHANGE_TIME_MS in settings files
2018.12.25.01
Fixed bug in RTC sync timing affecting SYNC_WITH_RTC_SECONDS (Thanks, Fred, VK2EFL for fix, and Steve, N4TTY for discovery)
2018.12.25.01
Fixed bug in RTC sync timing affecting SYNC_WITH_RTC_SECONDS (Thanks, Fred, VK2EFL for fix, and Steve, N4TTY for discovery)
2019.01.03.01
Updated GS-232 M and W commands to accept azimuths over 360 degrees and improved parameter verification
2019.01.03.01
Updated GS-232 M and W commands to accept azimuths over 360 degrees and improved parameter verification
2020.02.05.01
Moved debug defines to rotator_debug_log_activation.h
FEATURE_AZ_ROTATION_STALL_DETECTION & FEATURE_EL_ROTATION_STALL_DETECTION
OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE
Settings
STALL_CHECK_FREQUENCY_MS_AZ
STALL_CHECK_DEGREES_THRESHOLD_AZ
STALL_CHECK_FREQUENCY_MS_EL
STALL_CHECK_DEGREES_THRESHOLD_EL
Pins: az_rotation_stall_detected, el_rotation_stall_detected
All library files should be placed in directories likes \sketchbook\libraries\library1\ , \sketchbook\libraries\library2\ , etc.
Anything rotator_*.* should be in the ino directory!
@ -409,7 +420,7 @@
*/
#define CODE_VERSION "2019.01.03.01"
#define CODE_VERSION "2020.02.05.01"
#include <avr/pgmspace.h>
#include <EEPROM.h>
@ -578,6 +589,7 @@
#include "rotator_language.h"
#include "rotator_debug.h"
#include "rotator_debug_log_activation.h"
/*----------------------- variables -------------------------------------*/
@ -1131,8 +1143,13 @@ void loop() {
#endif
#endif // ndef FEATURE_REMOTE_UNIT_SLAVE
//read_headings();
#if defined(FEATURE_AZ_ROTATION_STALL_DETECTION)
az_check_rotation_stall();
#endif
#if defined(FEATURE_EL_ROTATION_STALL_DETECTION) && defined(FEATURE_ELEVATION_CONTROL)
el_check_rotation_stall();
#endif
#ifdef OPTION_MORE_SERIAL_CHECKS
check_serial();
@ -2980,7 +2997,6 @@ void check_serial(){
control_port_buffer_index++;
control_port->write(incoming_serial_byte);
}
//zzzzz
if (incoming_serial_byte == 13) { // do we have a command termination?
if ((control_port_buffer[0] == '\\') || (control_port_buffer[0] == '/')) {
process_backslash_command(control_port_buffer, control_port_buffer_index, CONTROL_PORT0, return_string);
@ -4417,8 +4433,6 @@ void update_display(){
// TODO: FEATURE_PARK {done, need to test}, FEATURE_AZ_PRESET_ENCODER and FEATURE_EL_PRESET_ENCODER in status widget {done, need to test}
//zzzzzz
static unsigned long last_full_screen_redraw = 0;
if ((millis() - last_full_screen_redraw) > 59999){
@ -4655,6 +4669,92 @@ void az_check_operation_timeout(){
}
}
// --------------------------------------------------------------
//zzzzzzz
#if defined(FEATURE_AZ_ROTATION_STALL_DETECTION)
void az_check_rotation_stall(){
// check if rotation has stalled
static unsigned long last_check_time = 0;
static int last_raw_azimuth = 0;
static byte rotation_stall_pin_active = 0;
if (az_state != IDLE){
if (last_check_time == 0){
last_raw_azimuth = raw_azimuth;
last_check_time = millis();
if (rotation_stall_pin_active){
digitalWriteEnhanced(az_rotation_stall_detected,LOW);
rotation_stall_pin_active = 0;
}
} else {
if ((millis() - last_check_time) > STALL_CHECK_FREQUENCY_MS_AZ){
if ((abs((raw_azimuth - last_raw_azimuth))*HEADING_MULTIPLIER) < STALL_CHECK_DEGREES_THRESHOLD_AZ){
#ifdef DEBUG_ROTATION_STALL_DETECTION
debug.println("az_check_rotation_stall: REQUEST_KILL");
#endif
#ifdef OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE
control_port->println("AZ Rotation Stall Detected");
#endif
submit_request(AZ, REQUEST_KILL, 0, 78);
digitalWriteEnhanced(az_rotation_stall_detected,HIGH);
rotation_stall_pin_active = 1;
last_check_time = 0;
} else {
last_raw_azimuth = raw_azimuth;
last_check_time = millis();
}
}
}
} else {
last_check_time = 0;
}
}
#endif //FEATURE_AZ_ROTATION_STALL_DETECTION
// --------------------------------------------------------------
//zzzzzzz
#if defined(FEATURE_EL_ROTATION_STALL_DETECTION) && defined(FEATURE_ELEVATION_CONTROL)
void el_check_rotation_stall(){
// check if rotation has stalled
static unsigned long last_check_time = 0;
static int last_elevation = 0;
static byte rotation_stall_pin_active = 0;
if (el_state != IDLE){
if (last_check_time == 0){
last_elevation = elevation;
last_check_time = millis();
if (rotation_stall_pin_active){
digitalWriteEnhanced(el_rotation_stall_detected,LOW);
rotation_stall_pin_active = 0;
}
} else {
if ((millis() - last_check_time) > STALL_CHECK_FREQUENCY_MS_EL){
if ((abs((elevation - last_elevation))*HEADING_MULTIPLIER) < STALL_CHECK_DEGREES_THRESHOLD_AZ){
#ifdef DEBUG_ROTATION_STALL_DETECTION
debug.println("el_check_rotation_stall: REQUEST_KILL");
#endif
#ifdef OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE
control_port->println("EL Rotation Stall Detected");
#endif
submit_request(EL, REQUEST_KILL, 0, 78);
digitalWriteEnhanced(el_rotation_stall_detected,HIGH);
rotation_stall_pin_active = 1;
last_check_time = 0;
} else {
last_elevation = elevation;
last_check_time = millis();
}
}
}
} else {
last_check_time = 0;
}
}
#endif //FEATURE_EL_ROTATION_STALL_DETECTION
// --------------------------------------------------------------
#ifdef FEATURE_TIMED_BUFFER
@ -7352,6 +7452,16 @@ void initialize_pins(){
}
#endif //FEATURE_AUDIBLE_ALERT
#ifdef FEATURE_AZ_ROTATION_STALL_DETECTION
pinModeEnhanced(az_rotation_stall_detected, OUTPUT);
digitalWriteEnhanced(az_rotation_stall_detected, LOW);
#endif //FEATURE_AZ_ROTATION_STALL_DETECTION
#ifdef FEATURE_EL_ROTATION_STALL_DETECTION
pinModeEnhanced(el_rotation_stall_detected, OUTPUT);
digitalWriteEnhanced(el_rotation_stall_detected, LOW);
#endif //FEATURE_EL_ROTATION_STALL_DETECTION
} /* initialize_pins */
// --------------------------------------------------------------
@ -11746,8 +11856,6 @@ byte process_backslash_command(byte input_buffer[], int input_buffer_index, byte
configuration_dirty = 1;
break;
// zzzzzzz
// TODO : one big status query command
#if !defined(OPTION_SAVE_MEMORY_EXCLUDE_EXTENDED_COMMANDS)
@ -12343,7 +12451,6 @@ void process_easycom_command(byte * easycom_command_buffer, int easycom_command_
void process_dcu_1_command(byte * dcu_1_command_buffer, int dcu_1_command_buffer_index, byte source_port, char * return_string){
//zzzzzzz
/* DCU-1 protocol implementation

View File

@ -0,0 +1,62 @@
/* ---------------------- debug stuff - don't touch unless you know what you are doing --------------------------- */
#define DEFAULT_DEBUG_STATE 0 // 1 = activate debug mode at startup; this should be set to zero unless you're debugging something at startup
#define DEBUG_DUMP // normally compile with this activated unless you're really trying to save memory
// #define DEBUG_LOOP
// #define DEBUG_BUTTONS
// #define DEBUG_SERIAL
// #define DEBUG_SERVICE_REQUEST_QUEUE
// #define DEBUG_EEPROM
// #define DEBUG_AZ_SPEED_POT
// #define DEBUG_AZ_PRESET_POT
// #define DEBUG_PRESET_ENCODERS
// #define DEBUG_AZ_MANUAL_ROTATE_LIMITS
// #define DEBUG_EL_MANUAL_ROTATE_LIMITS
// #define DEBUG_BRAKE
// #define DEBUG_OVERLAP
// #define DEBUG_DISPLAY
// #define DEBUG_AZ_CHECK_OPERATION_TIMEOUT
// #define DEBUG_TIMED_BUFFER
// #define DEBUG_EL_CHECK_OPERATION_TIMEOUT
// #define DEBUG_VARIABLE_OUTPUTS
// #define DEBUG_ROTATOR
// #define DEBUG_SUBMIT_REQUEST
// #define DEBUG_SERVICE_ROTATION
// #define DEBUG_POSITION_ROTARY_ENCODER
// #define DEBUG_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRARY
// #define DEBUG_PROFILE_LOOP_TIME
// #define DEBUG_POSITION_PULSE_INPUT
// #define DEBUG_ACCEL
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER_BAD_DATA
// #define DEBUG_HEADING_READING_TIME
// #define DEBUG_JOYSTICK
// #define DEBUG_ROTATION_INDICATION_PIN
// #define DEBUG_HH12
// #define DEBUG_PARK
// #define DEBUG_LIMIT_SENSE
// #define DEBUG_AZ_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_EL_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_MOON_TRACKING
// #define DEBUG_SUN_TRACKING
// #define DEBUG_GPS
// #define DEBUG_GPS_SERIAL
// #define DEBUG_OFFSET
// #define DEBUG_RTC
// #define DEBUG_PROCESS_YAESU
// #define DEBUG_ETHERNET
// #define DEBUG_PROCESS_SLAVE
// #define DEBUG_MEMSIC_2125
// #define DEBUG_SYNC_MASTER_CLOCK_TO_SLAVE
// #define DEBUG_SYNC_MASTER_COORDINATES_TO_SLAVE
// #define DEBUG_HMC5883L
// #define DEBUG_POLOLU_LSM303_CALIBRATION
// #define DEBUG_STEPPER
// #define DEBUG_AUTOCORRECT
// #define DEBUG_A2_ENCODER
// #define DEBUG_A2_ENCODER_LOOPBACK_TEST
// #define DEBUG_QMC5883
// #define DEBUG_ROTATION_STALL_DETECTION

View File

@ -121,6 +121,9 @@
// #define FEATURE_TWO_DECIMAL_PLACE_HEADINGS // under development - not working yet!
// #define FEATURE_AZIMUTH_CORRECTION // correct the azimuth using a calibration table in rotator_settings.h
// #define FEATURE_ELEVATION_CORRECTION // correct the elevation using a calibration table in rotator_settings.h
// #define FEATURE_AZ_ROTATION_STALL_DETECTION // Azimuth rotation stall detection - pin: az_rotation_stall_detected
// #define FEATURE_EL_ROTATION_STALL_DETECTION // Elevation rotation stall detection - pin: el_rotation_stall_detected
// #define OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE // Sends message out serial port when rotation stall has been detected
// #define FEATURE_ANCILLARY_PIN_CONTROL // control I/O pins with serial commands \F, \N, \P
// #define FEATURE_JOYSTICK_CONTROL // analog joystick support
// #define OPTION_JOYSTICK_REVERSE_X_AXIS
@ -170,71 +173,3 @@
// #define OPTION_GPS_EXCLUDE_MISSING_LF_CR_HANDLING
// #define OPTION_MORE_SERIAL_CHECKS
// #define OPTION_STEPPER_MOTOR_USE_TIMER_ONE_INSTEAD_OF_FIVE
/* ---------------------- debug stuff - don't touch unless you know what you are doing --------------------------- */
#define DEFAULT_DEBUG_STATE 0 // 1 = activate debug mode at startup; this should be set to zero unless you're debugging something at startup
#define DEBUG_DUMP // normally compile with this activated unless you're really trying to save memory
// #define DEBUG_LOOP
// #define DEBUG_BUTTONS
// #define DEBUG_SERIAL
// #define DEBUG_SERVICE_REQUEST_QUEUE
// #define DEBUG_EEPROM
// #define DEBUG_AZ_SPEED_POT
// #define DEBUG_AZ_PRESET_POT
// #define DEBUG_PRESET_ENCODERS
// #define DEBUG_AZ_MANUAL_ROTATE_LIMITS
// #define DEBUG_EL_MANUAL_ROTATE_LIMITS
// #define DEBUG_BRAKE
// #define DEBUG_OVERLAP
// #define DEBUG_DISPLAY
// #define DEBUG_AZ_CHECK_OPERATION_TIMEOUT
// #define DEBUG_TIMED_BUFFER
// #define DEBUG_EL_CHECK_OPERATION_TIMEOUT
// #define DEBUG_VARIABLE_OUTPUTS
// #define DEBUG_ROTATOR
// #define DEBUG_SUBMIT_REQUEST
// #define DEBUG_SERVICE_ROTATION
// #define DEBUG_POSITION_ROTARY_ENCODER
// #define DEBUG_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRARY
// #define DEBUG_PROFILE_LOOP_TIME
// #define DEBUG_POSITION_PULSE_INPUT
// #define DEBUG_ACCEL
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER_BAD_DATA
// #define DEBUG_HEADING_READING_TIME
// #define DEBUG_JOYSTICK
// #define DEBUG_ROTATION_INDICATION_PIN
// #define DEBUG_HH12
// #define DEBUG_PARK
// #define DEBUG_LIMIT_SENSE
// #define DEBUG_AZ_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_EL_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_MOON_TRACKING
// #define DEBUG_SUN_TRACKING
// #define DEBUG_GPS
// #define DEBUG_GPS_SERIAL
// #define DEBUG_OFFSET
// #define DEBUG_RTC
// #define DEBUG_PROCESS_YAESU
// #define DEBUG_ETHERNET
// #define DEBUG_PROCESS_SLAVE
// #define DEBUG_MEMSIC_2125
// #define DEBUG_SYNC_MASTER_CLOCK_TO_SLAVE
// #define DEBUG_SYNC_MASTER_COORDINATES_TO_SLAVE
// #define DEBUG_HMC5883L
// #define DEBUG_POLOLU_LSM303_CALIBRATION
// #define DEBUG_STEPPER
// #define DEBUG_AUTOCORRECT
// #define DEBUG_A2_ENCODER
// #define DEBUG_A2_ENCODER_LOOPBACK_TEST
// #define DEBUG_QMC5883

View File

@ -57,63 +57,3 @@
//#define OPTION_GPS_EXCLUDE_MISSING_LF_CR_HANDLING
//#define OPTION_MORE_SERIAL_CHECKS
//#define OPTION_STEPPER_MOTOR_USE_TIMER_ONE_INSTEAD_OF_FIVE
/* ---------------------- debug stuff - don't touch unless you know what you are doing --------------------------- */
#define DEFAULT_DEBUG_STATE 0// this should be set to zero unless you're debugging something at startup
#define DEBUG_DUMP
// #define DEBUG_BUTTONS
// #define DEBUG_SERIAL
// #define DEBUG_SERVICE_REQUEST_QUEUE
// #define DEBUG_EEPROM
// #define DEBUG_AZ_SPEED_POT
// #define DEBUG_AZ_PRESET_POT
// #define DEBUG_PRESET_ENCODERS
// #define DEBUG_AZ_MANUAL_ROTATE_LIMITS
// #define DEBUG_EL_MANUAL_ROTATE_LIMITS
// #define DEBUG_BRAKE
// #define DEBUG_OVERLAP
// #define DEBUG_DISPLAY
// #define DEBUG_AZ_CHECK_OPERATION_TIMEOUT
// #define DEBUG_TIMED_BUFFER
// #define DEBUG_EL_CHECK_OPERATION_TIMEOUT
// #define DEBUG_VARIABLE_OUTPUTS
// #define DEBUG_ROTATOR
// #define DEBUG_SUBMIT_REQUEST
// #define DEBUG_SERVICE_ROTATION
// #define DEBUG_POSITION_ROTARY_ENCODER
// #define DEBUG_PROFILE_LOOP_TIME
// #define DEBUG_POSITION_PULSE_INPUT
// #define DEBUG_ACCEL
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER_BAD_DATA
// #define DEBUG_HEADING_READING_TIME
// #define DEBUG_JOYSTICK
// #define DEBUG_ROTATION_INDICATION_PIN
// #define DEBUG_HH12
// #define DEBUG_PARK
// #define DEBUG_LIMIT_SENSE
// #define DEBUG_AZ_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_EL_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_MOON_TRACKING
// #define DEBUG_SUN_TRACKING
// #define DEBUG_GPS
// #define DEBUG_GPS_SERIAL
// #define DEBUG_OFFSET
// #define DEBUG_RTC
// #define DEBUG_PROCESS_YAESU
// #define DEBUG_ETHERNET
// #define DEBUG_PROCESS_SLAVE
// #define DEBUG_MEMSIC_2125
// #define DEBUG_SYNC_MASTER_CLOCK_TO_SLAVE
// #define DEBUG_QMC5883

View File

@ -117,6 +117,9 @@
//#define FEATURE_TWO_DECIMAL_PLACE_HEADINGS // under development - not working yet!
//#define FEATURE_AZIMUTH_CORRECTION // correct the azimuth using a calibration table in rotator_settings.h
//#define FEATURE_ELEVATION_CORRECTION // correct the elevation using a calibration table in rotator_settings.h
//#define FEATURE_AZ_ROTATION_STALL_DETECTION // Azimuth rotation stall detection - pin: az_rotation_stall_detected
//#define FEATURE_EL_ROTATION_STALL_DETECTION // Elevation rotation stall detection - pin: el_rotation_stall_detected
//#define OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE // Sends message out serial port when rotation stall has been detected
//#define FEATURE_ANCILLARY_PIN_CONTROL // control I/O pins with serial commands \F, \N, \P
//#define FEATURE_JOYSTICK_CONTROL // analog joystick support
//#define OPTION_JOYSTICK_REVERSE_X_AXIS
@ -157,68 +160,3 @@
//#define OPTION_GPS_EXCLUDE_MISSING_LF_CR_HANDLING
//#define OPTION_MORE_SERIAL_CHECKS
//#define OPTION_STEPPER_MOTOR_USE_TIMER_ONE_INSTEAD_OF_FIVE
/* ---------------------- debug stuff - don't touch unless you know what you are doing --------------------------- */
#define DEFAULT_DEBUG_STATE 0 // 1 = activate debug mode at startup; this should be set to zero unless you're debugging something at startup
#define DEBUG_DUMP // normally compile with this activated unless you're really trying to save memory
// #define DEBUG_BUTTONS
// #define DEBUG_SERIAL
// #define DEBUG_SERVICE_REQUEST_QUEUE
// #define DEBUG_EEPROM
// #define DEBUG_AZ_SPEED_POT
// #define DEBUG_AZ_PRESET_POT
// #define DEBUG_PRESET_ENCODERS
// #define DEBUG_AZ_MANUAL_ROTATE_LIMITS
// #define DEBUG_EL_MANUAL_ROTATE_LIMITS
// #define DEBUG_BRAKE
// #define DEBUG_OVERLAP
// #define DEBUG_DISPLAY
// #define DEBUG_AZ_CHECK_OPERATION_TIMEOUT
// #define DEBUG_TIMED_BUFFER
// #define DEBUG_EL_CHECK_OPERATION_TIMEOUT
// #define DEBUG_VARIABLE_OUTPUTS
// #define DEBUG_ROTATOR
// #define DEBUG_SUBMIT_REQUEST
// #define DEBUG_SERVICE_ROTATION
// #define DEBUG_POSITION_ROTARY_ENCODER
// #define DEBUG_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRARY
// #define DEBUG_PROFILE_LOOP_TIME
// #define DEBUG_POSITION_PULSE_INPUT
// #define DEBUG_ACCEL
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER_BAD_DATA
// #define DEBUG_HEADING_READING_TIME
// #define DEBUG_JOYSTICK
// #define DEBUG_ROTATION_INDICATION_PIN
// #define DEBUG_HH12
// #define DEBUG_PARK
// #define DEBUG_LIMIT_SENSE
// #define DEBUG_AZ_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_EL_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_MOON_TRACKING
// #define DEBUG_SUN_TRACKING
// #define DEBUG_GPS
// #define DEBUG_GPS_SERIAL
// #define DEBUG_OFFSET
// #define DEBUG_RTC
// #define DEBUG_PROCESS_YAESU
// #define DEBUG_ETHERNET
// #define DEBUG_PROCESS_SLAVE
// #define DEBUG_MEMSIC_2125
// #define DEBUG_SYNC_MASTER_CLOCK_TO_SLAVE
// #define DEBUG_SYNC_MASTER_COORDINATES_TO_SLAVE
// #define DEBUG_HMC5883L
// #define DEBUG_POLOLU_LSM303_CALIBRATION
// #define DEBUG_STEPPER
// #define DEBUG_AUTOCORRECT
// #define DEBUG_QMC5883

View File

@ -127,6 +127,9 @@
//#define FEATURE_TWO_DECIMAL_PLACE_HEADINGS // under development - not working yet!
//#define FEATURE_AZIMUTH_CORRECTION // correct the azimuth using a calibration table in rotator_settings.h
//#define FEATURE_ELEVATION_CORRECTION // correct the elevation using a calibration table in rotator_settings.h
//#define FEATURE_AZ_ROTATION_STALL_DETECTION // Azimuth rotation stall detection - pin: az_rotation_stall_detected
//#define FEATURE_EL_ROTATION_STALL_DETECTION // Elevation rotation stall detection - pin: el_rotation_stall_detected
//#define OPTION_ROTATION_STALL_DETECTION_SERIAL_MESSAGE // Sends message out serial port when rotation stall has been detected
//#define FEATURE_ANCILLARY_PIN_CONTROL // control I/O pins with serial commands \F, \N, \P
//#define FEATURE_JOYSTICK_CONTROL // analog joystick support
//#define OPTION_JOYSTICK_REVERSE_X_AXIS
@ -151,7 +154,7 @@
//#define OPTION_DISPLAY_DIRECTION_STATUS // N, W, E, S, NW, etc. direction indicator
#define OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY
//#define OPTION_DISPLAY_MOON_OR_SUN_TRACKING_CONDITIONAL
// #define OPTION_DISPLAY_VERSION_ON_STARTUP //code provided by Paolo, IT9IPQ
#define OPTION_DISPLAY_VERSION_ON_STARTUP //code provided by Paolo, IT9IPQ
// #define OPTION_LCD_HEADING_FIELD_FIXED_DECIMAL_PLACE
//#define FEATURE_POWER_SWITCH
@ -187,69 +190,9 @@
// ## ######## ###### ##
/* ---------------------- debug stuff - don't touch unless you know what you are doing --------------------------- */
#define DEFAULT_DEBUG_STATE 0 // 1 = activate debug mode at startup; this should be set to zero unless you're debugging something at startup
#define DEBUG_DUMP // normally compile with this activated unless you're really trying to save memory
// #define DEBUG_LOOP
// #define DEBUG_BUTTONS
// #define DEBUG_SERIAL
// #define DEBUG_SERVICE_REQUEST_QUEUE
// #define DEBUG_EEPROM
// #define DEBUG_AZ_SPEED_POT
// #define DEBUG_AZ_PRESET_POT
// #define DEBUG_PRESET_ENCODERS
// #define DEBUG_AZ_MANUAL_ROTATE_LIMITS
// #define DEBUG_EL_MANUAL_ROTATE_LIMITS
// #define DEBUG_BRAKE
// #define DEBUG_OVERLAP
// #define DEBUG_DISPLAY
// #define DEBUG_AZ_CHECK_OPERATION_TIMEOUT
// #define DEBUG_TIMED_BUFFER
// #define DEBUG_EL_CHECK_OPERATION_TIMEOUT
// #define DEBUG_VARIABLE_OUTPUTS
// #define DEBUG_ROTATOR
// #define DEBUG_SUBMIT_REQUEST
// #define DEBUG_SERVICE_ROTATION
// #define DEBUG_POSITION_ROTARY_ENCODER
// #define DEBUG_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRARY
// #define DEBUG_PROFILE_LOOP_TIME
// #define DEBUG_POSITION_PULSE_INPUT
// #define DEBUG_ACCEL
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER_BAD_DATA
// #define DEBUG_HEADING_READING_TIME
// #define DEBUG_JOYSTICK
// #define DEBUG_ROTATION_INDICATION_PIN
// #define DEBUG_HH12
// #define DEBUG_PARK
// #define DEBUG_LIMIT_SENSE
// #define DEBUG_AZ_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_EL_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_MOON_TRACKING
// #define DEBUG_SUN_TRACKING
// #define DEBUG_GPS
// #define DEBUG_GPS_SERIAL
// #define DEBUG_OFFSET
// #define DEBUG_RTC
// #define DEBUG_PROCESS_YAESU
// #define DEBUG_ETHERNET
// #define DEBUG_PROCESS_SLAVE
// #define DEBUG_MEMSIC_2125
// #define DEBUG_SYNC_MASTER_CLOCK_TO_SLAVE
// #define DEBUG_SYNC_MASTER_COORDINATES_TO_SLAVE
// #define DEBUG_HMC5883L
// #define DEBUG_POLOLU_LSM303_CALIBRATION
// #define DEBUG_STEPPER
// #define DEBUG_AUTOCORRECT
// #define DEBUG_A2_ENCODER
// #define DEBUG_A2_ENCODER_LOOPBACK_TEST
// #define DEBUG_QMC5883
// ######## ######## ###### ########
// ## ## ## ## ##
// ## ## ## ##

View File

@ -162,67 +162,3 @@
uncomment #define OPTION_C_COMMAND_SENDS_AZ_AND_EL.
*/
/* ---------------------- debug stuff - don't touch unless you know what you are doing --------------------------- */
#define DEFAULT_DEBUG_STATE 0// this should be set to zero unless you're debugging something at startup
#define DEBUG_DUMP
// #define DEBUG_BUTTONS
// #define DEBUG_SERIAL
// #define DEBUG_SERVICE_REQUEST_QUEUE
// #define DEBUG_EEPROM
// #define DEBUG_AZ_SPEED_POT
// #define DEBUG_AZ_PRESET_POT
// #define DEBUG_PRESET_ENCODERS
// #define DEBUG_AZ_MANUAL_ROTATE_LIMITS
// #define DEBUG_EL_MANUAL_ROTATE_LIMITS
// #define DEBUG_BRAKE
// #define DEBUG_OVERLAP
// #define DEBUG_DISPLAY
// #define DEBUG_AZ_CHECK_OPERATION_TIMEOUT
// #define DEBUG_TIMED_BUFFER
// #define DEBUG_EL_CHECK_OPERATION_TIMEOUT
// #define DEBUG_VARIABLE_OUTPUTS
// #define DEBUG_ROTATOR
// #define DEBUG_SUBMIT_REQUEST
// #define DEBUG_SERVICE_ROTATION
// #define DEBUG_POSITION_ROTARY_ENCODER
// #define DEBUG_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRARY
// #define DEBUG_PROFILE_LOOP_TIME
// #define DEBUG_POSITION_PULSE_INPUT
// #define DEBUG_ACCEL
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER
// #define DEBUG_SVC_REMOTE_COMM_INCOMING_BUFFER_BAD_DATA
// #define DEBUG_HEADING_READING_TIME
// #define DEBUG_JOYSTICK
// #define DEBUG_ROTATION_INDICATION_PIN
// #define DEBUG_HH12
// #define DEBUG_PARK
// #define DEBUG_LIMIT_SENSE
// #define DEBUG_AZ_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_EL_POSITION_INCREMENTAL_ENCODER
// #define DEBUG_MOON_TRACKING
// #define DEBUG_SUN_TRACKING
// #define DEBUG_GPS
// #define DEBUG_GPS_SERIAL
// #define DEBUG_OFFSET
// #define DEBUG_RTC
// #define DEBUG_PROCESS_YAESU
// #define DEBUG_ETHERNET
// #define DEBUG_PROCESS_SLAVE
// #define DEBUG_MEMSIC_2125
// #define DEBUG_SYNC_MASTER_CLOCK_TO_SLAVE
// #define DEBUG_SYNC_MASTER_COORDINATES_TO_SLAVE
// #define DEBUG_HMC5883L
// #define DEBUG_POLOLU_LSM303_CALIBRATION
// #define DEBUG_STEPPER
// #define DEBUG_AUTOCORRECT
// #define DEBUG_QMC5883

View File

@ -33,6 +33,7 @@
#define blink_led 0
#define az_stepper_motor_pulse 44 //0
#define az_stepper_motor_direction 0
#define az_rotation_stall_detected 0
@ -52,6 +53,7 @@
#define brake_el 0 // goes high to disengage elevation brake (set to 0 to disable)
#define elevation_speed_voltage 0 // optional - PWM output for speed control voltage feed into rotator (on continually unlike rotate_up_pwm and rotate_down_pwm)
#define el_stepper_motor_pulse 0
#define el_rotation_stall_detected 0
#endif //FEATURE_ELEVATION_CONTROL
// rotary encoder pins and options

View File

@ -30,6 +30,7 @@
#define rotation_indication_pin 0
#define az_stepper_motor_pulse 0
#define az_stepper_motor_direction 0
#define az_rotation_stall_detected 0
// elevation pins
@ -49,6 +50,7 @@
#define brake_el 0 // goes high to disengage elevation brake (set to 0 to disable)
#define el_stepper_motor_pulse 0
#define el_stepper_motor_direction 0
#define el_rotation_stall_detected 0
#endif //FEATURE_ELEVATION_CONTROL

View File

@ -40,6 +40,7 @@
#define blink_led 0
#define az_stepper_motor_pulse 0
#define az_stepper_motor_direction 0
#define az_rotation_stall_detected 0
// elevation pins
@ -59,6 +60,7 @@
#define brake_el 0 // goes high to disengage elevation brake (set to 0 to disable)
#define el_stepper_motor_pulse 0
#define el_stepper_motor_direction 0
#define el_rotation_stall_detected 0
#endif //FEATURE_ELEVATION_CONTROL

View File

@ -341,6 +341,13 @@ You can tweak these, but read the online documentation!
#define PRESET_ENCODER_CHANGE_TIME_MS 2000
// FEATURE_AZ_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_AZ 2000
#define STALL_CHECK_DEGREES_THRESHOLD_AZ 2
// FEATURE_EL_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_EL 2000
#define STALL_CHECK_DEGREES_THRESHOLD_EL 2
//#define SET_I2C_BUS_SPEED 800000L // Can set up to 800 kHz, depending on devices. 800000L = 800 khz, 400000L = 400 khz. Default is 100 khz

View File

@ -331,5 +331,12 @@ You can tweak these, but read the online documentation!
#define PRESET_ENCODER_CHANGE_TIME_MS 2000
// FEATURE_AZ_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_AZ 2000
#define STALL_CHECK_DEGREES_THRESHOLD_AZ 2
// FEATURE_EL_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_EL 2000
#define STALL_CHECK_DEGREES_THRESHOLD_EL 2
//#define SET_I2C_BUS_SPEED 800000L // Can set up to 800 kHz, depending on devices. 800000L = 800 khz, 400000L = 400 khz. Default is 100 khz

View File

@ -331,5 +331,12 @@ You can tweak these, but read the online documentation!
#define PRESET_ENCODER_CHANGE_TIME_MS 2000
// FEATURE_AZ_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_AZ 2000
#define STALL_CHECK_DEGREES_THRESHOLD_AZ 2
// FEATURE_EL_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_EL 2000
#define STALL_CHECK_DEGREES_THRESHOLD_EL 2
//#define SET_I2C_BUS_SPEED 800000L // Can set up to 800 kHz, depending on devices. 800000L = 800 khz, 400000L = 400 khz. Default is 100 khz

View File

@ -351,6 +351,13 @@ You can tweak these, but read the online documentation!
#define PRESET_ENCODER_CHANGE_TIME_MS 2000
// FEATURE_AZ_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_AZ 2000
#define STALL_CHECK_DEGREES_THRESHOLD_AZ 2
// FEATURE_EL_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_EL 2000
#define STALL_CHECK_DEGREES_THRESHOLD_EL 2
//#define SET_I2C_BUS_SPEED 800000L // Can set up to 800 kHz, depending on devices. 800000L = 800 khz, 400000L = 400 khz. Default is 100 khz

View File

@ -333,6 +333,13 @@ You can tweak these, but read the online documentation!
#define PRESET_ENCODER_CHANGE_TIME_MS 2000
// FEATURE_AZ_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_AZ 2000
#define STALL_CHECK_DEGREES_THRESHOLD_AZ 2
// FEATURE_EL_ROTATION_STALL_DETECTION
#define STALL_CHECK_FREQUENCY_MS_EL 2000
#define STALL_CHECK_DEGREES_THRESHOLD_EL 2
//#define SET_I2C_BUS_SPEED 800000L // Can set up to 800 kHz, depending on devices. 800000L = 800 khz, 400000L = 400 khz. Default is 100 khz