@@ -164,6 +164,7 @@ public class MountVM : ViewModelBase
164164
165165 private ICommunicationHandler _commHandler ;
166166 private string _serialBaudRate ;
167+ private string _trackingMode ;
167168
168169 private OatmealTelescopeCommandHandlers _oatMount ;
169170 private PointsOfInterest _pointsOfInterest ;
@@ -195,6 +196,7 @@ public class MountVM : ViewModelBase
195196 private DateTime _siderealTime ;
196197 private DateTime _lastSiderealSync = DateTime . UtcNow - TimeSpan . FromMinutes ( 10 ) ;
197198
199+
198200 public float RASpeed
199201 {
200202 get ; private set ;
@@ -1524,6 +1526,7 @@ public void UpdateRealtimeParameters(bool editable)
15241526 string speed = string . Empty ;
15251527 string network = string . Empty ;
15261528 string hemisphere = string . Empty ;
1529+ string trkMode = string . Empty ;
15271530 bool failed = false ;
15281531
15291532 if ( _oatMount != null )
@@ -1534,7 +1537,8 @@ public void UpdateRealtimeParameters(bool editable)
15341537 this . SendOatCommand ( ":GG#,#" , ( a ) => { utcOffset = a . Data ; failed |= ! a . Success ; } ) ;
15351538 this . SendOatCommand ( ":GL#,#" , ( a ) => { localTime = a . Data ; failed |= ! a . Success ; } ) ;
15361539 this . SendOatCommand ( ":GC#,#" , ( a ) => { localDate = a . Data ; failed |= ! a . Success ; } ) ;
1537- this . SendOatCommand ( ":XGH#,#" , ( a ) => { ha = a . Data ; failed |= ! a . Success ; } ) ;
1540+ this . SendOatCommand ( ":TZ#,#" , ( a ) => { trkMode = a . Data ; failed |= ! a . Success ; } ) ;
1541+ //this.SendOatCommand(":XGH#,#", (a) => { ha = a.Data; failed |= !a.Success; });
15381542 if ( FirmwareVersion >= 11206 )
15391543 {
15401544 this . SendOatCommand ( ":XGHS#,#" , ( a ) => { hemisphere = a . Data . Substring ( 0 , 1 ) ; failed |= ! a . Success ; } ) ;
@@ -1553,6 +1557,11 @@ public void UpdateRealtimeParameters(bool editable)
15531557 {
15541558 try
15551559 {
1560+ if ( ! string . IsNullOrEmpty ( trkMode ) )
1561+ {
1562+ TrackingMode = trkMode ;
1563+ }
1564+
15561565 if ( localTime . Length == 8 )
15571566 {
15581567 ScopeTime = localTime ;
@@ -4030,6 +4039,12 @@ public PointsOfInterest AllPointsOfInterest
40304039 get { return _pointsOfInterest ; }
40314040 }
40324041
4042+ public string TrackingMode
4043+ {
4044+ get { return _trackingMode ; }
4045+ set { SetPropertyValue ( ref _trackingMode , value ) ; OnPropertyChanged ( "SelectedTrackingMode" ) ; }
4046+ }
4047+
40334048 /// <summary>
40344049 /// Gets the string for the connect button
40354050 /// </summary>
@@ -4066,6 +4081,38 @@ public String SelectedBaudRate
40664081 }
40674082 }
40684083
4084+ public String SelectedTrackingMode
4085+ {
4086+ get { return _trackingMode ; }
4087+ set
4088+ {
4089+ if ( value == "Sidereal" )
4090+ {
4091+ this . SendOatCommand ( ":TQ#,n" , ( a ) => { } ) ;
4092+ }
4093+ else if ( value == "Lunar" )
4094+ {
4095+ this . SendOatCommand ( ":TL#,n" , ( a ) => { } ) ;
4096+ }
4097+ else if ( value == "Solar" )
4098+ {
4099+ this . SendOatCommand ( ":TS#,n" , ( a ) => { } ) ;
4100+ }
4101+ else if ( value == "King" )
4102+ {
4103+ this . SendOatCommand ( ":TK#,n" , ( a ) => { } ) ;
4104+ }
4105+ else
4106+ {
4107+ this . SendOatCommand ( ":TQ#,n" , ( a ) => { } ) ;
4108+ }
4109+
4110+ Log . WriteLine ( "MOUNT: Changing tracking rate to " + value ) ;
4111+ _trackingMode = value ;
4112+ AppSettings . Instance . TrackingRate = value ;
4113+ }
4114+ }
4115+
40694116 public IEnumerable < String > AvailableBaudRates
40704117 {
40714118 get { return _baudRates ; }
@@ -4085,6 +4132,23 @@ public IEnumerable<String> AvailableBaudRates
40854132 "1200" ,
40864133 "300" ,
40874134 } ;
4135+
4136+ /// <summary>
4137+ /// Gets or sets tracking modes
4138+ /// </summary>
4139+ public IEnumerable < String > AvailableTrackingModes
4140+ {
4141+ get { return _trackingModes ; }
4142+ }
4143+
4144+ List < String > _trackingModes = new List < string > ( ) {
4145+ "Sidereal" ,
4146+ "Lunar" ,
4147+ "Solar" ,
4148+ "King"
4149+ } ;
4150+
4151+
40884152 private string _autoHomeRaDirection ;
40894153 private float _autoHomeRaDistance ;
40904154 private string _autoHomeDecDirection ;
0 commit comments