2020.08.29.01

FEATURE_SATELLITE_TRACKING
          Yet another significant update to service_calc_satellite_data() - next AOS and LOS calculations are now accurate within 5 seconds!
This commit is contained in:
Anthony Good 2020-08-29 14:14:16 -04:00
parent efc1ae2edf
commit d23527048f
8 changed files with 530 additions and 864 deletions

File diff suppressed because it is too large Load Diff

View File

@ -69,6 +69,8 @@
// #define DEBUG_SATELLITE_TRACKING // #define DEBUG_SATELLITE_TRACKING
// #define DEBUG_SATELLITE_TRACKING_LOAD // #define DEBUG_SATELLITE_TRACKING_LOAD
// #define DEBUG_SATELLITE_TRACKING_CALC // #define DEBUG_SATELLITE_TRACKING_CALC
// #define DEBUG_SATELLITE_TRACKING_CALC_STAGE_2
// #define DEBUG_SATELLITE_TRACKING_CALC_STAGE_3
// #define DEBUG_SATELLITE_SERVICE // #define DEBUG_SATELLITE_SERVICE
// #define DEBUG_SATELLITE_TLE_EEPROM // #define DEBUG_SATELLITE_TLE_EEPROM
// #define DEBUG_SATELLITE_ARRAY_ORDER // #define DEBUG_SATELLITE_ARRAY_ORDER

View File

@ -17,7 +17,7 @@
// #define FEATURE_EASYCOM_EMULATION // Easycom protocol emulation on control port (undefine FEATURE_YAESU_EMULATION above) // #define FEATURE_EASYCOM_EMULATION // Easycom protocol emulation on control port (undefine FEATURE_YAESU_EMULATION above)
// #define FEATURE_DCU_1_EMULATION // DCU-1 protocol emulation on control port // #define FEATURE_DCU_1_EMULATION // DCU-1 protocol emulation on control port
// #define FEATURE_MOON_TRACKING #define FEATURE_MOON_TRACKING
// #define FEATURE_SUN_TRACKING // #define FEATURE_SUN_TRACKING
#define FEATURE_CLOCK #define FEATURE_CLOCK
#define FEATURE_GPS #define FEATURE_GPS
@ -29,6 +29,7 @@
// #define FEATURE_TEST_DISPLAY_AT_STARTUP // #define FEATURE_TEST_DISPLAY_AT_STARTUP
#define FEATURE_SATELLITE_TRACKING // https://github.com/k3ng/k3ng_rotator_controller/wiki/707-Satellite-Tracking #define FEATURE_SATELLITE_TRACKING // https://github.com/k3ng/k3ng_rotator_controller/wiki/707-Satellite-Tracking
#define TEST_NEW_SAT_CALC
#define LANGUAGE_ENGLISH // all languages customized in rotator_language.h #define LANGUAGE_ENGLISH // all languages customized in rotator_language.h
// #define LANGUAGE_SPANISH // #define LANGUAGE_SPANISH

View File

@ -375,13 +375,18 @@ You can tweak these, but read the online documentation!
#define NEXTION_NUMBER_OF_NEXT_SATELLITES 6 #define NEXTION_NUMBER_OF_NEXT_SATELLITES 6
// Added / Updated in 2020.08.26.02 // Added / Updated in 2020.08.26.02
#define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000
#define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000
#define SATELLITE_CALC_TIMEOUT_MS 10000 // #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10 // #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30 // #define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120 // #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 3600 //300 //next event is < 5 minutes
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 300 //next event is < 5 minutes // #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 10800 //3600 //next < 1 hour
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 3600 //next < 1 hour
#define SATELLITE_AOS_ELEVATION_MIN 0.0 // Added / Updated in 2020.08.29.01
#define SATELLITE_CALC_TIMEOUT_MS 10000
#define SATELLITE_AOS_ELEVATION_MIN 0.0
#define SATELLITE_CALC_STAGE_1_RESOLUTION_SECS 120
#define SATELLITE_CALC_STAGE_2_RESOLUTION_SECS 10
#define SATELLITE_CALC_STAGE_3_RESOLUTION_SECS 1

View File

@ -371,12 +371,17 @@ You can tweak these, but read the online documentation!
#define NEXTION_NUMBER_OF_NEXT_SATELLITES 6 #define NEXTION_NUMBER_OF_NEXT_SATELLITES 6
// Added / Updated in 2020.08.26.02 // Added / Updated in 2020.08.26.02
#define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000
#define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 3600 //300 //next event is < 5 minutes
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 10800 //3600 //next < 1 hour
// Added / Updated in 2020.08.29.01
#define SATELLITE_CALC_TIMEOUT_MS 10000 #define SATELLITE_CALC_TIMEOUT_MS 10000
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 300 //next event is < 5 minutes
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 3600 //next < 1 hour
#define SATELLITE_AOS_ELEVATION_MIN 0.0 #define SATELLITE_AOS_ELEVATION_MIN 0.0
#define SATELLITE_CALC_STAGE_1_RESOLUTION_SECS 120
#define SATELLITE_CALC_STAGE_2_RESOLUTION_SECS 10
#define SATELLITE_CALC_STAGE_3_RESOLUTION_SECS 1

View File

@ -368,12 +368,17 @@ You can tweak these, but read the online documentation!
#define NEXTION_NUMBER_OF_NEXT_SATELLITES 6 #define NEXTION_NUMBER_OF_NEXT_SATELLITES 6
// Added / Updated in 2020.08.26.02 // Added / Updated in 2020.08.26.02
#define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000
#define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 3600 //300 //next event is < 5 minutes
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 10800 //3600 //next < 1 hour
// Added / Updated in 2020.08.29.01
#define SATELLITE_CALC_TIMEOUT_MS 10000 #define SATELLITE_CALC_TIMEOUT_MS 10000
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 300 //next event is < 5 minutes
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 3600 //next < 1 hour
#define SATELLITE_AOS_ELEVATION_MIN 0.0 #define SATELLITE_AOS_ELEVATION_MIN 0.0
#define SATELLITE_CALC_STAGE_1_RESOLUTION_SECS 120
#define SATELLITE_CALC_STAGE_2_RESOLUTION_SECS 10
#define SATELLITE_CALC_STAGE_3_RESOLUTION_SECS 1

View File

@ -386,15 +386,20 @@ You can tweak these, but read the online documentation!
#define NEXTION_NUMBER_OF_NEXT_SATELLITES 6 #define NEXTION_NUMBER_OF_NEXT_SATELLITES 6
// Added / Updated in 2020.08.26.02 // Added / Updated in 2020.08.26.02
#define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000
#define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 3600 //300 //next event is < 5 minutes
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 10800 //3600 //next < 1 hour
// Added / Updated in 2020.08.29.01
#define SATELLITE_CALC_TIMEOUT_MS 10000 #define SATELLITE_CALC_TIMEOUT_MS 10000
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 3600 //300 //next event is < 5 minutes
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 10800 //3600 //next < 1 hour
#define SATELLITE_AOS_ELEVATION_MIN 0.0 #define SATELLITE_AOS_ELEVATION_MIN 0.0
#define SATELLITE_CALC_STAGE_1_RESOLUTION_SECS 120
#define SATELLITE_CALC_STAGE_2_RESOLUTION_SECS 10
#define SATELLITE_CALC_STAGE_3_RESOLUTION_SECS 1
// ######## ######## ###### ######## // ######## ######## ###### ########
// ## ## ## ## ## // ## ## ## ## ##

View File

@ -370,14 +370,19 @@ You can tweak these, but read the online documentation!
#define NEXTION_NUMBER_OF_NEXT_SATELLITES 6 #define NEXTION_NUMBER_OF_NEXT_SATELLITES 6
// Added / Updated in 2020.08.26.02 // Added / Updated in 2020.08.26.02
#define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_MEDIUM_RESOLUTION_MS 1000
#define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000 // #define SATELLITE_CALC_THROTTLE_DOWN_TO_LOW_RESOLUTION_MS 5000
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 3600 //300 //next event is < 5 minutes
// #define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 10800 //3600 //next < 1 hour
// Added / Updated in 2020.08.29.01
#define SATELLITE_CALC_TIMEOUT_MS 10000 #define SATELLITE_CALC_TIMEOUT_MS 10000
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_SECS 10
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_SECS 30
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_LOW_SECS 120
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_HIGH_TRIGGER_SECS 300 //next event is < 5 minutes
#define SATELLITE_AOS_LOS_CALC_RESOLUTION_MEDIUM_TRIGGER_SECS 3600 //next < 1 hour
#define SATELLITE_AOS_ELEVATION_MIN 0.0 #define SATELLITE_AOS_ELEVATION_MIN 0.0
#define SATELLITE_CALC_STAGE_1_RESOLUTION_SECS 120
#define SATELLITE_CALC_STAGE_2_RESOLUTION_SECS 10
#define SATELLITE_CALC_STAGE_3_RESOLUTION_SECS 1