Commit Graph

219 Commits

Author SHA1 Message Date
Anthony Good
68b56e3c5e 2020.08.17.01
FEATURE_NEXTION_DISPLAY
          Removed languages from gSC API variable and added two new bit values:
            PARK 2048
            AUTOPARK 4096
          Create new API variable gL for language
            ENGLISH 1
            SPANISH 2
            CZECH 4
            PORTUGUESE_BRASIL 8
            GERMAN 16
            FRENCH 32
        FEATURE_SATELLITE_TRACKING
          Created FEATURE_SATELLITE_TRACKING_MULTI_SAT_AOS_LOS
            Created \& command which prints out the next AOS and LOS for each satellite
2020-08-17 22:00:23 -04:00
Anthony Good
307c95767a 2020.08.15.01
FEATURE_SATELLITE_TRACKING
          The \% command (print current satellite AOS and LOS times) now runs asynchronously in the background
2020-08-15 08:37:44 -04:00
Anthony Good
db84b47013 2020.08.13.01
FEATURE_SATELLITE_TRACKING
          gSC API Variable
            This is now the first variable written to the display after initialization
            Added additional capability but values
              ENGLISH 2048
              SPANISH 4096
              CZECH 8192
              PORTUGUESE_BRASIL 16384
              GERMAN 32768
              FRENCH 65536
          Language Support (rotator_language.h)
            NEXTION_GPS_STRING
            NEXTION_PARKING_STRING
            NEXTION_PARKED_STRING
            NEXTION_OVERLAP_STRING
          vSS3 API variable deprecated
          Parked and Overlap messages move to vSS2 API variable
          Change wait time after reboot of Nextion display from 200 mS to 300 mS
2020-08-13 22:07:22 -04:00
Anthony Good
3621a2302c 2020.08.10.02
FEATURE_SATELLITE_TRACKING
          Fixed bug with \# load TLE command not populating satellite list array correctly (Thanks, Adam, VK4GHZ)
        FEATURE_NEXTION_DISPLAY
          Changed initialization so we don't wait for 200 mS doing nothing while the display initializes after we reset it
        Got rid of 1 second delay at start up.  There's really no need for it.
2020-08-10 22:42:06 -04:00
Anthony Good
36b036a7b6 2020.08.10.01
FEATURE_SATELLITE_TRACKING
          Changed TLE loading routine to store carriage returns as 0xFE in eeprom and eliminated differences with systems that do carriage return
          versus carriage return + line feed, however, regardless TLEs cannot be loaded with the Arduino IDE Serial Monitor
          as it strips multi-line pasted text in the send window.  Argh.  You need to use PuTTY on Windows.  Screen on *nix works fine.
2020-08-10 17:30:47 -04:00
Anthony Good
e45d0b2c4e 2020.08.09.01
FEATURE_SATELLITE_TRACKING
          Fixed bug with vS1..vS34 API variables (Thanks,Adam, VK4GHZ)
2020-08-09 08:17:59 -04:00
Anthony Good
f10104ca90 2020.08.08.01
FEATURE_SATELLITE_TRACKING
          Finished \| command to list all available satellites.  This will be updated later to show next AOS of each satellite.
          Added vS1..vS34 API variables that contain all satellites available for tracking
          \$ command will now first search for a literal match of the entered satellite name, and if no match is found, it will match on the first four characters
2020-08-08 08:52:12 -04:00
Anthony Good
9670b6dedd 2020.08.03.01
FEATURE_SATELLITE_TRACKING
          Fixed bug with controller locking up upon boot up if previously selected satellite wasn't available in TLEs stored in eeprom
          Enhanced TLE storage so unnecessary data in TLE line 1 isn't stored in eeprom, resulting in space savings and allowing more TLEs to be stored
          Working on \| command to list satellites available for tracking
2020-08-04 08:36:11 -04:00
Anthony Good
b3554aa5f9 2020.07.31.01
Fixed bug introduced in 2020.07.27.01 with moon, sun, and satellite tracking deactivation not stopping rotation
2020-07-31 19:44:37 -04:00
Anthony Good
2601d0d422 2020.07.30.01
Changed \?GC and \?GT and other coordinate and grid related commands to not require GPS, clock, or moon/sun tracking features.
2020-07-30 18:04:03 -04:00
Anthony Good
5c39694c0f 2020.07.28.01
FEATURE_SATELLITE_TRACKING
          OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING now displays "AOS in <time>" and "LOS in <time>".
          New API variables:
            vADF         String[11]            Satellite Next AOS Full Date String (YYYY-MM-DD)
            vADS         String[5]             Satellite Next AOS Short Date String (MM-DD)
            vATS         String[5]             Satellite Next AOS Time String (HH:MM)
            vLDF         String[11]            Satellite Next LOS Full Date String (YYYY-MM-DD)
            vLDS         String[5]             Satellite Next LOS Short Date String (MM-DD)
            vLTS         String[5]             Satellite Next LOS Time String (HH:MM)
            vALI         String[13]            Satellite AOS/LOS In String (Examples: "AOS in 1d13h","LOS in 30m12s","LOS in 5s")
          There is a bug with the "AOS/LOS in time" function (satellite_aos_los_string()) that only seems to affect HUBBLE, showing negative seconds.  Investigating.
2020-07-28 23:35:14 -04:00
Anthony Good
cf2c6e7286 2020.07.27.01
Fixed issue with race condition when changing moon, sun, and satellite tracking modes
2020-07-27 23:49:08 -04:00
Anthony Good
c94f42e3df 2020.07.26.02
FEATURE_SATELLITE_TRACKING
          \% command now calculates max elevation for each pass
        FEATURE_NEXTION_DISPLAY
          vConResult API variable no longer has response code in results from extended backslash commands
2020-07-27 14:45:03 -04:00
Anthony Good
78c586ac61 2020.07.26.01
FEATURE_SATELLITE_TRACKING
          \% command - print upcoming passes for current satellite
          \~ command now shows upcoming pass AOS and LOS
          \^1 activate satellite tracking command now pre-rotates to satellite next AOS az and el
        Added OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING - LCD display one line that alternates current satellite az/el, AOS date/time, and AOS az/le
        Settings TRACKING_ACTIVE_CHAR and TRACKING_INACTIVE_CHAR deprecated
        New settings
          OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING_TIME_MS 5000
          LCD_DISPLAY_SATELLITE_VISIBLE_NOT_TRACKED_CHAR "~"
          LCD_DISPLAY_SATELLITE_VISIBLE_TRACKED_CHAR "*"
          LCD_DISPLAY_SATELLITE_NOT_VISIBLE_TRACKED_CHAR "."
          LCD_DISPLAY_MOON_TRACKING_ACTIVE_CHAR "*"
          LCD_DISPLAY_MOON_TRACKING_INACTIVE_CHAR "-"
          LCD_DISPLAY_SUN_TRACKING_ACTIVE_CHAR "*"
          LCD_DISPLAY_SUN_TRACKING_INACTIVE_CHAR "-"
        Added nasabare.txt bare TLE file to Github in tle/ directory
2020-07-26 11:58:40 -04:00
Anthony Good
0988d8a82f 2020.07.25.03
FEATURE_NEXTION_DISPLAY
          New API variables:
            gGF          Integer               GPS fix age in mS
            vSAT         String[16]            Current Satellite Name
            vTAS         String[6]             Satellite Azimuth String
            vTES         String[6]             Satellite Elevation String
            vTLA         String[7]             Satellite Latitude String
            vTLO         String[7]             Satellite Longitude String
          gMSS has been expanded to include satellite functionality:
            gMSS         Integer, Bit Mapped   Moon, Sun, and Satellite Status
                                                    Bit Values                                  
                                                       satellite_tracking_active 16
                                                       satellite_visible 32
          gSC now has a bit mapping for FEATURE_SATELLITE_TRACKING:
            gSC         Integer, Bit Mapped   System Capabilities
                                                    Bit Values
                                                       SATELLITE 1024
2020-07-25 22:14:42 -04:00
Anthony Good
1374ac4ff1 2020.07.25.02
FEATURE_NEXTION_DISPLAY: Added vConResult string API variable which returns the results of backslash commands from the Nextion display
2020-07-25 21:41:01 -04:00
Anthony Good
c61e51afec 2020.07.25.01
More work on FEATURE_SATELLITE_TRACKING
        Added LCD support
        Command \!           - erase satellite TLE file area in eeprom
        Command \@           - print satellite TLE file area from eeprom
        Command \octothorpe  - load satellite Keplarian elements file into eeprom (copy and paste bare TLE)
        Command \$xxxxxxx    - change current satellite (xxxxxx = satellite name in stored TLE file)
        Added OPTION_DISPLAY_SATELLITE_TRACKING_CONTINUOUSLY to LCD functionality
        OPTION_DISPLAY_MOON_OR_SUN_TRACKING_CONDITIONAL changed to OPTION_DISPLAY_MOON_OR_SUN_OR_SAT_TRACKING_CONDITIONAL
        Setting LCD_MOON_OR_SUN_TRACKING_CONDITIONAL_ROW changed to LCD_MOON_OR_SUN_OR_SAT_TRACKING_CONDITIONAL_ROW
        Under construction documentation https://github.com/k3ng/k3ng_rotator_controller/wiki/707-Satellite-Tracking
2020-07-25 20:58:35 -04:00
Anthony Good
9cdc072cc3 2020.07.24.01
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
2020-07-24 21:24:34 -04:00
Anthony Good
0a4113031b 2020.07.23.01
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.
2020-07-23 22:45:10 -04:00
Anthony Good
bdf7559bf5 added Plan13 library for FEATURE_SATELLITE_TRACKING (under development) 2020-07-22 19:35:05 -04:00
Anthony Good
f15b13e2a7 2020.07.22.01
Developing FEATURE_SATELLITE_TRACKING.  Yea.
      FEATURE_NEXTION_DISPLAY: call service_nextion_display() right after rebooting display at start up
2020-07-22 19:24:44 -04:00
Anthony Good
7e7a8b9553 2020.07.21.01
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
2020-07-21 18:27:05 -04:00
Anthony Good
f680db1bfa 2020.07.19.02
FEATURE_NEXTION_DISPLAY
        Changed updating of gMSS API variable to reflect moon and sun visibility without tracking activated
2020-07-19 12:57:21 -04:00
Anthony Good
8ff1aa844a 2020.07.19.01
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%
2020-07-19 10:01:18 -04:00
Anthony Good
3c1d592ffd 2020.07.18.02
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)
2020-07-18 22:44:02 -04:00
Anthony Good
6f3d191f58 2020.07.18.01
Added extended backslash commands
        \?CGxxxx[xx]        - convert grid to coordinates
        \?RG                - read grid square
        \?CCxxxxx yyyyy     - convert coordinates to grid xxxxx = latitude, yyyyy = longitude
        \?BCxxxxx yyyyy     - calculate bearing to coordinate target xxxxx = latitude, yyyyy = longitude
        \?BGxxxx[xx]        - calculate bearing to grid target
        \?GCxxxxx yyyyy     - go to coordinate target xxxxx = latitude, yyyyy = longitude (rotate azimuth)
        \?GTxxxx[xx]        - go to grid target (rotate azimuth)
      Added function maidenhead_to_coordinates(grid,latitude_degrees, longitude_degrees) from Adam VK4GHZ code contribution
      Added function calculate_target_bearing(source_latitude, source_longitude, target_latitude, target_longitude) from Adam VK4GHZ code contribution
2020-07-18 15:00:13 -04:00
Anthony Good
d34316ffa9 2020.07.17.02
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 )
2020-07-17 19:54:04 -04:00
Anthony Good
54fc97c7ef 2020.07.17.01
Merged Pull Request 71 - Update rotator_dependencies.h, fixing issue: device was unresponsive when using LSM303D sensor with FEATURE_AZ_POSITION_POLOLU_LSM303 ( https://github.com/k3ng/k3ng_rotator_controller/pull/71/ ) (Thanks, 7x2uv)
2020-07-17 17:32:38 -04:00
Anthony Good
b9518b9a96
Merge pull request #71 from 7x2uv/patch-1
Update rotator_dependencies.h
2020-07-17 14:36:09 -04:00
Anthony Good
f934f3dc60
Merge branch 'master' into patch-1 2020-07-17 14:35:53 -04:00
Anthony Good
2925c3a885 2020.07.01.02
Added FEATURE_ADC_RESOLUTION12 contributed by Adam VK4GHZ
2020-07-01 21:15:43 -04:00
Anthony Good
f499a38000 2020.07.01.01
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 )
2020-07-01 18:15:39 -04:00
Anthony Good
0528223277 2020.06.26.02
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
2020-06-26 08:52:00 -04:00
Anthony Good
8f65f1b97f 2020.06.26.01
Removed errant HEADING_MULTIPLIER from PARK settings in settings files (Thanks, Adam VK4GHZ )
2020-06-26 08:05:17 -04:00
Anthony Good
34cbe44bcb 2020.06.20.01
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
2020-06-20 08:06:18 -04:00
Anthony Good
7219a69bae 2020.06.13.02
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
2020-06-13 12:16:12 -04:00
Anthony Good
c73c559312 2020.06.13.01
More work on \A azimuth calibration command and proper modification of azimuth_starting_point and azimuth_offset.  I think I got it right now.
2020-06-13 09:44:08 -04:00
Anthony Good
1c4ef06e1c fixed type in rotator_hardware.h 2020-06-12 11:46:30 -04:00
Anthony Good
7aeaf3274b 2020.06.12.03
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
2020-06-12 11:41:42 -04:00
Anthony Good
704e1ed46f 2020.06.12.02
Typo fix on \X0 command
2020-06-12 11:39:24 -04:00
Anthony Good
d363a7c0e4 Merge branch 'master' of https://github.com/k3ng/k3ng_rotator_controller 2020-06-12 10:24:57 -04:00
Anthony Good
079da32f61 2020.06.12.01
\A Azimuth calibration command now also modifies azimuth_starting_point so that proper rotation decisions are made for large calibration values
2020-06-12 10:24:08 -04:00
Anthony Good
fcab05cd72
Create LICENSE 2020-05-29 22:23:47 -04:00
Anthony Good
a9032eccbb
Delete LICENSE 2020-05-29 22:21:22 -04:00
Anthony Good
0afb74cfbc correction to last Github push 2020-05-26 14:17:29 -04:00
Anthony Good
0c3dd72321 2020.05.26.01
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
2020-05-26 14:12:05 -04:00
AbdelHakim ALLAL
d94abc9767
Update rotator_dependencies.h
Fix POLOLU_LSM303 "Setup error"
2020-05-26 14:50:22 +01:00
Anthony Good
be47f2143f 2020.05.11.02
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)
2020-05-11 19:58:10 -04:00
Anthony Good
0f74085281 2020.05.11.01
Handle ARDUINO_AVR_MICRO having Serial port as Serial_ class and Serial1 as HardwareSerial class
2020-05-11 17:31:05 -04:00
Anthony Good
97c655108f 2020.05.08.01
Made improvement to rotator_k3ngdisplay.cpp to reduce LCD bus traffic from cursor positioning
2020-05-08 18:30:37 -04:00