diff --git a/k3ng_rotator_controller/rotator_features.h b/k3ng_rotator_controller/rotator_features.h index 4ae6871..d52be1f 100755 --- a/k3ng_rotator_controller/rotator_features.h +++ b/k3ng_rotator_controller/rotator_features.h @@ -6,7 +6,7 @@ /* main features */ -// #define FEATURE_ELEVATION_CONTROL // uncomment this for AZ/EL rotators +#define FEATURE_ELEVATION_CONTROL // uncomment this for AZ/EL rotators #define FEATURE_YAESU_EMULATION // uncomment this for Yaesu GS-232 emulation on control port // #define FEATURE_EASYCOM_EMULATION // Easycom protocol emulation on control port // #define FEATURE_DCU_1_EMULATION // DCU-1 protocol emulation on control port (only supports azimuth only systems) @@ -14,7 +14,7 @@ // #define FEATURE_MOON_TRACKING // #define FEATURE_SUN_TRACKING #define FEATURE_CLOCK -// #define FEATURE_GPS +#define FEATURE_GPS #define FEATURE_RTC_DS1307 // #define FEATURE_RTC_PCF8583 // #define FEATURE_ETHERNET @@ -22,7 +22,7 @@ // #define FEATURE_AUTOCORRECT // #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 LANGUAGE_ENGLISH // all languages customized in rotator_language.h // #define LANGUAGE_SPANISH @@ -68,7 +68,7 @@ // #define FEATURE_EL_POSITION_ADAFRUIT_LSM303 // Uncomment for elevation using LSM303 accelerometer and Adafruit library (https://github.com/adafruit/Adafruit_LSM303) (also uncomment object declaration below) // #define FEATURE_EL_POSITION_POLOLU_LSM303 // Uncomment for elevation using LSM303 compass and Polulu library // #define FEATURE_EL_POSITION_HH12_AS5045_SSI -// #define FEATURE_EL_POSITION_INCREMENTAL_ENCODER +#define FEATURE_EL_POSITION_INCREMENTAL_ENCODER // #define FEATURE_EL_POSITION_MEMSIC_2125 // #define FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER @@ -77,7 +77,7 @@ // #define FEATURE_ADAFRUIT_I2C_LCD // #define FEATURE_ADAFRUIT_BUTTONS // Uncomment this to use Adafruit I2C LCD buttons for manual AZ/EL instead of normal buttons (also set this feature in rotator_k3ngdisplay.h) // #define FEATURE_YOURDUINO_I2C_LCD -// #define FEATURE_RFROBOT_I2C_DISPLAY +#define FEATURE_RFROBOT_I2C_DISPLAY // #define FEATURE_YWROBOT_I2C_DISPLAY // #define FEATURE_SAINSMART_I2C_LCD // #define FEATURE_MIDAS_I2C_DISPLAY @@ -117,7 +117,7 @@ //#define FEATURE_PARK //#define FEATURE_AUTOPARK // Requires FEATURE_PARK #define OPTION_AZ_MANUAL_ROTATE_LIMITS // this option will automatically stop the L and R commands when hitting a CCW or CW limit (settings are AZ_MANUAL_ROTATE_CCW_LIMIT, AZ_MANUAL_ROTATE_CW_LIMIT) -// #define OPTION_EL_MANUAL_ROTATE_LIMITS // (settings are EL_MANUAL_ROTATE_DOWN_LIMIT, EL_MANUAL_ROTATE_UP_LIMIT) +#define OPTION_EL_MANUAL_ROTATE_LIMITS // (settings are EL_MANUAL_ROTATE_DOWN_LIMIT, EL_MANUAL_ROTATE_UP_LIMIT) #define OPTION_C_COMMAND_SENDS_AZ_AND_EL // uncomment this when using Yaesu emulation with Ham Radio Deluxe #define OPTION_DELAY_C_CMD_OUTPUT // uncomment this when using Yaesu emulation with Ham Radio Deluxe // #define FEATURE_AZIMUTH_CORRECTION // correct the azimuth using a calibration table in rotator_settings.h @@ -136,8 +136,8 @@ #define OPTION_DISPLAY_STATUS #define OPTION_DISPLAY_HEADING -#define OPTION_DISPLAY_HEADING_AZ_ONLY -#define OPTION_DISPLAY_HEADING_EL_ONLY +//#define OPTION_DISPLAY_HEADING_AZ_ONLY +//#define OPTION_DISPLAY_HEADING_EL_ONLY // #define OPTION_DISPLAY_HHMM_CLOCK // display HH:MM clock (set position with #define LCD_HHMM_CLOCK_POSITION) //#define OPTION_DISPLAY_HHMMSS_CLOCK // display HH:MM:SS clock (set position with #define LCD_HHMMSS_CLOCK_POSITION) // #define OPTION_DISPLAY_ALT_HHMM_CLOCK_AND_MAIDENHEAD // display alternating HH:MM clock and maidenhead on LCD row 1 (set position with #define LCD_HHMMCLOCK_POSITION) @@ -147,8 +147,8 @@ #define OPTION_DISPLAY_GPS_INDICATOR // display GPS indicator on LCD - set position with LCD_GPS_INDICATOR_POSITION and LCD_GPS_INDICATOR_ROW #define OPTION_DISPLAY_DIRECTION_STATUS // LCD N, W, E, S, NW, etc. direction indicator // #define OPTION_DISPLAY_MOON_TRACKING_CONTINUOUSLY // LCD -// #define OPTION_DISPLAY_SATELLITE_TRACKING_CONTINUOUSLY // LCD -// #define OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING // LCD +#define OPTION_DISPLAY_SATELLITE_TRACKING_CONTINUOUSLY // LCD +//#define OPTION_DISPLAY_SATELLITE_TRACKING_ALTERNATING // LCD // #define OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY // LCD #define OPTION_DISPLAY_MOON_OR_SUN_OR_SAT_TRACKING_CONDITIONAL // LCD #define OPTION_DISPLAY_VERSION_ON_STARTUP //code provided by Paolo, IT9IPQ diff --git a/k3ng_rotator_controller/rotator_k3ngdisplay.h b/k3ng_rotator_controller/rotator_k3ngdisplay.h index 48c3e8b..a58cdf6 100644 --- a/k3ng_rotator_controller/rotator_k3ngdisplay.h +++ b/k3ng_rotator_controller/rotator_k3ngdisplay.h @@ -16,10 +16,10 @@ */ -#define FEATURE_4_BIT_LCD_DISPLAY +//#define FEATURE_4_BIT_LCD_DISPLAY // #define FEATURE_ADAFRUIT_I2C_LCD // #define FEATURE_YOURDUINO_I2C_LCD -// #define FEATURE_RFROBOT_I2C_DISPLAY +#define FEATURE_RFROBOT_I2C_DISPLAY // #define FEATURE_YWROBOT_I2C_DISPLAY // #define FEATURE_SAINSMART_I2C_LCD // #define FEATURE_ADAFRUIT_BUTTONS diff --git a/k3ng_rotator_controller/rotator_pins.h b/k3ng_rotator_controller/rotator_pins.h index 5433649..699152f 100755 --- a/k3ng_rotator_controller/rotator_pins.h +++ b/k3ng_rotator_controller/rotator_pins.h @@ -44,7 +44,7 @@ #define rotate_up_or_down 0 // goes high when elevation up or down is activated #define rotate_up_pwm 0 // optional - PWM UP output - set to 0 to disable (must be PWM capable pin) #define rotate_down_pwm 0 // optional - PWM DOWN output - set to 0 to disable (must be PWM capable pin) - #define rotate_up_down_pwm 0 // optional - PWM on both UP and DOWN (must be PWM capable pin) + #define rotate_up_down_pwm 10 // optional - PWM on both UP and DOWN (must be PWM capable pin) #define rotate_up_freq 0 // optional - UP variable frequency output #define rotate_down_freq 0 // optional - UP variable frequency output #define rotator_analog_el A1 // reads analog elevation voltage from rotator @@ -139,11 +139,11 @@ #endif //FEATURE_AZ_POSITION_INCREMENTAL_ENCODER #ifdef FEATURE_EL_POSITION_INCREMENTAL_ENCODER - #define el_incremental_encoder_pin_phase_a 2 //18 //2 // must be an interrupt capable pin - #define el_incremental_encoder_pin_phase_b 3 //19 //3 // must be an interrupt capable pin - #define el_incremental_encoder_pin_phase_z 5 //22 //4 - #define EL_POSITION_INCREMENTAL_ENCODER_A_PIN_INTERRUPT 0 //5 //0 // Uno: pin 2 = interrupt 0, pin 3 = interrupt 1 ; Mega: pin 2 = interrupt 0, pin 3 = interrupt 1, pin 21 = interrupt 2, pin 20 = interrupt 3, pin 19 = interrupt 4, pin 18 = interrupt 5 - #define EL_POSITION_INCREMENTAL_ENCODER_B_PIN_INTERRUPT 1 //4 //1 // Uno: pin 2 = interrupt 0, pin 3 = interrupt 1 ; Mega: pin 2 = interrupt 0, pin 3 = interrupt 1, pin 21 = interrupt 2, pin 20 = interrupt 3, pin 19 = interrupt 4, pin 18 = interrupt 5 + #define el_incremental_encoder_pin_phase_a 18 //18 //2 // must be an interrupt capable pin + #define el_incremental_encoder_pin_phase_b 19 //19 //3 // must be an interrupt capable pin + #define el_incremental_encoder_pin_phase_z 0 //22 //4 + #define EL_POSITION_INCREMENTAL_ENCODER_A_PIN_INTERRUPT 5 //5 //0 // Uno: pin 2 = interrupt 0, pin 3 = interrupt 1 ; Mega: pin 2 = interrupt 0, pin 3 = interrupt 1, pin 21 = interrupt 2, pin 20 = interrupt 3, pin 19 = interrupt 4, pin 18 = interrupt 5 + #define EL_POSITION_INCREMENTAL_ENCODER_B_PIN_INTERRUPT 4 //4 //1 // Uno: pin 2 = interrupt 0, pin 3 = interrupt 1 ; Mega: pin 2 = interrupt 0, pin 3 = interrupt 1, pin 21 = interrupt 2, pin 20 = interrupt 3, pin 19 = interrupt 4, pin 18 = interrupt 5 // read http://arduino.cc/en/Reference/AttachInterrupt for details on hardware and interrupts #endif //FEATURE_EL_POSITION_INCREMENTAL_ENCODER diff --git a/k3ng_rotator_controller/rotator_settings.h b/k3ng_rotator_controller/rotator_settings.h index 5d6c820..6128691 100755 --- a/k3ng_rotator_controller/rotator_settings.h +++ b/k3ng_rotator_controller/rotator_settings.h @@ -111,13 +111,13 @@ You can tweak these, but read the online documentation! #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_ALT_HHMM_CLOCK_AND_MAIDENHEAD_ROW 2 #define LCD_CONSTANT_HHMMSS_CLOCK_AND_MAIDENHEAD_POSITION CENTER -#define LCD_CONSTANT_HHMMSS_CLOCK_AND_MAIDENHEAD_ROW 3 -#define LCD_BIG_CLOCK_ROW 4 +#define LCD_CONSTANT_HHMMSS_CLOCK_AND_MAIDENHEAD_ROW 2 +#define LCD_BIG_CLOCK_ROW 3 #define LCD_GPS_INDICATOR_POSITION RIGHT //LEFT or RIGHT -#define LCD_GPS_INDICATOR_ROW 1 -#define LCD_MOON_TRACKING_ROW 3 // LCD display row for OPTION_DISPLAY_MOON_TRACKING_CONTINUOUSLY +#define LCD_GPS_INDICATOR_ROW 3 +#define LCD_MOON_TRACKING_ROW 4 // LCD display row for OPTION_DISPLAY_MOON_TRACKING_CONTINUOUSLY #define LCD_MOON_TRACKING_UPDATE_INTERVAL 5000 #define LCD_SUN_TRACKING_ROW 4 // LCD display row for OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY #define LCD_SUN_TRACKING_UPDATE_INTERVAL 5000 @@ -127,17 +127,17 @@ You can tweak these, but read the online documentation! #define LCD_CLEAR_BEFORE_REDRAW 1 // set to 0 to disable doing a clear before redraw #define LCD_REDRAW_UPON_COMMANDS 0 // set to 1 to enable screen redraws upon commands and button presses -#define LCD_HEADING_ROW 2 +#define LCD_HEADING_ROW 1 #define LCD_HEADING_FIELD_SIZE 20 #define LCD_AZ_ONLY_HEADING_ROW 1 #define LCD_AZ_ONLY_HEADING_FIELD_SIZE 20 #define LCD_EL_ONLY_HEADING_ROW 2 #define LCD_EL_ONLY_HEADING_FIELD_SIZE 20 -#define LCD_STATUS_ROW 1 +#define LCD_STATUS_ROW 3 #define LCD_STATUS_FIELD_SIZE 20 -#define LCD_DIRECTION_ROW 1 -#define LCD_HHMMSS_CLOCK_ROW 1 -#define LCD_HHMM_CLOCK_ROW 1 +#define LCD_DIRECTION_ROW 3 +#define LCD_HHMMSS_CLOCK_ROW 2 +#define LCD_HHMM_CLOCK_ROW 2 #define PARKING_STATUS_DISPLAY_TIME_MS 5000 #define AZ_BRAKE_DELAY 3000 // in milliseconds