[Kstars-devel] KDE/kdeedu/kstars/kstars/indi

Jasem Mutlaq mutlaqja at ikarustech.com
Thu Nov 17 12:55:04 CET 2005


SVN commit 480990 by mutlaqja:

Adding INDI Intelliscope driver by Douglas Phillipson, Thanks Doug!

CCMAIL: kstars-devel at kde.org
CCMAIL: dougp at intermind.net



 M  +8 -1      Makefile.am  
 M  +4 -0      drivers.xml  
 A             intelliscope.c   [License: LGPL]
 M  +36 -0     lx200driver.c  
 M  +3 -0      lx200driver.h  


--- trunk/KDE/kdeedu/kstars/kstars/indi/Makefile.am #480989:480990
@@ -7,7 +7,7 @@
 bin_add   =  apogee_ppi sbigccd v4ldriver v4lphilips meade_lpi
 endif
 
-bin_PROGRAMS = indiserver lx200basic lx200generic celestrongps apmount fliccd fliwheel flipdf temma skycommander $(bin_add)
+bin_PROGRAMS = indiserver lx200basic lx200generic celestrongps apmount fliccd fliwheel flipdf temma skycommander intelliscope $(bin_add)
 
 liblilxml_a_SOURCES = lilxml.c
 libindicom_a_SOURCES = indicom.c fitsrw.c base64.c
@@ -53,6 +53,9 @@
 skycommander_SOURCES =  indidrivermain.c base64.c eventloop.c lx200driver.c skycommander.c
 skycommander_LDADD = liblilxml.a libindicom.a -lm
 
+intelliscope_SOURCES =  indidrivermain.c base64.c eventloop.c lx200driver.c intelliscope.c
+intelliscope_LDADD = liblilxml.a libindicom.a -lm
+
 apogee_ppi_SOURCES = apogee_ppi.cpp base64.c eventloop.c indidrivermain.c
 apogee_ppi_LDADD = libindicom.a liblilxml.a apogee/libapogee_PPI.la -lz
 
@@ -75,6 +78,10 @@
 
 KDE_OPTIONS = nofinal
 
+if LINUX
 SUBDIRS = fli webcam apogee
+else
+SUBDIRS = fli apogee
+endif
 
 include $(top_srcdir)/admin/Doxyfile.am
--- trunk/KDE/kdeedu/kstars/kstars/indi/drivers.xml #480989:480990
@@ -78,6 +78,10 @@
 		<driver>lx200basic</driver>
 		<version>1.0</version>
 	</device>
+	<device label="Intelliscope/Sky Wizard" focal_length="" aperture="">
+		<driver>intelliscope</driver>
+		<version>0.2</version>
+	</device>
 </devGroup>
 <devGroup group="CCDs">
 	<device label="FLI CCD">
--- trunk/KDE/kdeedu/kstars/kstars/indi/lx200driver.c #480989:480990
@@ -608,7 +608,43 @@
 
 }
 
+int updateIntelliscopeCoord (double *ra, double *dec)
+{
+  char coords[16];
+  char CR[1] = { (char) 0x51 };	/* "Q" */
+  float RA = 0.0, DEC = 0.0;
 
+  IDLog ("Sending a Q\n");
+  write (fd, CR, 1);
+  /* We start at 14 bytes in case its a Sky Wizard, 
+     but read one more later it if it's a intelliscope */
+  read_ret = portRead (coords, 14, LX200_TIMEOUT);
+  IDLog ("portRead() = [%s]\n", coords);
+
+  /* Remove the Q in the response from the Intelliscope  but not the Sky Wizard */
+  if (coords[0] == 'Q') {
+    coords[0] = ' ';
+    /* Read one more byte if Intelliscope to get the "CR" */
+    read_ret = portRead (coords, 1, LX200_TIMEOUT);
+  }
+  read_ret = sscanf (coords, " %g %g", &RA, &DEC);
+  IDLog ("sscanf() RA = [%f]\n", RA * 0.0390625);
+  IDLog ("sscanf() DEC = [%f]\n", DEC * 0.0390625);
+
+  IDLog ("Intelliscope output [%s]", coords);
+  if (read_ret < 2) {
+    IDLog ("Error in Intelliscope number format [%s], exiting.\n", coords);
+    return -1;
+  }
+
+  *ra = RA * 0.0390625;
+  *dec = DEC * 0.0390625;
+
+  return 0;
+
+}
+
+
 /**********************************************************************
 * SET
 **********************************************************************/
--- trunk/KDE/kdeedu/kstars/kstars/indi/lx200driver.h #480989:480990
@@ -165,6 +165,9 @@
 int getTimeFormat(int *format);
 /* Get RA, DEC from Sky Commander controller */
 int updateSkyCommanderCoord(double *ra, double *dec);
+/* Get RA, DEC from Intelliscope/SkyWizard controllers */
+int updateIntelliscopeCoord (double *ra, double *dec);
+
 /**************************************************************************
  Set Commands
  **************************************************************************/


More information about the Kstars-devel mailing list