2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								///////////////////////////////////////////////////////////////////////////////////
 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-18 13:12:18 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// written by Christian Daniel                                                   //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Copyright (C) 2015-2022 Edouard Griffiths, F4EXB <f4exb06@gmail.com>          //
 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:31:12 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Copyright (C) 2020-2024 Jon Beniston, M7RCE <jon@beniston.com>                //
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								//                                                                               //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// This program is free software; you can redistribute it and/or modify          //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// it under the terms of the GNU General Public License as published by          //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// the Free Software Foundation as version 3 of the License, or                  //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// (at your option) any later version.                                           //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								//                                                                               //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// This program is distributed in the hope that it will be useful,               //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// but WITHOUT ANY WARRANTY; without even the implied warranty of                //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                  //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// GNU General Public License V3 for more details.                               //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								//                                                                               //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// You should have received a copy of the GNU General Public License             //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// along with this program. If not, see <http://www.gnu.org/licenses/>.          //
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								///////////////////////////////////////////////////////////////////////////////////
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# ifndef INCLUDE_FEATURE_STARTRACKERSETTINGS_H_ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# define INCLUDE_FEATURE_STARTRACKERSETTINGS_H_ 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <QByteArray> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <QString> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  Serializable ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								struct  StarTrackerSettings 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_ra ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_dec ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_latitude ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_longitude ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_target ;            // Sun, Moon, Custom
 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-14 13:20:33 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    QString  m_dateTime ;          // Local date/time for observation, or "" for now
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_refraction ;        // Refraction correction. "None", "Saemundsson" or "Positional Astronomy Library"
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_pressure ;           // Air pressure in millibars
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_temperature ;        // Air temperature in C
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_humidity ;           // Humidity in %
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_heightAboveSeaLevel ;  // In metres
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_temperatureLapseRate ;  // In K/km
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_frequency ;          // Observation frequency in Hz
 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-12 11:07:56 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    double  m_beamwidth ;          // Halfpower beamwidth in degrees
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    uint16_t  m_serverPort ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_enableServer ;         // Enable Stellarium server
 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-24 13:22:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    enum  AzElUnits  { DMS ,  DM ,  D ,  Decimal }  m_azElUnits ;  // This needs to match DMSSpinBox::DisplayUnits
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-29 12:57:58 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    enum  SolarFluxData  { DRAO_2800 ,  L_245 ,  L_410 ,  L_610 ,  L_1415 ,  L2695 ,  L_4995 ,  L_8800 ,  L_15400 ,  TARGET_FREQ }  m_solarFluxData ;  // What Solar flux density data to display
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-22 16:58:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    enum  SolarFluxUnits  { SFU ,  JANSKY ,  WATTS_M_HZ }  m_solarFluxUnits ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    float  m_updatePeriod ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_jnow ;                 // Use JNOW epoch rather than J2000
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_drawSunOnMap ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_drawMoonOnMap ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_drawStarOnMap ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 02:27:43 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    bool  m_chartsDarkTheme ;      // Dark theme for charts
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    quint32  m_rgbColor ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_useReverseAPI ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_reverseAPIAddress ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint16_t  m_reverseAPIPort ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint16_t  m_reverseAPIFeatureSetIndex ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    uint16_t  m_reverseAPIFeatureIndex ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-12 11:07:56 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    double  m_az ;                 // Azimuth for Custom Az/El
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_el ;                 // Elevation for Custom Az/El
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_l ;                  // Galactic longitude for Custom l/b
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_b ;                  // Galactic lattiude for Custom l/b
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_link ;                 // Link settings to Radio Astronomy plugin
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QString  m_owmAPIKey ;         // API key for openweathermap.org
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    int  m_weatherUpdatePeriod ;   // Time in minutes between weather updates
 
							 
						 
					
						
							
								
									
										
										
										
											2023-03-30 16:48:02 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    double  m_azimuthOffset ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    double  m_elevationOffset ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-12 11:07:56 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    bool  m_drawSunOnSkyTempChart ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  m_drawMoonOnSkyTempChart ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-09 05:27:12 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    Serializable  * m_rollupState ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-05 16:26:57 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    int  m_workspaceIndex ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QByteArray  m_geometryBytes ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-03 16:53:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    enum  Rotators  { ALL_ROTATORS ,  NO_ROTATORS ,  MATCHING_TARGET }  m_drawRotators ;  //!< Which rotators to draw on polar chart
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    StarTrackerSettings ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    void  resetToDefaults ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QByteArray  serialize ( )  const ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bool  deserialize ( const  QByteArray &  data ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-01-09 05:27:12 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    void  setRollupState ( Serializable  * rollupState )  {  m_rollupState  =  rollupState ;  } 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-30 07:21:59 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    void  applySettings ( const  QStringList &  settingsKeys ,  const  StarTrackerSettings &  settings ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    QString  getDebugString ( const  QStringList &  settingsKeys ,  bool  force = false )  const ; 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 20:51:38 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif  // INCLUDE_FEATURE_STARTRACKERSETTINGS_H_