2.0.2015092001

LANGUAGE_FRENCH (contributed by Marc-Andre, VE2EVN)
      fixed issue with rotator_analog_az inferring with other pins if defined but not used
This commit is contained in:
Anthony Good 2015-09-20 10:32:11 -04:00
parent f30b31fe4b
commit eaac2af69f
12 changed files with 285 additions and 136 deletions

View File

@ -408,10 +408,15 @@
Updates to rotator_language.h
Fixed k3ngdisplay.h / LiquidCrystal.h compilation problems with Arduino IDE
Integrated DebugClass (debug.h and debug.cpp) contributed from Matt VK5ZM
2.0.2015092001
LANGUAGE_FRENCH (contributed by Marc-Andre, VE2EVN)
fixed issue with rotator_analog_az inferring with other pins if defined but not used
*/
#define CODE_VERSION "2.0.2015090601"
#define CODE_VERSION "2.0.2015092001"
#include <avr/pgmspace.h>
#include <EEPROM.h>
@ -549,6 +554,10 @@
/*----------------------- variables -------------------------------------*/
byte incoming_serial_byte = 0;
@ -914,6 +923,93 @@ byte current_az_speed_voltage = 0;
DebugClass debug;
#if defined(FEATURE_4_BIT_LCD_DISPLAY) || defined(FEATURE_ADAFRUIT_I2C_LCD) || defined(FEATURE_YOURDUINO_I2C_LCD) || defined(FEATURE_YWROBOT_I2C_DISPLAY)
K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
#endif
#ifdef FEATURE_AZ_POSITION_HMC5883L
HMC5883L compass;
#endif //FEATURE_AZ_POSITION_HMC5883L
#ifdef FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB
ADXL345 accel;
#endif //FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB
#ifdef FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
#endif //FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB
#if defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303) || defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303)
Adafruit_LSM303 lsm;
#endif
#if defined(FEATURE_AZ_POSITION_POLOLU_LSM303) || defined(FEATURE_EL_POSITION_POLOLU_LSM303)
LSM303 compass;
LSM303::vector<int16_t> running_min = {32767, 32767, 32767}, running_max = {-32768, -32768, -32768};
char report[80];
#endif //FEATURE_AZ_POSITION_POLOLU_LSM303
#ifdef FEATURE_AZ_POSITION_HH12_AS5045_SSI
#include "hh12.h"
hh12 azimuth_hh12;
#endif //FEATURE_AZ_POSITION_HH12_AS5045_SSI
#ifdef FEATURE_EL_POSITION_HH12_AS5045_SSI
#include "hh12.h"
hh12 elevation_hh12;
#endif //FEATURE_EL_POSITION_HH12_AS5045_SSI
#ifdef FEATURE_GPS
TinyGPS gps;
#endif //FEATURE_GPS
#ifdef FEATURE_RTC_DS1307
RTC_DS1307 rtc;
#endif //FEATURE_RTC_DS1307
#ifdef FEATURE_RTC_PCF8583
PCF8583 rtc(0xA0);
#endif //FEATURE_RTC_PCF8583
#ifdef HARDWARE_EA4TX_ARS_USB
#undef LCD_COLUMNS
#undef LCD_ROWS
#define LCD_COLUMNS 16
#define LCD_ROWS 2
#endif //HARDWARE_EA4TX_ARS_USB
#ifdef HARDWARE_M0UPU
#undef LCD_ROWS
#define LCD_ROWS 2
#endif //HARDWARE_M0UPU
#ifdef FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
#define AZ_A2_ENCODER_RESOLUTION 32767 /*36000*/
#define AZ_A2_ENCODER_ADDRESS 0x00
#define AZ_QUERY_FREQUENCY_MS 250
#define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION /*|MODE_MULTITURN*/
#endif //FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
#ifdef FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#define EL_A2_ENCODER_RESOLUTION 32767 /*36000*/
#define EL_A2_ENCODER_ADDRESS 0x00
#define EL_QUERY_FREQUENCY_MS 250
#define EL_A2_ENCODER_MODE MODE_MULTITURN /*|MODE_TWO_BYTE_POSITION*/
#endif //FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#if defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) || defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
#include "sei_bus.h"
SEIbus SEIbus1(&Serial1,9600,pin_sei_bus_busy,pin_sei_bus_send_receive);
// (Serial Port,Baud Rate,Busy Pin,Send/Receive Pin)
#define SEI_BUS_COMMAND_TIMEOUT_MS 6000
#endif
//yyyyyyyyy
#include "rotator_clock_and_gps.h"
@ -6133,8 +6229,8 @@ void initialize_pins(){
rotator(DEACTIVATE, CW);
rotator(DEACTIVATE, CCW);
#ifndef FEATURE_AZ_POSITION_HMC5883L
pinModeEnhanced(rotator_analog_az, INPUT);
#if defined(FEATURE_AZ_POSITION_POTENTIOMETER)
pinModeEnhanced(rotator_analog_az, INPUT);
#endif
if (button_cw) {

View File

@ -24,9 +24,9 @@ long packeddata = 0; //two bytes concatenated from inputstream
long angle = 0; //holds processed angle value
float floatangle = 0;
#ifdef OPTION_HH12_10_BIT_READINGS
long anglemask = 65472; //0x1111111111000000: mask to obtain first 10 digits with position info
long anglemask = 65472; //0x1111111111000000: mask to obtain first 10 digits with position info
#else
long anglemask = 262080; // 0x111111111111000000: mask to obtain first 12 digits with position info
long anglemask = 262080; // 0x111111111111000000: mask to obtain first 12 digits with position info
#endif //OPTION_HH12_10_BIT_READINGS
long statusmask = 63; //0x000000000111111; mask to obtain last 6 digits containing status info
long statusbits; //holds status/error information
@ -63,17 +63,17 @@ float hh12::heading(){
delayMicroseconds(HH12_DELAY); // delay for chip initialization
digitalWrite(hh12_clock_pin, LOW); // CLK goes low: start clocking
delayMicroseconds(HH12_DELAY); // hold low
#ifdef OPTION_HH12_10_BIT_READINGS
for (int x=0; x <16; x++) // clock signal, 16 transitions, output to clock pin
#else
for (int x=0; x <18; x++) // clock signal, 18 transitions, output to clock pin
#endif //OPTION_HH12_10_BIT_READINGS
#ifdef OPTION_HH12_10_BIT_READINGS
for (int x=0; x <16; x++) // clock signal, 16 transitions, output to clock pin
#else
for (int x=0; x <18; x++) // clock signal, 18 transitions, output to clock pin
#endif //OPTION_HH12_10_BIT_READINGS
{
digitalWrite(hh12_clock_pin, HIGH); //clock goes high
delayMicroseconds(HH12_DELAY); //
inputstream =digitalRead(hh12_data_pin); // read one bit of data from pin
#ifdef DEBUG_HH12
Serial.print(inputstream, DEC);
Serial.print(inputstream, DEC);
#endif
packeddata = ((packeddata << 1) + inputstream);// left-shift summing variable, add pin value
digitalWrite(hh12_clock_pin, LOW);
@ -81,64 +81,66 @@ float hh12::heading(){
}
// end of entire clock cycle
// 2015-09-08: Walter is testing these lines
//digitalWrite(hh12_cs_pin, HIGH); // CSn high
//digitalWrite(hh12_clock_pin, HIGH); // CLK high
#ifdef DEBUG_HH12
Serial.print("hh12: packed:");
Serial.println(packeddata,DEC);
Serial.print("hh12: pack bin: ");
Serial.println(packeddata,BIN);
Serial.print("hh12: packed:");
Serial.println(packeddata,DEC);
Serial.print("hh12: pack bin: ");
Serial.println(packeddata,BIN);
#endif
angle = packeddata & anglemask; // mask rightmost 6 digits of packeddata to zero, into angle
#ifdef DEBUG_HH12
Serial.print("hh12: mask: ");
Serial.println(anglemask, BIN);
Serial.print("hh12: bin angle:");
Serial.println(angle, BIN);
Serial.print("hh12: angle: ");
Serial.println(angle, DEC);
Serial.print("hh12: mask: ");
Serial.println(anglemask, BIN);
Serial.print("hh12: bin angle:");
Serial.println(angle, BIN);
Serial.print("hh12: angle: ");
Serial.println(angle, DEC);
#endif
angle = (angle >> 6); // shift 16-digit angle right 6 digits to form 10-digit value
#ifdef DEBUG_HH12
Serial.print("hh12: angleshft:");
Serial.println(angle, BIN);
Serial.print("hh12: angledec: ");
Serial.println(angle, DEC);
Serial.print("hh12: angleshft:");
Serial.println(angle, BIN);
Serial.print("hh12: angledec: ");
Serial.println(angle, DEC);
#endif
#ifdef OPTION_HH12_10_BIT_READINGS
floatangle = angle * 0.3515; // angle * (360/1024) == actual degrees
#else
floatangle = angle * 0.08789; // angle * (360/4096) == actual degrees
#endif //OPTION_HH12_10_BIT_READINGS
#ifdef OPTION_HH12_10_BIT_READINGS
floatangle = angle * 0.3515; // angle * (360/1024) == actual degrees
#else
floatangle = angle * 0.08789; // angle * (360/4096) == actual degrees
#endif //OPTION_HH12_10_BIT_READINGS
#ifdef DEBUG_HH12
statusbits = packeddata & statusmask;
DECn = statusbits & 2; // goes high if magnet moved away from IC
INCn = statusbits & 4; // goes high if magnet moved towards IC
LIN = statusbits & 8; // goes high for linearity alarm
COF = statusbits & 16; // goes high for cordic overflow: data invalid
OCF = statusbits & 32; // this is 1 when the chip startup is finished
if (DECn && INCn) {
Serial.println("hh12: magnet moved out of range");
} else {
if (DECn) {
Serial.println("hh12: magnet moved away from chip");
statusbits = packeddata & statusmask;
DECn = statusbits & 2; // goes high if magnet moved away from IC
INCn = statusbits & 4; // goes high if magnet moved towards IC
LIN = statusbits & 8; // goes high for linearity alarm
COF = statusbits & 16; // goes high for cordic overflow: data invalid
OCF = statusbits & 32; // this is 1 when the chip startup is finished
if (DECn && INCn) {
Serial.println("hh12: magnet moved out of range");
} else {
if (DECn) {
Serial.println("hh12: magnet moved away from chip");
}
if (INCn) {
Serial.println("hh12: magnet moved towards chip");
}
}
if (INCn) {
Serial.println("hh12: magnet moved towards chip");
if (LIN) {
Serial.println("hh12: linearity alarm: magnet misaligned? data questionable");
}
if (COF) {
Serial.println("hh12: cordic overflow: magnet misaligned? data invalid");
}
}
if (LIN) {
Serial.println("hh12: linearity alarm: magnet misaligned? data questionable");
}
if (COF) {
Serial.println("hh12: cordic overflow: magnet misaligned? data invalid");
}
#endif //DEBUG_HH12

View File

@ -2,7 +2,7 @@
#ifndef K3NG_DISPLAY_H
#define K3NG_DISPLAY_H
// K3NG_DISPLAY_LIBRARY_VERSION "1.0.2015090401"
// K3NG_DISPLAY_LIBRARY_VERSION "1.0.2015092001"
#if defined(ARDUINO) && ARDUINO >= 100
@ -90,7 +90,9 @@ K3NGdisplay::K3NGdisplay(int _display_columns, int _display_rows, int _update_ti
void K3NGdisplay::initialize(){
lcd.begin(display_columns, display_rows);
lcd.begin(display_columns, display_rows); // if you are getting an error on this line and do not have
// any of the LCD display features enabled, remove
// k3ngdisplay.h and k3ngdisplay.cpp from your ino directory
#ifdef FEATURE_YOURDUINO_I2C_LCD
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);

View File

@ -1,3 +1,5 @@
#ifndef _K3NGDISPLAY_H
#define _K3NGDISPLAY_H
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
@ -7,6 +9,10 @@
#include "rotator_hardware.h"
#ifdef HARDWARE_EA4TX_ARS_USB
#include "rotator_features_ea4tx_ars_usb.h"
#endif
@ -41,7 +47,7 @@
#define K3NG_DISPLAY_LIBRARY_VERSION "1.0.2015090401"
#define K3NG_DISPLAY_LIBRARY_VERSION "1.0.2015092001"
#define MAX_SCREEN_BUFFER_COLUMNS 20
#define MAX_SCREEN_BUFFER_ROWS 4
@ -113,4 +119,4 @@ private:
};
#endif //_K3NGDISPLAY_H

View File

@ -26,6 +26,7 @@
//#define LANGUAGE_ITALIAN
//#define LANGUAGE_PORTUGUESE_BRASIL
//#define LANGUAGE_GERMAN
//#define LANGUAGE_FRENCH
/* master and remote slave unit functionality */
//#define FEATURE_REMOTE_UNIT_SLAVE // uncomment this to make this unit a remote unit controlled by a host unit
@ -60,7 +61,7 @@
//#define FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
// All displays require k3ngdisplay.h and k3ngdisplay.cpp in the ino directory!
#define FEATURE_4_BIT_LCD_DISPLAY // Uncomment for classic 4 bit LCD display (most common)
//#define FEATURE_4_BIT_LCD_DISPLAY // Uncomment for classic 4 bit LCD display (most common)
//#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
//#define FEATURE_YOURDUINO_I2C_LCD

View File

@ -4,10 +4,10 @@
*/
//#define HARDWARE_M0UPU // customize rotator_features_m0upu.h, rotators_pins_m0upu.h, rotator_settings_m0upu.h
//#define HARDWARE_EA4TX_ARS_USB // customize rotator_features_e4tx_ars_usb.h, rotators_pins_e4tx_ars_usb.h, rotator_settings_e4tx_ars_usb.h
//#define HARDWARE_WB6KCN // customize rotator_features_wb6kcn.h, rotators_pins_wb6kcn.h, rotator_settings_wb6kcn.h
//#define HARDWARE_TEST // customize rotator_features_test.h, rotators_pins_test.h, rotator_settings_test.h
// #define HARDWARE_M0UPU // customize rotator_features_m0upu.h, rotators_pins_m0upu.h, rotator_settings_m0upu.h
// #define HARDWARE_EA4TX_ARS_USB // customize rotator_features_e4tx_ars_usb.h, rotators_pins_e4tx_ars_usb.h, rotator_settings_e4tx_ars_usb.h
// #define HARDWARE_WB6KCN // customize rotator_features_wb6kcn.h, rotators_pins_wb6kcn.h, rotator_settings_wb6kcn.h
// #define HARDWARE_TEST // customize rotator_features_test.h, rotators_pins_test.h, rotator_settings_test.h
// do not modify anything below this line

View File

@ -268,3 +268,41 @@
#define ENE_STRING "ONO (ZL)"
#define NNE_STRING "NNO (UA0)"
#endif //LANGUAGE_GERMAN
#ifdef LANGUAGE_FRENCH // contributed by Marc-Andre, VE2EVN
#define MOON_STRING "lune "
#define SUN_STRING "soleil "
#define AZ_TARGET_STRING "Az Cible "
#define EL_TARGET_STRING "Él Cible "
#define TARGET_STRING "Cible "
#define PARKING_STRING "Parcage"
#define PARKED_STRING "Garé"
#define UP_STRING "HAUSSE"
//#define UP_STRING "HAUT"
#define DOWN_STRING "BAISSE"
//#define DOWN_STRING "BAS"
#define CW_STRING "SH"
#define CCW_STRING "SAH"
#define AZIMUTH_STRING "Azimut "
#define AZ_STRING "Az"
#define AZ_SPACE_STRING "Az "
#define SPACE_EL_STRING " Él"
#define SPACE_EL_SPACE_STRING " Él "
#define GPS_STRING "GPS"
#define N_STRING "N"
#define W_STRING "O"
#define S_STRING "S"
#define E_STRING "E"
#define NW_STRING "NO"
#define SW_STRING "SO"
#define SE_STRING "SE"
#define NE_STRING "NE"
#define NNW_STRING "NNO"
#define WNW_STRING "ONO"
#define WSW_STRING "OSO"
#define SSW_STRING "SSO"
#define SSE_STRING "SSE"
#define ESE_STRING "ESE"
#define ENE_STRING "ENE"
#define NNE_STRING "NNE"
#endif //LANGUAGE_FRENCH

View File

@ -319,9 +319,9 @@ You can tweak these, but read the online documentation!
*/
/*
#if defined(FEATURE_4_BIT_LCD_DISPLAY) || defined(FEATURE_ADAFRUIT_I2C_LCD) || defined(FEATURE_YOURDUINO_I2C_LCD) || defined(FEATURE_YWROBOT_I2C_DISPLAY)
K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
#endif
#ifdef FEATURE_AZ_POSITION_HMC5883L
@ -384,14 +384,14 @@ You can tweak these, but read the online documentation!
#define AZ_A2_ENCODER_RESOLUTION 32767 //36000
#define AZ_A2_ENCODER_ADDRESS 0x00
#define AZ_QUERY_FREQUENCY_MS 250
#define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION/*|MODE_MULTITURN*/
#define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION//|MODE_MULTITURN
#endif //FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
#ifdef FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#define EL_A2_ENCODER_RESOLUTION 32767 //36000
#define EL_A2_ENCODER_ADDRESS 0x00
#define EL_QUERY_FREQUENCY_MS 250
#define EL_A2_ENCODER_MODE /*MODE_TWO_BYTE_POSITION|*/MODE_MULTITURN
#define EL_A2_ENCODER_MODE MODE_MULTITURN//|MODE_TWO_BYTE_POSITION
#endif //FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#if defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) || defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
@ -400,4 +400,4 @@ You can tweak these, but read the online documentation!
// (Serial Port,Baud Rate,Busy Pin,Send/Receive Pin)
#define SEI_BUS_COMMAND_TIMEOUT_MS 6000
#endif
*/

View File

@ -313,7 +313,7 @@ You can tweak these, but read the online documentation!
*/
/*
#if defined(FEATURE_4_BIT_LCD_DISPLAY) || defined(FEATURE_ADAFRUIT_I2C_LCD) || defined(FEATURE_YOURDUINO_I2C_LCD) || defined(FEATURE_YWROBOT_I2C_DISPLAY)
K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
@ -374,4 +374,4 @@ You can tweak these, but read the online documentation!
#undef LCD_ROWS
#define LCD_ROWS 2
#endif //HARDWARE_M0UPU
*/

View File

@ -313,6 +313,8 @@ You can tweak these, but read the online documentation!
*/
/*
#if !defined(UNDER_DEVELOPMENT_K3NGDISPLAY_LIBRARY)
#if defined(FEATURE_4_BIT_LCD_DISPLAY)
LiquidCrystal lcd(lcd_4_bit_rs_pin, lcd_4_bit_enable_pin, lcd_4_bit_d4_pin, lcd_4_bit_d5_pin, lcd_4_bit_d6_pin, lcd_4_bit_d7_pin);
@ -392,4 +394,4 @@ PCF8583 rtc(0xA0);
#undef LCD_ROWS
#define LCD_ROWS 2
#endif //HARDWARE_M0UPU
*/

View File

@ -326,84 +326,84 @@ You can tweak these, but read the online documentation!
*/
#if defined(FEATURE_4_BIT_LCD_DISPLAY) || defined(FEATURE_ADAFRUIT_I2C_LCD) || defined(FEATURE_YOURDUINO_I2C_LCD) || defined(FEATURE_YWROBOT_I2C_DISPLAY)
K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
#endif
// #if defined(FEATURE_4_BIT_LCD_DISPLAY) || defined(FEATURE_ADAFRUIT_I2C_LCD) || defined(FEATURE_YOURDUINO_I2C_LCD) || defined(FEATURE_YWROBOT_I2C_DISPLAY)
// K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
// #endif
#ifdef FEATURE_AZ_POSITION_HMC5883L
HMC5883L compass;
#endif //FEATURE_AZ_POSITION_HMC5883L
// #ifdef FEATURE_AZ_POSITION_HMC5883L
// HMC5883L compass;
// #endif //FEATURE_AZ_POSITION_HMC5883L
#ifdef FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB
ADXL345 accel;
#endif //FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB
// #ifdef FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB
// ADXL345 accel;
// #endif //FEATURE_EL_POSITION_ADXL345_USING_LOVE_ELECTRON_LIB
#ifdef FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
#endif //FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB
// #ifdef FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB
// Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
// #endif //FEATURE_EL_POSITION_ADXL345_USING_ADAFRUIT_LIB
#if defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303) || defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303)
Adafruit_LSM303 lsm;
#endif
// #if defined(FEATURE_EL_POSITION_ADAFRUIT_LSM303) || defined(FEATURE_AZ_POSITION_ADAFRUIT_LSM303)
// Adafruit_LSM303 lsm;
// #endif
#if defined(FEATURE_AZ_POSITION_POLOLU_LSM303) || defined(FEATURE_EL_POSITION_POLOLU_LSM303)
LSM303 compass;
LSM303::vector<int16_t> running_min = {32767, 32767, 32767}, running_max = {-32768, -32768, -32768};
char report[80];
#endif //FEATURE_AZ_POSITION_POLOLU_LSM303
// #if defined(FEATURE_AZ_POSITION_POLOLU_LSM303) || defined(FEATURE_EL_POSITION_POLOLU_LSM303)
// LSM303 compass;
// LSM303::vector<int16_t> running_min = {32767, 32767, 32767}, running_max = {-32768, -32768, -32768};
// char report[80];
// #endif //FEATURE_AZ_POSITION_POLOLU_LSM303
#ifdef FEATURE_AZ_POSITION_HH12_AS5045_SSI
#include "hh12.h"
hh12 azimuth_hh12;
#endif //FEATURE_AZ_POSITION_HH12_AS5045_SSI
// #ifdef FEATURE_AZ_POSITION_HH12_AS5045_SSI
// #include "hh12.h"
// hh12 azimuth_hh12;
// #endif //FEATURE_AZ_POSITION_HH12_AS5045_SSI
#ifdef FEATURE_EL_POSITION_HH12_AS5045_SSI
#include "hh12.h"
hh12 elevation_hh12;
#endif //FEATURE_EL_POSITION_HH12_AS5045_SSI
// #ifdef FEATURE_EL_POSITION_HH12_AS5045_SSI
// #include "hh12.h"
// hh12 elevation_hh12;
// #endif //FEATURE_EL_POSITION_HH12_AS5045_SSI
#ifdef FEATURE_GPS
TinyGPS gps;
#endif //FEATURE_GPS
// #ifdef FEATURE_GPS
// TinyGPS gps;
// #endif //FEATURE_GPS
#ifdef FEATURE_RTC_DS1307
RTC_DS1307 rtc;
#endif //FEATURE_RTC_DS1307
// #ifdef FEATURE_RTC_DS1307
// RTC_DS1307 rtc;
// #endif //FEATURE_RTC_DS1307
#ifdef FEATURE_RTC_PCF8583
PCF8583 rtc(0xA0);
#endif //FEATURE_RTC_PCF8583
// #ifdef FEATURE_RTC_PCF8583
// PCF8583 rtc(0xA0);
// #endif //FEATURE_RTC_PCF8583
#ifdef HARDWARE_EA4TX_ARS_USB
#undef LCD_COLUMNS
#undef LCD_ROWS
#define LCD_COLUMNS 16
#define LCD_ROWS 2
#endif //HARDWARE_EA4TX_ARS_USB
// #ifdef HARDWARE_EA4TX_ARS_USB
// #undef LCD_COLUMNS
// #undef LCD_ROWS
// #define LCD_COLUMNS 16
// #define LCD_ROWS 2
// #endif //HARDWARE_EA4TX_ARS_USB
#ifdef HARDWARE_M0UPU
#undef LCD_ROWS
#define LCD_ROWS 2
#endif //HARDWARE_M0UPU
// #ifdef HARDWARE_M0UPU
// #undef LCD_ROWS
// #define LCD_ROWS 2
// #endif //HARDWARE_M0UPU
#ifdef FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
#define AZ_A2_ENCODER_RESOLUTION 32767 //36000
#define AZ_A2_ENCODER_ADDRESS 0x00
#define AZ_QUERY_FREQUENCY_MS 250
#define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION/*|MODE_MULTITURN*/
#endif //FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
// #ifdef FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
// #define AZ_A2_ENCODER_RESOLUTION 32767 //36000
// #define AZ_A2_ENCODER_ADDRESS 0x00
// #define AZ_QUERY_FREQUENCY_MS 250
// #define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION/*|MODE_MULTITURN*/
// #endif //FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
#ifdef FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#define EL_A2_ENCODER_RESOLUTION 32767 //36000
#define EL_A2_ENCODER_ADDRESS 0x00
#define EL_QUERY_FREQUENCY_MS 250
#define EL_A2_ENCODER_MODE /*MODE_TWO_BYTE_POSITION|*/MODE_MULTITURN
#endif //FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
// #ifdef FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
// #define EL_A2_ENCODER_RESOLUTION 32767 //36000
// #define EL_A2_ENCODER_ADDRESS 0x00
// #define EL_QUERY_FREQUENCY_MS 250
// #define EL_A2_ENCODER_MODE /*MODE_TWO_BYTE_POSITION|*/MODE_MULTITURN
// #endif //FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#if defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) || defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
#include "sei_bus.h"
SEIbus SEIbus1(&Serial1,9600,pin_sei_bus_busy,pin_sei_bus_send_receive);
// (Serial Port,Baud Rate,Busy Pin,Send/Receive Pin)
#define SEI_BUS_COMMAND_TIMEOUT_MS 6000
#endif
// #if defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) || defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
// #include "sei_bus.h"
// SEIbus SEIbus1(&Serial1,9600,pin_sei_bus_busy,pin_sei_bus_send_receive);
// // (Serial Port,Baud Rate,Busy Pin,Send/Receive Pin)
// #define SEI_BUS_COMMAND_TIMEOUT_MS 6000
// #endif

View File

@ -314,6 +314,7 @@ You can tweak these, but read the online documentation!
*/
/*
#if defined(FEATURE_4_BIT_LCD_DISPLAY) || defined(FEATURE_ADAFRUIT_I2C_LCD) || defined(FEATURE_YOURDUINO_I2C_LCD) || defined(FEATURE_YWROBOT_I2C_DISPLAY)
K3NGdisplay k3ngdisplay(LCD_COLUMNS,LCD_ROWS,LCD_UPDATE_TIME);
@ -379,14 +380,14 @@ You can tweak these, but read the online documentation!
#define AZ_A2_ENCODER_RESOLUTION 32767 //36000
#define AZ_A2_ENCODER_ADDRESS 0x00
#define AZ_QUERY_FREQUENCY_MS 250
#define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION/*|MODE_MULTITURN*/
#define AZ_A2_ENCODER_MODE MODE_TWO_BYTE_POSITION//|MODE_MULTITURN
#endif //FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER
#ifdef FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#define EL_A2_ENCODER_RESOLUTION 32767 //36000
#define EL_A2_ENCODER_ADDRESS 0x00
#define EL_QUERY_FREQUENCY_MS 250
#define EL_A2_ENCODER_MODE /*MODE_TWO_BYTE_POSITION|*/MODE_MULTITURN
#define EL_A2_ENCODER_MODE MODE_MULTITURN//|MODE_TWO_BYTE_POSITION
#endif //FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER
#if defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) || defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
@ -394,4 +395,5 @@ You can tweak these, but read the online documentation!
SEIbus SEIbus1(&Serial1,9600,pin_sei_bus_busy,pin_sei_bus_send_receive);
// (Serial Port,Baud Rate,Busy Pin,Send/Receive Pin)
#define SEI_BUS_COMMAND_TIMEOUT_MS 6000
#endif
#endif
*/