mirror of
https://github.com/k3ng/k3ng_rotator_controller.git
synced 2025-02-02 17:10:40 +00:00
2.0.2016092501
Working on FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB and FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB Fixed bug with last row of LCD display getting blanked out FEATURE_TEST_DISPLAY_AT_STARTUP Noted in various settings files that AZIMUTH_STARTING_POINT_DEFAULT and AZIMUTH_ROTATION_CAPABILITY_DEFAULT are used only for initializing EEPROM Fixed an issue with FEATURE_AZ_POSITION_HH12_AS5045_SSI and FEATURE_AZ_POSITION_INCREMENTAL_ENCODER using AZIMUTH_STARTING_POINT_DEFAULT rather than azimuth_starting_point variable
This commit is contained in:
parent
77f2098b01
commit
ba24c61885
@ -72,287 +72,32 @@
|
||||
|
||||
Rule #4: Have fun.
|
||||
|
||||
|
||||
New in this release:
|
||||
|
||||
HH-12 encoder support
|
||||
OPTION_PULSE_IGNORE_AMBIGUOUS_PULSES
|
||||
\P PWM command is now \W
|
||||
\P is Park command
|
||||
park_in_progress_pin // goes high when a park has been initiated and rotation is in progress
|
||||
parked_pin // goes high when in a parked position
|
||||
heading_reading_inhibit_pin
|
||||
FEATURE_LIMIT_SENSE
|
||||
#define az_limit_sense_pin 0 // input - low stops azimuthal rotation
|
||||
#define el_limit_sense_pin 0 // input - low stops elevation rotation
|
||||
\Axxx command - manually set azimuth, xxx = azimuth (FEATURE_AZ_POSITION_ROTARY_ENCODER or FEATURE_AZ_POSITION_PULSE_INPUT only)
|
||||
\Bxxx command - manually set elevation, xxx = elevation (FEATURE_EL_POSITION_POTENTIOMETER or FEATURE_EL_POSITION_ROTARY_ENCODER only)
|
||||
fixed bug with preset encoder start and kill button
|
||||
FEATURE_AZ_POSITION_INCREMENTAL_ENCODER
|
||||
FEATURE_EL_POSITION_INCREMENTAL_ENCODER
|
||||
OPTION_INCREMENTAL_ENCODER_PULLUPS
|
||||
#define AZ_POSITION_INCREMENTAL_ENCODER_PULSES_PER_REV 8000.0
|
||||
#define EL_POSITION_INCREMENTAL_ENCODER_PULSES_PER_REV 8000.0
|
||||
AZIMUTH_STARTING_POINT_DEFAULT and AZIMUTH_ROTATION_CAPABILITY_DEFAULT are now persistent
|
||||
Yaesu P35, P45, and Z commands no longer write to eeprom
|
||||
control_port points to the hardware port for computer interface
|
||||
remote_unit_port points to the hardware port for interfacing to remote unit
|
||||
removed OPTION_SERIAL1, 2, 3, 4
|
||||
SS command: SS0 = control port, SS1 = remote unit port
|
||||
No longer need to manually uncomment hh12.h or object declarations
|
||||
No longer need to manually uncomment LiquidCrystal lcd()
|
||||
No longer need to manually uncomment Adafruit_ADXL345 accel
|
||||
No longer need to manually uncomment ADXL345 accel
|
||||
No longer need to manually uncomment Adafruit_LSM303 lsm;
|
||||
No longer need to manually uncomment HMC5883L compass;
|
||||
FEATURE_4_BIT_LCD_DISPLAY
|
||||
FEATURE_ADAFRUIT_I2C_LCD
|
||||
FEATURE_YOURDUINO_I2C_LCD
|
||||
FEATURE_RFROBOT_I2C_DISPLAY
|
||||
No longer need to uncomment:
|
||||
FEATURE_LCD_DISPLAY
|
||||
FEATURE_I2C_LCD
|
||||
any include files
|
||||
serial led duration now set by SERIAL_LED_TIME_MS
|
||||
#define CONTROL_PORT_MAPPED_TO &Serial // change this line to map the control port to a different serial port (Serial1, Serial2, etc.)
|
||||
#define REMOTE_PORT_MAPPED_TO &Serial1 // change this line to map the remote_unit port to a different serial port
|
||||
start of remote unit pin control
|
||||
remote unit pin control (add 100 to a pin number define to map to remote unit pin)
|
||||
FEATURE_CLOCK
|
||||
FEATURE_MOON_TRACKING
|
||||
#define DEFAULT_LATITUDE 40.889958
|
||||
#define DEFAULT_LONGITUDE -75.585972
|
||||
|
||||
#define INTERNAL_CLOCK_CORRECTION 0.00145
|
||||
|
||||
\C - show clock
|
||||
\O - set clock \OYYYYMMDDHHmm
|
||||
\Mx - x = 0: deactive moon tracking; x = 1: activate moon tracking
|
||||
\Gxxxxxx - set coordinates via grid square (example: \GFN20EV)
|
||||
|
||||
Park is now deactivated when issuing a Yaesu command (other than C) or when doing manual rotation
|
||||
FEATURE_GPS
|
||||
#define GPS_PORT_MAPPED_TO &Serial2
|
||||
#define GPS_PORT_BAUD_RATE 9600
|
||||
#define SYNC_TIME_WITH_GPS 1
|
||||
#define SYNC_COORDINATES_WITH_GPS 1
|
||||
#define GPS_SYNC_PERIOD_SECONDS 10 // how long to consider internal clock syncronized after a GPS reading
|
||||
#define GPS_VALID_FIX_AGE_MS 10000 // consider a GPS reading valid if the fix age is less than this
|
||||
FEATURE_SUN_TRACKING
|
||||
\Ux - x = 0: deactive sun tracking; x = 1: activate sun tracking
|
||||
FEATURE_AZ_POSITION_INCREMENTAL_ENCODER & FEATURE_EL_POSITION_INCREMENTAL_ENCODER coding
|
||||
Updated debug output format
|
||||
\XS - calibration az and el to sun heading - there are calculation bugs
|
||||
fixed initialize_serial() compilaton error when neither yaesu or easycom protocol is selected in features
|
||||
fixed bugs in \XS and \XM
|
||||
\XS and\XM now working on all sensor types
|
||||
moon_tracking_active_pin
|
||||
sun_tracking_active_pin
|
||||
moon_tracking_activate_line
|
||||
sun_tracking_activate_line
|
||||
moon_tracking_button
|
||||
sun_tracking_button
|
||||
\A azimuth calibration now also works with sensors other than rotary encoders and pulse input
|
||||
\B elevation calibration now also works with sensors other than rotary encoders and pulse input
|
||||
OPTION_BUTTON_RELEASE_NO_SLOWDOWN
|
||||
Fixed God-awful bug that caused Arduino to crash when running FEATURE_GPS. Note to self: never declare a char in a switch case. It causes unpredicatable, unexplainable evil stuff to occur.
|
||||
Fixed bug with elevation PWM
|
||||
gps_sync pin - goes high when clock is GPS synchronized
|
||||
FEATURE_RTC_PCF8583
|
||||
\O command also programs realtime clocks now
|
||||
Fixed bug in PWM outputs when changing direction
|
||||
Ethernet now working with backslash commands, Yaesu commands, and Easycom commands
|
||||
Fixed bug in Easycom (non-standard) AZ and EL commands
|
||||
Ethernet remote unit slave support (slave only, master using ethernet not done yet)
|
||||
#define GPS_MIRROR_PORT &Serial3
|
||||
OPTION_DISPLAY_SMALL_CLOCK
|
||||
#define LCD_SMALL_CLOCK_POSITION LEFT
|
||||
OPTION_DISPLAY_GPS_INDICATOR
|
||||
#define LCD_GPS_INDICATOR_POSITION RIGHT
|
||||
OPTION_DISPLAY_MOON_TRACKING_CONTINUOUSLY
|
||||
#define LCD_MOON_TRACKING_ROW 3
|
||||
#define LCD_MOON_TRACKING_UPDATE_INTERVAL 5000
|
||||
OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY
|
||||
#define LCD_SUN_TRACKING_ROW 4
|
||||
#define LCD_SUN_TRACKING_UPDATE_INTERVAL 5000
|
||||
#define LCD_ROWS 4
|
||||
fixed bug with Yourduino LCD display initialization (thanks PA3FPQ)
|
||||
added GPS counters to debug output
|
||||
FEATURE_POWER_SWITCH
|
||||
#define POWER_SWITCH_IDLE_TIMEOUT 15 (unit: minutes)
|
||||
#define power_switch 0
|
||||
OPTION_DISPLAY_MOON_OR_SUN_TRACKING_CONDITIONAL
|
||||
#define LCD_MOON_OR_SUN_TRACKING_CONDITIONAL_ROW 3
|
||||
OPTION_DISPLAY_BIG_CLOCK
|
||||
#define GPS_UPDATE_LATENCY_COMPENSATION_MS 200
|
||||
#define AZIMUTH_CALIBRATION_FROM_ARRAY {180,630}
|
||||
#define AZIMUTH_CALIBRATION_TO_ARRAY {180,630}
|
||||
#define ELEVATION_CALIBRATION_FROM_ARRAY {-180,0,180}
|
||||
#define ELEVATION_CALIBRATION_TO_ARRAY {-180,0,180}
|
||||
#define rotate_cw_ccw 0
|
||||
#define az_stepper_motor_direction 0
|
||||
#define el_stepper_motor_direction 0
|
||||
bug fix for long clock display
|
||||
performance improvement for az / el display on LCD
|
||||
#define az_stepper_motor_pulse 0
|
||||
#define el_stepper_motor_pulse 0
|
||||
OPTION_DISPLAY_ALT_HHMM_CLOCK_AND_MAIDENHEAD
|
||||
#define LCD_SMALL_CLOCK_AND_MAIDENHEAD_POSITION
|
||||
#define LCD_SMALL_CLOCK_AND_MAIDENHEAD_ROW 4
|
||||
#define LCD_GPS_INDICATOR_ROW 1
|
||||
OPTION_EXTERNAL_ANALOG_REFERENCE
|
||||
more debug_print conversion
|
||||
|
||||
OPTION_DISPLAY_SMALL_CLOCK renamed to OPTION_DISPLAY_HHMM_CLOCK
|
||||
LCD_SMALL_CLOCK_POSITION renamed to LCD_HHMM_CLOCK_POSITION
|
||||
OPTION_DISPLAY_HHMMSS_CLOCK
|
||||
OPTION_DISPLAY_DISABLE_DIRECTION_STATUS
|
||||
OPTION_DISPLAY_SMALL_CLOCK_AND_MAIDENHEAD renamed to OPTION_DISPLAY_ALT_HHMM_CLOCK_AND_MAIDENHEAD
|
||||
OPTION_DISPLAY_CONSTANT_HHMMSS_CLOCK_AND_MAIDENHEAD
|
||||
Recent Update History
|
||||
|
||||
#define LCD_HHMM_CLOCK_POSITION LEFT //LEFT or RIGHT
|
||||
#define LCD_HHMMSS_CLOCK_POSITION LEFT //LEFT or RIGHT
|
||||
#define LCD_ALT_HHMM_CLOCK_AND_MAIDENHEAD_POSITION LEFT
|
||||
#define LCD_ALT_HHMM_CLOCK_AND_MAIDENHEAD_ROW 1
|
||||
#define LCD_CONSTANT_HHMMSS_CLOCK_AND_MAIDENHEAD_POSITION LEFT
|
||||
#define LCD_CONSTANT_HHMMSS_CLOCK_AND_MAIDENHEAD_ROW 1
|
||||
Prior to 2.0.2015040401 (May still need to be documented in the wiki):
|
||||
|
||||
OPTION_DISPLAY_DISABLE_DIRECTION_STATUS changed to OPTION_DISPLAY_DIRECTION_STATUS
|
||||
worked on FEATURE_TWO_DECIMAL_PLACE_HEADINGS
|
||||
LANGUAGE_ENGLISH
|
||||
|
||||
Easycom improvements - space and LF are now also command delimiters. Also fixed bug with one decimal place. Works with PSTRotator
|
||||
Fixed issue with LCD display updating when target az or target el was changed during rotation
|
||||
I2C_LCD_COLOR also applies to Yourduino LCD display
|
||||
|
||||
HH-12 elevation bug fix
|
||||
|
||||
FEATURE_MASTER_WITH_SERIAL_SLAVE
|
||||
FEATURE_MASTER_WITH_ETHERNET_SLAVE
|
||||
FEATURE_EL_POSITION_MEMSIC_2125 under development - not working yet
|
||||
|
||||
fixed a bug with azimuth and elevation offset zeroing out first decimal place
|
||||
Ethernet master/slave link!
|
||||
#define ETHERNET_SLAVE_IP_ADDRESS 192,168,1,173
|
||||
#define ETHERNET_SLAVE_TCP_PORT 23
|
||||
#define ETHERNET_SLAVE_RECONNECT_TIME_MS 250
|
||||
|
||||
Changed master/slave AZ and EL command result format: AZxxx.xxxxxx EL+xxx.xxxxxx
|
||||
Slave CL command
|
||||
|
||||
OPTION_SYNC_MASTER_CLOCK_TO_SLAVE
|
||||
|
||||
fixed "if (clock_status == SLAVE_SYNC) {clock_status = FREE_RUNNING;}" compile error
|
||||
|
||||
OPTION_CLOCK_ALWAYS_HAVE_HOUR_LEADING_ZERO
|
||||
|
||||
OPTION_DISABLE_HMC5883L_ERROR_CHECKING
|
||||
HARDWARE_EA4TX_ARS_USB
|
||||
HARDWARE_M0UPU
|
||||
rotator_hardware.h file
|
||||
rotator_features_ea4tx_ars_usb.h
|
||||
rotator_pins_ea4tx_ars_usb.h
|
||||
#define AZ_POSITION_INCREMENTAL_ENCODER_PULSES_PER_REV 2000.0
|
||||
#define EL_POSITION_INCREMENTAL_ENCODER_PULSES_PER_REV 2000.0
|
||||
|
||||
FEATURE_EL_POSITION_INCREMENTAL_ENCODER now does 360 degrees of rotation rather than 720
|
||||
|
||||
OPTION_PRESET_ENCODER_0_360_DEGREES
|
||||
|
||||
service_rotation() - fixed rollover bug with az and el slow down
|
||||
|
||||
Fixed decimal place issue with Easycom AZ and EL query commands
|
||||
FEATURE_EL_POSITION_INCREMENTAL_ENCODER - fixed storage and retrieval of elevation in eeprom
|
||||
Bug fix - stop command wouldn't work when in slow down
|
||||
AZ_INITIALLY_IN_SLOW_DOWN_PWM
|
||||
EL_INITIALLY_IN_SLOW_DOWN_PWM
|
||||
|
||||
Fixed compilation error when FEATURE_JOYSTICK_CONTROL is activated and FEATURE_ELEVATION_CONTROL is disabled
|
||||
|
||||
FEATURE_ANALOG_OUTPUT_PINS (rotator_features.h) (documented 2015-04-16)
|
||||
FEATURE_AZ_POSITION_LSM303 is now FEATURE_AZ_POSITION_ADAFRUIT_LSM303 (rotator_features.h) (documented 2015-04-16)
|
||||
FEATURE_EL_POSITION_LSM303 is now FEATURE_EL_POSITION_ADAFRUIT_LSM303 (rotator_features.h) (documented 2015-04-16)
|
||||
LANGUAGE_CZECH (rotator_features.h) (documented)
|
||||
|
||||
FEATURE_AZ_POSITION_POLOLU_LSM303 (rotator_features.h) (code contributed by AD0CZ) (documented 2015-04-16)
|
||||
FEATURE_EL_POSITION_POLOLU_LSM303 (rotator_features.h) (documented 2015-04-16)
|
||||
#define POLOLU_LSM_303_MIN_ARRAY {+59, +19, -731} (rotator_settings.h) (documented 2015-04-16)
|
||||
#define POLOLU_LSM_303_MAX_ARRAY {+909, +491, +14} (rotator_settings.h) (documented 2015-04-16)
|
||||
DEBUG_POLOLU_LSM303_CALIBRATION (rotator_features.h)
|
||||
|
||||
bug fixed with brake_release() affecting elevation brake (thanks Paolo, IT9IPQ)
|
||||
|
||||
LANGUAGE_ITALIAN code donated by Paolo, IT9IPQ
|
||||
OPTION_DISPLAY_VERSION_ON_STARTUP code provided by Paolo, IT9IPQ
|
||||
|
||||
Fixed bug with LANGUAGE_CZECH (thanks Radek, OK2NMA)
|
||||
|
||||
Change in Easycom response terminator (now uses whatever command terminator was sent to it)
|
||||
Easycom AZ EL command string response change to +xxx.xx +xxx.xx
|
||||
|
||||
OPTION_HAMLIB_EASYCOM_AZ_EL_COMMAND_HACK
|
||||
LANGUAGE_PORTUGUESE_BRASIL (thanks Ismael, PY4PI)
|
||||
|
||||
check_brake_release() bug fix
|
||||
|
||||
configuration.az_stepper_motor_last_direction, configuration.az_stepper_motor_last_pin_state, configuration.el_stepper_motor_last_direction, configuration.el_stepper_motor_last_pin_state
|
||||
|
||||
OPTION_HAMLIB_EASYCOM_NO_TERMINATOR_CHARACTER_HACK ; HARDWARE_WB6KCN
|
||||
|
||||
FEATURE_STEPPER_MOTOR_EXPERIMENTAL_CODE_2
|
||||
|
||||
AZ_INCREMENTAL_ENCODER_ZERO_PULSE_POSITION
|
||||
EL_INCREMENTAL_ENCODER_ZERO_PULSE_POSITION
|
||||
|
||||
OPTION_BLINK_OVERLAP_LED and OPTION_OVERLAP_LED_BLINK_MS setting
|
||||
|
||||
FEATURE_SUN_PUSHBUTTON_AZ_EL_CALIBRATION and FEATURE_MOON_PUSHBUTTON_AZ_EL_CALIBRATION; pin_sun_pushbutton_calibration, pin_moon_pushbutton_calibration
|
||||
|
||||
Rolled FEATURE_STEPPER_MOTOR_EXPERIMENTAL_CODE_2 into FEATURE_STEPPER_MOTOR
|
||||
|
||||
Working on FEATURE_AUTOCORRECT
|
||||
|
||||
Bug fix involving FEATURE_AZ_POSITION_HH12_AS5045_SSI and azimuth_offset (thanks Johan, PA3FPQ and Jurgen, PE1LWT)
|
||||
Bug fix - wasn't initializing rotate_cw_ccw (thanks Erick, WB6KCN)
|
||||
Bug fix with OPTION_DISPLAY_VERSION_ON_STARTUP and 2 row displays (thanks Gianfranco, IZ8EWD)
|
||||
OPTION_EL_PULSE_DEBOUNCE code - (thanks Gianfranco, IZ8EWD)
|
||||
#define EL_POSITION_PULSE_DEBOUNCE 500 // in ms
|
||||
|
||||
OPTION_HH12_10_BIT_READINGS in hh12.h (thanks Johan PA3FPQ)
|
||||
|
||||
Correction from Johan PA3FPQ on OPTION_HH12_10_BIT_READINGS
|
||||
|
||||
#define BRAKE_ACTIVE_STATE HIGH
|
||||
#define BRAKE_INACTIVE_STATE LOW
|
||||
|
||||
OPTION_SCANCON_2RMHF3600_INC_ENCODER - thanks Jasper, PA2J
|
||||
|
||||
Fixed compile bug with OPTION_EL_MANUAL_ROTATE_LIMITS) when FEATURE_ELEVATION_CONTROL is not enabled
|
||||
|
||||
Eliminated az_stepper_motor_direction and el_stepper_motor_direction. Use rotate_* pins instead!
|
||||
|
||||
Self-resetting functionality
|
||||
Fixed bug with OPTION_DISPLAY_DIRECTION_STATUS updating
|
||||
|
||||
Improved the self reset with a non-blocking 5 second delay
|
||||
|
||||
Added remote slave commands:
|
||||
RC - read coordinates (returns RCxx.xxxx -xxx.xxxx)
|
||||
GS - query GPS status (returns GS0 (no sync) or GS1 (sync))
|
||||
|
||||
OPTION_SYNC_MASTER_COORDINATES_TO_SLAVE
|
||||
|
||||
reset_pin
|
||||
|
||||
Updated for Arduino 1.6.1
|
||||
|
||||
Fixed compilation issue with FEATURE_ELEVATION_CORRECTION and Arduino 1.6.x
|
||||
|
||||
OPTION_RESET_METHOD_JMP_ASM_0
|
||||
Change /E command to do setup() for system reset
|
||||
|
||||
Fixed calculation issues with FEATURE_ELEVATION_CORRECTION
|
||||
Fixed bug with FEATURE_AZIMUTH_CORRECTION and FEATURE_ELEVATION_CORRECTION rounding off to nearest degree
|
||||
DEBUG_POLOLU_LSM303_CALIBRATION (rotator_features.h)
|
||||
OPTION_HAMLIB_EASYCOM_AZ_EL_COMMAND_HACK
|
||||
LANGUAGE_PORTUGUESE_BRASIL (thanks Ismael, PY4PI)
|
||||
AZ_INCREMENTAL_ENCODER_ZERO_PULSE_POSITION
|
||||
EL_INCREMENTAL_ENCODER_ZERO_PULSE_POSITION
|
||||
OPTION_BLINK_OVERLAP_LED and OPTION_OVERLAP_LED_BLINK_MS setting
|
||||
FEATURE_SUN_PUSHBUTTON_AZ_EL_CALIBRATION and FEATURE_MOON_PUSHBUTTON_AZ_EL_CALIBRATION; pin_sun_pushbutton_calibration, pin_moon_pushbutton_calibration
|
||||
Working on FEATURE_AUTOCORRECT
|
||||
OPTION_EL_PULSE_DEBOUNCE code - (thanks Gianfranco, IZ8EWD)
|
||||
#define EL_POSITION_PULSE_DEBOUNCE 500 // in ms
|
||||
OPTION_HH12_10_BIT_READINGS in hh12.h (thanks Johan PA3FPQ)
|
||||
#define BRAKE_ACTIVE_STATE HIGH
|
||||
#define BRAKE_INACTIVE_STATE LOW
|
||||
OPTION_SCANCON_2RMHF3600_INC_ENCODER - thanks Jasper, PA2J
|
||||
Added remote slave commands:
|
||||
RC - read coordinates (returns RCxx.xxxx -xxx.xxxx)
|
||||
GS - query GPS status (returns GS0 (no sync) or GS1 (sync))
|
||||
OPTION_SYNC_MASTER_COORDINATES_TO_SLAVE
|
||||
reset_pin
|
||||
OPTION_RESET_METHOD_JMP_ASM_0
|
||||
Change /E command to do setup() for system reset
|
||||
|
||||
2.0.2015040401 Changed configuration.azimuth_offset to use raw_azimuth rather than azimuth for calculation
|
||||
|
||||
@ -511,6 +256,13 @@
|
||||
2.0.2016090801
|
||||
Corrected error in FEATURE_ROTARY_ENCODER_SUPPORT ttable (thanks, frye.dale)
|
||||
|
||||
2.0.2016092501
|
||||
Working on FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB and FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB
|
||||
Fixed bug with last row of LCD display getting blanked out
|
||||
FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
Noted in various settings files that AZIMUTH_STARTING_POINT_DEFAULT and AZIMUTH_ROTATION_CAPABILITY_DEFAULT are used only for initializing EEPROM
|
||||
Fixed an issue with FEATURE_AZ_POSITION_HH12_AS5045_SSI and FEATURE_AZ_POSITION_INCREMENTAL_ENCODER using AZIMUTH_STARTING_POINT_DEFAULT rather than azimuth_starting_point variable
|
||||
|
||||
|
||||
All library files should be placed in directories likes \sketchbook\libraries\library1\ , \sketchbook\libraries\library2\ , etc.
|
||||
in order to compile in Arduino IDE 1.6.7
|
||||
@ -519,7 +271,7 @@
|
||||
|
||||
*/
|
||||
|
||||
#define CODE_VERSION "2.0.2016090801"
|
||||
#define CODE_VERSION "2.0.2016092501"
|
||||
|
||||
#include <avr/pgmspace.h>
|
||||
#include <EEPROM.h>
|
||||
@ -547,8 +299,6 @@
|
||||
|
||||
#include "rotator_dependencies.h"
|
||||
|
||||
//#include "rotator_debug.h"
|
||||
|
||||
#ifdef FEATURE_4_BIT_LCD_DISPLAY
|
||||
#include <LiquidCrystal.h> // required for classic 4 bit interface LCD display (FEATURE_4_BIT_LCD_DISPLAY)
|
||||
#endif // FEATURE_4_BIT_LCD_DISPLAY
|
||||
@ -577,41 +327,56 @@
|
||||
#if defined(FEATURE_AZ_POSITION_HMC5883L)
|
||||
#include <HMC5883L.h> // required for HMC5883L digital compass support
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB) || defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303) || defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303)
|
||||
#include <Adafruit_Sensor.h> // required for any Adafruit sensor libraries
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB)
|
||||
#include <ADXL345.h> // required for elevation ADXL345 accelerometer using Love Electronics ADXL345 library
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB)
|
||||
#include <Adafruit_ADXL345_U.h> // required for elevation ADXL345 accelerometer using Adafruit ADXL345 library (FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB)
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303) || defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303)
|
||||
#include <Adafruit_LSM303.h> // required for azimuth and/or elevation using LSM303 compass and/or accelerometer
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_POLOLU_LSM303
|
||||
#include <LSM303.h>
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_MOON_TRACKING) || defined(FEATURE_SUN_TRACKING)
|
||||
#include <moon2.h>
|
||||
#endif // defined(FEATURE_MOON_TRACKING) || defined(FEATURE_SUN_TRACKING)
|
||||
|
||||
#ifdef FEATURE_SUN_TRACKING
|
||||
#include <sunpos.h>
|
||||
#endif // FEATURE_SUN_TRACKING
|
||||
|
||||
#ifdef FEATURE_GPS
|
||||
#include <TinyGPS.h>
|
||||
#endif // FEATURE_GPS
|
||||
|
||||
#ifdef FEATURE_RTC_DS1307
|
||||
#include <RTClib.h>
|
||||
#endif // FEATURE_RTC_DS1307
|
||||
|
||||
#ifdef FEATURE_RTC_PCF8583
|
||||
#include <PCF8583.h>
|
||||
#endif //FEATURE_RTC_PCF8583
|
||||
|
||||
#ifdef FEATURE_ETHERNET
|
||||
#include <SPI.h>
|
||||
#include <Ethernet.h>
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB) || defined(FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
//#define ENCODER_OPTIMIZE_INTERRUPTS
|
||||
#include <Encoder.h>
|
||||
#endif
|
||||
|
||||
#include "rotator.h"
|
||||
|
||||
@ -1118,7 +883,17 @@ DebugClass debug;
|
||||
#define SEI_BUS_COMMAND_TIMEOUT_MS 6000
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB
|
||||
Encoder AZ_ENCODER(az_rotary_position_pin1, az_rotary_position_pin2);
|
||||
long PREV_AZ_POSITION = 0;
|
||||
long CURRENT_AZ_POSITION;
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB
|
||||
Encoder EL_ENCODER(el_rotary_position_pin1, el_rotary_position_pin2);
|
||||
long PREV_EL_POSITION = 0;
|
||||
long CURRENT_EL_POSITION;
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------ let's start doing some stuff now that we got the formalities out of the way --------------------*/
|
||||
@ -3409,7 +3184,7 @@ void update_display(){
|
||||
char workstring2[32] = "";
|
||||
byte row_override[LCD_ROWS+1];
|
||||
|
||||
for (int x = 0;x < LCD_ROWS;x++){row_override[x] = 0;}
|
||||
for (int x = 0;x < (LCD_ROWS+1);x++){row_override[x] = 0;}
|
||||
|
||||
k3ngdisplay.clear_pending_buffer();
|
||||
|
||||
@ -3920,6 +3695,10 @@ void update_display(){
|
||||
}
|
||||
}
|
||||
k3ngdisplay.print_center_fixed_field_size(workstring,LCD_MOON_TRACKING_ROW-1,LCD_COLUMNS);
|
||||
} else {
|
||||
#if defined(DEBUG_DISPLAY)
|
||||
debug.println(F("update_display: OPTION_DISPLAY_MOON_TRACKING_CONTINUOUSLY row override"));
|
||||
#endif
|
||||
}
|
||||
#endif //defined(OPTION_DISPLAY_MOON_TRACKING_CONTINUOUSLY) && defined(FEATURE_MOON_TRACKING)
|
||||
|
||||
@ -3957,6 +3736,10 @@ void update_display(){
|
||||
}
|
||||
}
|
||||
k3ngdisplay.print_center_fixed_field_size(workstring,LCD_SUN_TRACKING_ROW-1,LCD_COLUMNS);
|
||||
} else {
|
||||
#if defined(DEBUG_DISPLAY)
|
||||
debug.println(F("update_display: OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY row override"));
|
||||
#endif
|
||||
}
|
||||
#endif //defined(OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY) && defined(FEATURE_SUN_TRACKING)
|
||||
|
||||
@ -4778,9 +4561,9 @@ void read_azimuth(byte force_read){
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_HH12_AS5045_SSI
|
||||
#if defined(OPTION_REVERSE_AZ_HH12_AS5045)
|
||||
raw_azimuth = int((360.0-azimuth_hh12.heading()+AZIMUTH_STARTING_POINT_DEFAULT) * HEADING_MULTIPLIER);
|
||||
raw_azimuth = int((360.0-azimuth_hh12.heading()+azimuth_starting_point /*AZIMUTH_STARTING_POINT_DEFAULT*/) * HEADING_MULTIPLIER);
|
||||
#else
|
||||
raw_azimuth = int((azimuth_hh12.heading()+AZIMUTH_STARTING_POINT_DEFAULT) * HEADING_MULTIPLIER);
|
||||
raw_azimuth = int((azimuth_hh12.heading()+azimuth_starting_point /*AZIMUTH_STARTING_POINT_DEFAULT*/) * HEADING_MULTIPLIER);
|
||||
#endif
|
||||
#ifdef DEBUG_HH12
|
||||
if ((millis() - last_hh12_debug) > 5000) {
|
||||
@ -4833,7 +4616,7 @@ void read_azimuth(byte force_read){
|
||||
*/
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_INCREMENTAL_ENCODER
|
||||
if (AZIMUTH_STARTING_POINT_DEFAULT == 0) {
|
||||
if (azimuth_starting_point /*AZIMUTH_STARTING_POINT_DEFAULT*/ == 0) {
|
||||
raw_azimuth = (((((az_incremental_encoder_position) / (AZ_POSITION_INCREMENTAL_ENCODER_PULSES_PER_REV*4.)) * 360.0)) * HEADING_MULTIPLIER);
|
||||
} else {
|
||||
if (az_incremental_encoder_position > (AZ_POSITION_INCREMENTAL_ENCODER_PULSES_PER_REV*4.)) {
|
||||
@ -4933,14 +4716,7 @@ void output_debug(){
|
||||
#endif
|
||||
|
||||
debug.print("\t\t");
|
||||
#ifdef DEBUG_MEMORY
|
||||
void * HP = malloc(4);
|
||||
if (HP) {free(HP);}
|
||||
unsigned long free = (unsigned long)SP - (unsigned long)HP;
|
||||
sprintf(tempstring,"%lu",(unsigned long)free);
|
||||
debug.print(tempstring);
|
||||
debug.print("b free");
|
||||
#endif //DEBUG_MEMORY
|
||||
|
||||
|
||||
#ifdef FEATURE_YAESU_EMULATION
|
||||
debug.print("\t\tGS-232");
|
||||
@ -5028,11 +4804,15 @@ void output_debug(){
|
||||
debug.print(") ");
|
||||
#endif // FEATURE_AZ_POSITION_POTENTIOMETER
|
||||
|
||||
debug.print("\t[");
|
||||
debug.print(F("\tStart:"));
|
||||
debug.print(azimuth_starting_point);
|
||||
debug.print("+");
|
||||
debug.print(azimuth_rotation_capability);
|
||||
debug.print("]");
|
||||
debug.print(F(" Rotation Capability:"));
|
||||
debug.print(azimuth_rotation_capability,0);
|
||||
debug.print(F(" Raw Az Range: "));
|
||||
debug.print(azimuth_starting_point);
|
||||
debug.print("-");
|
||||
debug.print((azimuth_starting_point+azimuth_rotation_capability),0);
|
||||
debug.println("");
|
||||
|
||||
#ifndef HARDWARE_EA4TX_ARS_USB
|
||||
debug.print(" AZ Speed Norm: ");
|
||||
@ -5044,9 +4824,9 @@ void output_debug(){
|
||||
debug.print(analogReadEnhanced(az_speed_pot));
|
||||
}
|
||||
if (az_preset_pot) {
|
||||
debug.print(" AZ Preset Pot Analog: ");
|
||||
debug.print(F(" AZ Preset Pot Analog: "));
|
||||
debug.print(analogReadEnhanced(az_preset_pot));
|
||||
debug.print(" AZ Preset Pot Setting: ");
|
||||
debug.print(F(" AZ Preset Pot Setting: "));
|
||||
dtostrf((map(analogReadEnhanced(az_preset_pot), AZ_PRESET_POT_FULL_CW, AZ_PRESET_POT_FULL_CCW, AZ_PRESET_POT_FULL_CW_MAP, AZ_PRESET_POT_FULL_CCW_MAP)),0,0,tempstring);
|
||||
debug.print(tempstring);
|
||||
}
|
||||
@ -5056,6 +4836,7 @@ void output_debug(){
|
||||
#endif // ndef HARDWARE_EA4TX_ARS_USB
|
||||
debug.println("");
|
||||
|
||||
|
||||
|
||||
#ifdef FEATURE_ELEVATION_CONTROL
|
||||
debug.print("\tEL: ");
|
||||
@ -5299,15 +5080,32 @@ void output_debug(){
|
||||
#endif //FEATURE_ELEVATION_CONTROL
|
||||
#endif //DEBUG_AUTOCORRECT
|
||||
|
||||
if ((raw_azimuth / LCD_HEADING_MULTIPLIER) < azimuth_starting_point){
|
||||
debug.print(F("\tWARNING: raw azimuth is CCW of configured starting point of "));
|
||||
debug.print(azimuth_starting_point);
|
||||
debug.println("!");
|
||||
}
|
||||
|
||||
if ((raw_azimuth / LCD_HEADING_MULTIPLIER) > (azimuth_starting_point+azimuth_rotation_capability)){
|
||||
debug.print(F("\tWARNING: raw azimuth is CW of configured ending point of "));
|
||||
debug.print((azimuth_starting_point+azimuth_rotation_capability),0);
|
||||
debug.println("!");
|
||||
}
|
||||
|
||||
void * HP = malloc(4);
|
||||
if (HP) {free(HP);}
|
||||
unsigned long free = (unsigned long)SP - (unsigned long)HP;
|
||||
sprintf(tempstring,"%lu",(unsigned long)free);
|
||||
if ((free < 500) || (free > 10000)){
|
||||
debug.print(F("WARNING: Low memory: "));
|
||||
debug.print(tempstring);
|
||||
debug.println(F("b free"));
|
||||
}
|
||||
|
||||
|
||||
debug.println("\n\n\n");
|
||||
|
||||
//port_flush();
|
||||
|
||||
last_debug_output_time = millis();
|
||||
|
||||
|
||||
last_debug_output_time = millis();
|
||||
|
||||
}
|
||||
#endif // defined(FEATURE_REMOTE_UNIT_SLAVE) || defined(FEATURE_YAESU_EMULATION) || defined(FEATURE_EASYCOM_EMULATION)
|
||||
@ -6745,6 +6543,10 @@ void initialize_display(){
|
||||
|
||||
k3ngdisplay.initialize();
|
||||
|
||||
#if defined(FEATURE_TEST_DISPLAY_AT_STARTUP)
|
||||
test_display();
|
||||
#endif
|
||||
|
||||
#ifdef OPTION_DISPLAY_VERSION_ON_STARTUP
|
||||
k3ngdisplay.print_center_timed_message("\x4B\x33\x4E\x47","\x52\x6F\x74\x6F\x72\x20\x43\x6F\x6E\x74\x72\x6F\x6C\x6C\x65\x72",CODE_VERSION,SPLASH_SCREEN_TIME);
|
||||
#else
|
||||
@ -12769,7 +12571,44 @@ void set_el_stepper_freq(unsigned int frequency){
|
||||
#endif //defined(FEATURE_ELEVATION_CONTROL) && defined(FEATURE_STEPPER_MOTOR)
|
||||
//------------------------------------------------------
|
||||
|
||||
#if defined(FEATURE_TEST_DISPLAY_AT_STARTUP)
|
||||
|
||||
void test_display(){
|
||||
|
||||
char tempchar[12] = "";
|
||||
int display_number = 1;
|
||||
|
||||
|
||||
k3ngdisplay.print_top_left("1");
|
||||
k3ngdisplay.service(1);
|
||||
delay(150);
|
||||
k3ngdisplay.print_top_right("2");
|
||||
k3ngdisplay.service(1);
|
||||
delay(150);
|
||||
k3ngdisplay.print_bottom_left("3");
|
||||
k3ngdisplay.service(1);
|
||||
delay(150);
|
||||
k3ngdisplay.print_bottom_right("4");
|
||||
k3ngdisplay.service(1);
|
||||
delay(2000);
|
||||
k3ngdisplay.clear();
|
||||
|
||||
for (int y = 0; y < LCD_ROWS;y++){
|
||||
for (int x = 0; x < LCD_COLUMNS;x++){
|
||||
dtostrf(display_number,0,0,tempchar);
|
||||
k3ngdisplay.print(tempchar,x,y);
|
||||
k3ngdisplay.service(1);
|
||||
delay(100);
|
||||
display_number++;
|
||||
if (display_number > 9){display_number = 0;}
|
||||
}
|
||||
}
|
||||
|
||||
delay(2000);
|
||||
}
|
||||
|
||||
|
||||
#endif //FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
|
||||
|
||||
// that's all, folks !
|
||||
|
@ -61,6 +61,41 @@ void DebugClass::print(const __FlashStringHelper *str)
|
||||
}
|
||||
}
|
||||
|
||||
void DebugClass::println(const __FlashStringHelper *str)
|
||||
{
|
||||
char c;
|
||||
if(!str) return;
|
||||
|
||||
/* since str is a const we can't increment it, so do this instead */
|
||||
char *p = (char *)str;
|
||||
|
||||
/* keep going until we find the null */
|
||||
while((c = pgm_read_byte(p++)))
|
||||
{
|
||||
#if defined(FEATURE_REMOTE_UNIT_SLAVE) || defined(FEATURE_YAESU_EMULATION) || defined(FEATURE_EASYCOM_EMULATION)
|
||||
if (debug_mode & CONTROL_PORT0)
|
||||
{
|
||||
control_port->write(c);
|
||||
}
|
||||
#endif //defined(FEATURE_REMOTE_UNIT_SLAVE) || defined(FEATURE_YAESU_EMULATION) || defined(FEATURE_EASYCOM_EMULATION)
|
||||
|
||||
// #ifdef FEATURE_ETHERNET
|
||||
// if (debug_mode & ETHERNET_PORT0)
|
||||
// {
|
||||
// ethernetclient0.write(c);
|
||||
// }
|
||||
// #endif //FEATURE_ETHERNET
|
||||
|
||||
// #if defined(FEATURE_ETHERNET) && defined(ETHERNET_TCP_PORT_1)
|
||||
// if (debug_mode & ETHERNET_PORT1)
|
||||
// {
|
||||
// ethernetclient1.write(c);
|
||||
// }
|
||||
// #endif //defined(FEATURE_ETHERNET) && defined(ETHERNET_TCP_PORT_1)
|
||||
}
|
||||
control_port->println();
|
||||
}
|
||||
|
||||
void DebugClass::print(char ch)
|
||||
{
|
||||
#if defined(FEATURE_REMOTE_UNIT_SLAVE) || defined(FEATURE_YAESU_EMULATION) || defined(FEATURE_EASYCOM_EMULATION)
|
||||
|
@ -53,7 +53,7 @@ class DebugClass
|
||||
|
||||
void println(double i);
|
||||
void println(const char *str);
|
||||
// void println (const __FlashStringHelper *str);
|
||||
void println(const __FlashStringHelper *str);
|
||||
|
||||
void write(const char *str);
|
||||
void write(int i);
|
||||
|
@ -46,11 +46,11 @@
|
||||
#undef FEATURE_EL_PRESET_ENCODER
|
||||
#endif
|
||||
|
||||
#if !defined(FEATURE_AZ_POSITION_POTENTIOMETER) && !defined(FEATURE_AZ_POSITION_ROTARY_ENCODER) && !defined(FEATURE_AZ_POSITION_PULSE_INPUT) && !defined(FEATURE_AZ_POSITION_GET_FROM_REMOTE_UNIT) && !defined(FEATURE_AZ_POSITION_HMC5883L) && !defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303) && !defined(FEATURE_AZ_POSITION_HH12_AS5045_SSI) &&!defined(FEATURE_AZ_POSITION_INCREMENTAL_ENCODER) &&!defined(FEATURE_AZ_POSITION_POLOLU_LSM303) &&!defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER)
|
||||
#if !defined(FEATURE_AZ_POSITION_POTENTIOMETER) && !defined(FEATURE_AZ_POSITION_ROTARY_ENCODER) && !defined(FEATURE_AZ_POSITION_PULSE_INPUT) && !defined(FEATURE_AZ_POSITION_GET_FROM_REMOTE_UNIT) && !defined(FEATURE_AZ_POSITION_HMC5883L) && !defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303) && !defined(FEATURE_AZ_POSITION_HH12_AS5045_SSI) &&!defined(FEATURE_AZ_POSITION_INCREMENTAL_ENCODER) &&!defined(FEATURE_AZ_POSITION_POLOLU_LSM303) &&!defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) &&!defined(FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
#error "You must specify one AZ position sensor feature"
|
||||
#endif
|
||||
|
||||
#if defined(FEATURE_ELEVATION_CONTROL) && !defined(FEATURE_EL_POSITION_POTENTIOMETER) && !defined(FEATURE_EL_POSITION_ROTARY_ENCODER) && !defined(FEATURE_EL_POSITION_PULSE_INPUT) && !defined(FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB) && !defined(FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB) && !defined(FEATURE_EL_POSITION_GET_FROM_REMOTE_UNIT) && !defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303) && !defined(FEATURE_EL_POSITION_HH12_AS5045_SSI) && !defined(FEATURE_EL_POSITION_INCREMENTAL_ENCODER) && !defined(FEATURE_EL_POSITION_MEMSIC_2125) &&!defined(FEATURE_EL_POSITION_POLOLU_LSM303) && !defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
|
||||
#if defined(FEATURE_ELEVATION_CONTROL) && !defined(FEATURE_EL_POSITION_POTENTIOMETER) && !defined(FEATURE_EL_POSITION_ROTARY_ENCODER) && !defined(FEATURE_EL_POSITION_PULSE_INPUT) && !defined(FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB) && !defined(FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB) && !defined(FEATURE_EL_POSITION_GET_FROM_REMOTE_UNIT) && !defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303) && !defined(FEATURE_EL_POSITION_HH12_AS5045_SSI) && !defined(FEATURE_EL_POSITION_INCREMENTAL_ENCODER) && !defined(FEATURE_EL_POSITION_MEMSIC_2125) &&!defined(FEATURE_EL_POSITION_POLOLU_LSM303) && !defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER) && !defined(FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
#error "You must specify one EL position sensor feature"
|
||||
#endif
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
// #define FEATURE_ETHERNET
|
||||
// #define FEATURE_STEPPER_MOTOR // requires Mega or an AVR with Timer 5 support
|
||||
// #define FEATURE_AUTOCORRECT
|
||||
// #define FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
|
||||
#define LANGUAGE_ENGLISH // all languages customized in rotator_language.h
|
||||
// #define LANGUAGE_SPANISH
|
||||
@ -160,7 +161,6 @@
|
||||
|
||||
#define DEBUG_DUMP // normally compile with this activated unless you're really trying to save memory
|
||||
// #define DEBUG_LOOP
|
||||
// #define DEBUG_MEMORY
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_SERIAL
|
||||
// #define DEBUG_SERVICE_REQUEST_QUEUE
|
||||
|
@ -14,6 +14,8 @@
|
||||
//#define LANGUAGE_FRENCH
|
||||
//#define LANGUAGE_DUTCH
|
||||
|
||||
//#define FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
|
||||
#define FEATURE_AZ_POSITION_POTENTIOMETER //this is used for both a voltage from a rotator control or a homebrew rotator with a potentiometer
|
||||
|
||||
#define FEATURE_EL_POSITION_POTENTIOMETER
|
||||
@ -56,7 +58,6 @@
|
||||
#define DEFAULT_DEBUG_STATE 0// this should be set to zero unless you're debugging something at startup
|
||||
|
||||
#define DEBUG_DUMP
|
||||
#define DEBUG_MEMORY
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_SERIAL
|
||||
// #define DEBUG_SERVICE_REQUEST_QUEUE
|
||||
|
@ -19,6 +19,7 @@
|
||||
//#define FEATURE_ETHERNET
|
||||
//#define FEATURE_STEPPER_MOTOR // requires Mega or an AVR with Timer 5 support
|
||||
//#define FEATURE_AUTOCORRECT
|
||||
//#define FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
|
||||
#define LANGUAGE_ENGLISH // all languages customized in rotator_language.h
|
||||
//#define LANGUAGE_SPANISH
|
||||
@ -147,7 +148,6 @@
|
||||
#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_MEMORY
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_SERIAL
|
||||
// #define DEBUG_SERVICE_REQUEST_QUEUE
|
||||
|
@ -25,6 +25,7 @@
|
||||
// #define FEATURE_ETHERNET
|
||||
// #define FEATURE_STEPPER_MOTOR // requires Mega or an AVR with Timer 5 support
|
||||
// #define FEATURE_AUTOCORRECT
|
||||
// #define FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
|
||||
#define LANGUAGE_ENGLISH // all languages customized in rotator_language.h
|
||||
// #define LANGUAGE_SPANISH
|
||||
@ -42,19 +43,21 @@
|
||||
|
||||
|
||||
/* position sensors - pick one for azimuth and one for elevation if using an az/el rotator */
|
||||
#define FEATURE_AZ_POSITION_POTENTIOMETER //this is used for both a voltage from a rotator control or a homebrew rotator with a potentiometer
|
||||
// #define FEATURE_AZ_POSITION_POTENTIOMETER //this is used for both a voltage from a rotator control or a homebrew rotator with a potentiometer
|
||||
// #define FEATURE_AZ_POSITION_ROTARY_ENCODER
|
||||
// #define FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB
|
||||
// #define FEATURE_AZ_POSITION_PULSE_INPUT
|
||||
// #define FEATURE_AZ_POSITION_HMC5883L // HMC5883L digital compass support
|
||||
// #define FEATURE_AZ_POSITION_GET_FROM_REMOTE_UNIT // requires FEATURE_MASTER_WITH_SERIAL_SLAVE or FEATURE_MASTER_WITH_ETHERNET_SLAVE
|
||||
// #define FEATURE_AZ_POSITION_ADAFRUIT_LSM303 // Uncomment for azimuth using LSM303 compass and Adafruit library (https://github.com/adafruit/Adafruit_LSM303) (also uncomment object declaration below)
|
||||
// #define FEATURE_AZ_POSITION_POLOLU_LSM303 // Uncomment for azimuth using LSM303 compass and Polulu library
|
||||
// #define FEATURE_AZ_POSITION_HH12_AS5045_SSI
|
||||
#define FEATURE_AZ_POSITION_HH12_AS5045_SSI
|
||||
// #define FEATURE_AZ_POSITION_INCREMENTAL_ENCODER
|
||||
// #define FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
|
||||
|
||||
#define FEATURE_EL_POSITION_POTENTIOMETER
|
||||
// #define FEATURE_EL_POSITION_ROTARY_ENCODER
|
||||
// #define FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB
|
||||
// #define FEATURE_EL_POSITION_PULSE_INPUT
|
||||
// #define FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB // Uncomment for elevation ADXL345 accelerometer support using ADXL345 library
|
||||
// #define FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB // Uncomment for elevation ADXL345 accelerometer support using Adafruit library
|
||||
@ -176,7 +179,6 @@
|
||||
|
||||
#define DEBUG_DUMP // normally compile with this activated unless you're really trying to save memory
|
||||
// #define DEBUG_LOOP
|
||||
// #define DEBUG_MEMORY
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_SERIAL
|
||||
// #define DEBUG_SERVICE_REQUEST_QUEUE
|
||||
|
@ -19,6 +19,7 @@
|
||||
//#define FEATURE_ETHERNET
|
||||
#define FEATURE_STEPPER_MOTOR // requires this library: https://code.google.com/p/rogue-code/wiki/ToneLibraryDocumentation
|
||||
//#define FEATURE_AUTOCORRECT
|
||||
// #define FEATURE_TEST_DISPLAY_AT_STARTUP
|
||||
|
||||
#define LANGUAGE_ENGLISH // all languages customized in rotator_language.h
|
||||
//#define LANGUAGE_SPANISH
|
||||
@ -155,7 +156,6 @@
|
||||
#define DEFAULT_DEBUG_STATE 0// this should be set to zero unless you're debugging something at startup
|
||||
|
||||
#define DEBUG_DUMP
|
||||
// #define DEBUG_MEMORY
|
||||
// #define DEBUG_BUTTONS
|
||||
// #define DEBUG_SERIAL
|
||||
// #define DEBUG_SERVICE_REQUEST_QUEUE
|
||||
|
@ -64,12 +64,12 @@
|
||||
#define el_rotary_preset_pin2 0 // DOWN Encoder Pin
|
||||
#endif //FEATURE_EL_PRESET_ENCODER
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_ROTARY_ENCODER
|
||||
#if defined(FEATURE_AZ_POSITION_ROTARY_ENCODER) || defined(FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
#define az_rotary_position_pin1 0 // CW Encoder Pin
|
||||
#define az_rotary_position_pin2 0 // CCW Encoder Pin
|
||||
#endif //FEATURE_AZ_POSITION_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_EL_POSITION_ROTARY_ENCODER
|
||||
#if defined(FEATURE_EL_POSITION_ROTARY_ENCODER) || defined(FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
#define el_rotary_position_pin1 0 // CW Encoder Pin
|
||||
#define el_rotary_position_pin2 0 // CCW Encoder Pin
|
||||
#endif //FEATURE_EL_POSITION_ROTARY_ENCODER
|
||||
|
@ -72,14 +72,14 @@
|
||||
#define el_rotary_preset_pin2 0 // A2 //7 // DOWN Encoder Pin
|
||||
#endif //FEATURE_EL_PRESET_ENCODER
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_ROTARY_ENCODER
|
||||
#define az_rotary_position_pin1 A3 // CW Encoder Pin
|
||||
#define az_rotary_position_pin2 A2 // CCW Encoder Pin
|
||||
#if defined(FEATURE_AZ_POSITION_ROTARY_ENCODER) || defined(FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
#define az_rotary_position_pin1 0 // CW Encoder Pin
|
||||
#define az_rotary_position_pin2 0 // CCW Encoder Pin
|
||||
#endif //FEATURE_AZ_POSITION_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_EL_POSITION_ROTARY_ENCODER
|
||||
#define el_rotary_position_pin1 0 // CW Encoder Pin
|
||||
#define el_rotary_position_pin2 0 // CCW Encoder Pin
|
||||
#if defined(FEATURE_EL_POSITION_ROTARY_ENCODER) || defined(FEATURE_EL_POSITION_ROTARY_ENCODER_USE_LIB)
|
||||
#define el_rotary_position_pin1 0 // CW Encoder Pin
|
||||
#define el_rotary_position_pin2 0 // CCW Encoder Pin
|
||||
#endif //FEATURE_EL_POSITION_ROTARY_ENCODER
|
||||
|
||||
#ifdef FEATURE_AZ_POSITION_PULSE_INPUT
|
||||
|
@ -1,9 +1,19 @@
|
||||
|
||||
/* -------------------------- rotation settings ---------------------------------------*/
|
||||
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator
|
||||
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator - only used for initializing EEPROM
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees - only used for initializing EEPROM
|
||||
/*
|
||||
|
||||
Use these commands to change the azimuth starting point and rotation capability if you have already ran the code one which would have
|
||||
initialized the EEPROM:
|
||||
|
||||
\Ix[x][x] - set az starting point
|
||||
\I - display the current az starting point
|
||||
\Jx[x][x] - set az rotation capability
|
||||
\J - display the current az rotation capability
|
||||
\Q - Save settings in the EEPROM and restart
|
||||
*/
|
||||
|
||||
#define ELEVATION_MAXIMUM_DEGREES 180 // change this to set the maximum elevation in degrees
|
||||
|
||||
|
@ -1,9 +1,19 @@
|
||||
|
||||
/* -------------------------- rotation settings ---------------------------------------*/
|
||||
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator
|
||||
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator - only used for initializing EEPROM
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees - only used for initializing EEPROM
|
||||
/*
|
||||
|
||||
Use these commands to change the azimuth starting point and rotation capability if you have already ran the code one which would have
|
||||
initialized the EEPROM:
|
||||
|
||||
\Ix[x][x] - set az starting point
|
||||
\I - display the current az starting point
|
||||
\Jx[x][x] - set az rotation capability
|
||||
\J - display the current az rotation capability
|
||||
\Q - Save settings in the EEPROM and restart
|
||||
*/
|
||||
|
||||
#define ELEVATION_MAXIMUM_DEGREES 180 // change this to set the maximum elevation in degrees
|
||||
|
||||
|
@ -1,9 +1,19 @@
|
||||
|
||||
/* -------------------------- rotation settings ---------------------------------------*/
|
||||
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator
|
||||
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator - only used for initializing EEPROM
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees - only used for initializing EEPROM
|
||||
/*
|
||||
|
||||
Use these commands to change the azimuth starting point and rotation capability if you have already ran the code one which would have
|
||||
initialized the EEPROM:
|
||||
|
||||
\Ix[x][x] - set az starting point
|
||||
\I - display the current az starting point
|
||||
\Jx[x][x] - set az rotation capability
|
||||
\J - display the current az rotation capability
|
||||
\Q - Save settings in the EEPROM and restart
|
||||
*/
|
||||
|
||||
#define ELEVATION_MAXIMUM_DEGREES 180 // change this to set the maximum elevation in degrees
|
||||
|
||||
|
@ -12,9 +12,19 @@
|
||||
|
||||
/* -------------------------- rotation settings ---------------------------------------*/
|
||||
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 0 //180 // the starting point in degrees of the azimuthal rotator
|
||||
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator - only used for initializing EEPROM
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees - only used for initializing EEPROM
|
||||
/*
|
||||
|
||||
Use these commands to change the azimuth starting point and rotation capability if you have already ran the code one which would have
|
||||
initialized the EEPROM:
|
||||
|
||||
\Ix[x][x] - set az starting point
|
||||
\I - display the current az starting point
|
||||
\Jx[x][x] - set az rotation capability
|
||||
\J - display the current az rotation capability
|
||||
\Q - Save settings in the EEPROM and restart
|
||||
*/
|
||||
|
||||
#define ELEVATION_MAXIMUM_DEGREES 180 // change this to set the maximum elevation in degrees
|
||||
|
||||
|
@ -1,9 +1,19 @@
|
||||
|
||||
/* -------------------------- rotation settings ---------------------------------------*/
|
||||
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator
|
||||
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 360 // the default rotation capability of the rotator in degrees
|
||||
#define AZIMUTH_STARTING_POINT_DEFAULT 180 // the starting point in degrees of the azimuthal rotator - only used for initializing EEPROM
|
||||
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 450 // the default rotation capability of the rotator in degrees - only used for initializing EEPROM
|
||||
/*
|
||||
|
||||
Use these commands to change the azimuth starting point and rotation capability if you have already ran the code one which would have
|
||||
initialized the EEPROM:
|
||||
|
||||
\Ix[x][x] - set az starting point
|
||||
\I - display the current az starting point
|
||||
\Jx[x][x] - set az rotation capability
|
||||
\J - display the current az rotation capability
|
||||
\Q - Save settings in the EEPROM and restart
|
||||
*/
|
||||
|
||||
#define ELEVATION_MAXIMUM_DEGREES 180 // change this to set the maximum elevation in degrees
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user