After pulling my hair out for two days, I rewrote the satellite tracking to use the P13 library from Mark VandeWettering
\^ command to activate and deactive satellite tracking
\~ command to view satellite tracking status
Lots more work on FEATURE_SATELLITE_TRACKING. It's only outputting AO-7 in debug logs right now.
Pushing to Github in case I get hit by a bus before I finish this.
FEATURE_NEXTION_DISPLAY
Added NOT_PROVISIONED state to gCS Clock Status API variable
Added gX and gY API variables for heading Cartesian coordinates, for future use to drive combined azimuth and elevation gauges
Added DEBUG_PROCESSES
Removed several instances where update_time() was being called unnecessarily. update_time() was consuming about 21% CPU time, now down to about 12%
FEATURE_NEXTION_DISPLAY
Fixed updating of vMAS, vMES, vSAS, and vSES API variables
Fixed degree symbol in vSS1 API variable
Add variable gDP (Integer) - Number of decimal places used in various heading variables (set by DISPLAY_DECIMAL_PLACES)
DISPLAY_DEGREES_STRING is now broken out into LCD_DISPLAY_DEGREES_STRING and NEXTION_DISPLAY_DEGREES_STRING in settings files
Yaesu Help (H command) updated to include missing commands (Thanks, Adam VK4GHZ )
Fixed \I and \J commands when used with no argument so they return current values of azimuth starting point and azimuth rotation capability
Added CONFIG_DIRTY and CONFIG_NOT_DIRTY flags to periodic debug logging
Made resetting of Nextion display upon Arduino boot up more reliable
Bug OPTION_CLOCK_ALWAYS_HAVE_HOUR_LEADING_ZERO and Nextion display (Thanks, Adam VK4GHZ )
Fixed bug with FEATURE_SUN_TRACKING and FEATURE_MOON_TRACKING and Nextion display API variable gMSS (Thanks, Adam VK4GHZ )
In rotator_hardware.h, got rid of serial port class definitions for the GPS, GPS mirror, and remote serial ports, and have one define CONTROL_PORT_SERIAL_PORT_CLASS for the control port (usually the Serial port)
Arduino Leonardo, Micro, and Yún users will need to change CONTROL_PORT_SERIAL_PORT_CLASS in rotator_hardware.h if not using the Serial port as the control port
Changed and reorganize serial port mappins in rotator_settings*.h files
Refactoring of read_azimuth()
In settings files deprecated ROTATE_PIN_INACTIVE_VALUE and ROTATE_PIN_ACTIVE_VALUE; replaced with ROTATE_PIN_AZ_INACTIVE_VALUE, ROTATE_PIN_AZ_ACTIVE_VALUE, ROTATE_PIN_EL_INACTIVE_VALUE, ROTATE_PIN_EL_ACTIVE_VALUE
FEATURE_EASYCOM_EMULATION: Deprecated OPTION_EASYCOM_AZ_QUERY_COMMAND and OPTION_EASYCOM_EL_QUERY_COMMAND. AZ and EL commands without parameters are standard in Easycom 2 protocol, so no need to have as an OPTION
Changed some elevation variables I missed in 2020.06.12.03 from int to float
Updated submit_request() for float heading datatypes
Updated azimuth and elevation readings for float datatypes
LCD_DECIMAL_PLACES setting has been renamed DISPLAY_DECIMAL_PLACES as it also applies to the Nextion display unit and API
FEATURE_DCU_1_EMULATION: Rewrote to comply with published command specification. AI1 and ; commands now implemented
azimuth, raw_azimuth, and elevation variables changed from int to float datatypes
Eliminated HEADING_MULTIPLIER, LCD_HEADING_MULTIPLIER settings related to azimuth, raw_azimuth, and elevation variables being int datatypes
Eliminated FEATURE_ONE_DECIMAL_PLACE_HEADINGS and FEATURE_TWO_DECIMAL_PLACE_HEADINGS
LCD_DECIMAL_PLACES now is only setting need to change number of decimal places displayed
Hopefully fixed issues with Arduino Leonardo and Micro and serial port classes
Added note on Arduino Leonardo and Micro serial configuration in rotator_hardware.h
Added OPTION_ALLOW_ROTATIONAL_AND_CONFIGURATION_CMDS_AT_BOOT_UP which is disabled by default. By default the controller will ignore at boot up GS-232 commands that start rotation or change the configuration.
Related setting (new): ROTATIONAL_AND_CONFIGURATION_CMD_IGNORE_TIME_MS 5000 (ignore commands the first 5 seconds after boot up)
Upon deactivation of moon or sun tracking using the button pins (moon_tracking_button, sun_tracking_button) or the activation lines (moon_tracking_activate_line, sun_tracking_activate_line), any in progress rotation will now stop (Thanks Steve VE3RX)
Added LCD_PERIODIC_REDRAW_TIME_SECS, LCD_CLEAR_BEFORE_REDRAW, LCD_REDRAW_UPON_COMMANDS to settings files
Fixed bug with sun and moon tracking deactivation not stopping rotation (Thanks Steve VE3RX)
Minor addition in the k3ngdisplay code for display updates and redraws