×
INDI Library v1.8.1 Released (09 Sep 2019)

Monthly maintenance release INDI v1.8.1

Bisque Paramount - INDI driver for TSX TCP API?

3 years 6 months ago
schwim
Expert Boarder
Expert Boarder
Posts: 110
More
Topic Author
Bisque Paramount - INDI driver for TSX TCP API? #8308
I've been searching around for this but haven't found much.

The Bisque Paramounts are controlled by The Sky X, which has a scriptable API that is exposed through a TCP server. The mount can be controlled almost completely via this API by feeding javascript commands to this TCP server. Reference here:

www.bisque.com/scriptTheSkyX/

Others are already doing this by direct interaction. I'm curious as to whether there is an ability to write an INDI "driver" that abstracts this API and would allow mount control INDI clients to control the Paramounts just as they would any other mount. This is especially interesting with TSX about to be released as a Raspberry Pi appliance, such that the Pi basically becomes a smart replacement for a hand controller with brains.

Please Log in or Create an account to join the conversation.

3 years 6 months ago 3 years 6 months ago by oleg.
oleg
Moderator
Moderator
Posts: 320
Karma: 5
More
Bisque Paramount - INDI driver for TSX TCP API? #8309
I found some information on page rts2.org/wiki/hw:start

You can try my open project Astronomy Linux

Please Log in or Create an account to join the conversation.

3 years 6 months ago
schwim
Expert Boarder
Expert Boarder
Posts: 110
More
Topic Author
Bisque Paramount - INDI driver for TSX TCP API? #8314
This appears to be a direct implementation of the Bisque protocol, intended to bypass The Sky X. I'm more looking for a way to control a Paramount via the scripting interface of TSX such that the mount can be controlled by INDI clients. For example, I'd love for it to be able to ask TSX to perform a closed-loop slew to an object, and let TSX reply with success or fail.

Please Log in or Create an account to join the conversation.

3 years 6 months ago
knro
Administrator
Administrator
Posts: 7379
Karma: 51
Bisque Paramount - INDI driver for TSX TCP API? #8330

schwim wrote: This appears to be a direct implementation of the Bisque protocol, intended to bypass The Sky X. I'm more looking for a way to control a Paramount via the scripting interface of TSX such that the mount can be controlled by INDI clients. For example, I'd love for it to be able to ask TSX to perform a closed-loop slew to an object, and let TSX reply with success or fail.


This is interesting. If you need help developing an INDI Mount driver, let me know. So you just open a socket to the TCP server and start sending and receiving javascript? Have you tried this yourself? What are the commands necessary for a basic mount control?

Jasem Mutlaq
Support INDI & Ekos; Get StellarMate Astrophotography Gadget.
How to Submit Logs when you have problems?
Add your observatory info

Please Log in or Create an account to join the conversation.

3 years 6 months ago
schwim
Expert Boarder
Expert Boarder
Posts: 110
More
Topic Author
Bisque Paramount - INDI driver for TSX TCP API? #8344
Yes, it's that simple. I have tried it - it works. In fact, you can even run the camera, filter wheel, and focuser this way, start up guiding, etc. I have seen some others automate the mount this way using bash scripts. I started framing something out in Python, but the INDI approach is much more interesting to me.

I'll get you some example snippets ASAP. Yes, I can use some help. I don't know C/C++ at all, not sure I'm up for diving in with those. Thanks!

Please Log in or Create an account to join the conversation.

3 years 6 months ago
knro
Administrator
Administrator
Posts: 7379
Karma: 51
Bisque Paramount - INDI driver for TSX TCP API? #8346
Sure, let's see the example stuff first and then proceed from there.

Jasem Mutlaq
Support INDI & Ekos; Get StellarMate Astrophotography Gadget.
How to Submit Logs when you have problems?
Add your observatory info

Please Log in or Create an account to join the conversation.

3 years 6 months ago
schwim
Expert Boarder
Expert Boarder
Posts: 110
More
Topic Author
Bisque Paramount - INDI driver for TSX TCP API? #8347
OK... Here's a very quick and dirty example. Opening a TCP connection to TSX on port 3040 and sending the following will cause TSX to slew the mount to the specified RA and Dec.

/* Java Script */
/* Socket Start Packet */

var MyRA = 3.0;
var MyDec = 7.125;

var Out;
// slew to RaDec, 
Out = sky6RASCOMTele.SlewToRaDec(MyRA, MyDec, "MyObject")

/* Socket End Packet */

So you'd want to pass the RA and Dec into this script as variables, open the socket (if not already open) and send the above. If possible, it would be good to have these commands broken out into config snippets that can be adjusted without changing the underlying driver. This would allow for customizations of the script to accommodate for error checking, requesting feedback during the slew and such.

Closed loop slew is next.

Please Log in or Create an account to join the conversation.

3 years 6 months ago
schwim
Expert Boarder
Expert Boarder
Posts: 110
More
Topic Author
Bisque Paramount - INDI driver for TSX TCP API? #8348
Now that I think about this, it would be awesome if INDI had a "scriptable" driver that can be instantiated such that when provided certain commands and/or information a configured script is executed by the driver. This would abstract scriptable items and present them as a standard INDI hardware driver I think.

Example:

Scriptable INDI driver set up to control a mount. Client passes a slew command to an RA/Dec to the driver, which then has a configuration to take that info and pass it to a configureable script, wait for a response, and so on.

Please Log in or Create an account to join the conversation.

3 years 6 months ago
knro
Administrator
Administrator
Posts: 7379
Karma: 51
Bisque Paramount - INDI driver for TSX TCP API? #8349
What actually gets sent over the wire? What does sky6RASCOMTele.SlewToRaDec(MyRA, MyDec, "MyObject") do?

Scriptable INDI driver set up to control a mount. Client passes a slew command to an RA/Dec to the driver, which then has a configuration to take that info and pass it to a configureable script, wait for a response, and so on.


INDI has scripting for over 13 years now. You can do it via Python, DBUS, or via INDI scripting tools.

Jasem Mutlaq
Support INDI & Ekos; Get StellarMate Astrophotography Gadget.
How to Submit Logs when you have problems?
Add your observatory info

Please Log in or Create an account to join the conversation.

3 years 6 months ago
schwim
Expert Boarder
Expert Boarder
Posts: 110
More
Topic Author
Bisque Paramount - INDI driver for TSX TCP API? #8352

knro wrote: What actually gets sent over the wire? What does sky6RASCOMTele.SlewToRaDec(MyRA, MyDec, "MyObject") do?


That snippet is exactly what gets sent over the wire in clear text. Simply open a TCP socket to port 3040 of the system running TSX and dump the snippet on the wire. sky6RASCOMTele.SlewToRaDec(MyRA, MyDec, "My Object") will slew the Paramount (or other) mount to the MyRA and MyDec as set in the variables. "My Object" is a text string the function requires. I think it just lets you name the object so it appears in the TSX GUI, but I haven't seen it show. Here is what the docs say about it:
void sky6RASCOMTele::SlewToRaDec	(	double 	dRa,
double 	dDec,
QString 	lpszObjectName 
)		
slot
Slews the telescope to the specified right ascension and declination coordinates.

Note - Coordinates used to slew the telescope are normally for the current epoch.

Parameters
dRa	A double that specifies the right ascension to slew the telescope.
dDec	A double that specifies the declination to slew the telescope.
lpszObjectName	A string that specifies the object's name.

knro wrote:

Scriptable INDI driver set up to control a mount. Client passes a slew command to an RA/Dec to the driver, which then has a configuration to take that info and pass it to a configureable script, wait for a response, and so on.


INDI has scripting for over 13 years now. You can do it via Python, DBUS, or via INDI scripting tools.


Understood. I assumed this to be client-side scripting. You can place a script under a driver to interact with something? In other words, the driver can act as an abstraction for the script?

Please Log in or Create an account to join the conversation.

3 years 6 months ago 3 years 6 months ago by dokeeffe.
dokeeffe
Platinum Boarder
Platinum Boarder
Posts: 378
More
Bisque Paramount - INDI driver for TSX TCP API? #8360
So I wonder if something like this would work from bash as an example to hack around with.
echo "/* Java Script */
/* Socket Start Packet */

var MyRA = 3.0;
var MyDec = 7.125;

var Out;
// slew to RaDec, 
Out = sky6RASCOMTele.SlewToRaDec(MyRA, MyDec, "MyObject")

/* Socket End Packet */" | nc tsx-hostname 3040

replace 'tsx-hostname' above with the actual host or ip-address
If anyone wants to send me a paramount mount to test with I'd be delighted :P

Celestron CPC1100 Atik 383L
HP8300 Elite i5 running Xubuntu, Indi, Kstars & Ekos
Roll off roof observatory
Battling Irish weather
github.com/dokeeffe
twitter.com/BallyhouraStars

Please Log in or Create an account to join the conversation.

3 years 6 months ago
anat
Senior Boarder
Senior Boarder
Posts: 50
More
Bisque Paramount - INDI driver for TSX TCP API? #8366
I attach C programs that I use to communicate with TSX to control a Paramount MYT. Those are basic commands to
Sync
Slew
Abort
Get RA and DEC
Home
Attachments:
The following user(s) said Thank You knro

Please Log in or Create an account to join the conversation.

Time to create page: 0.586 seconds