Bisque Paramount - INDI driver for TSX TCP API?

  • Posts: 83
  • Thank you received: 11

Bisque Paramount - INDI driver for TSX TCP API? was created by schwim

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.
2 years 6 months ago #8308

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

  • Posts: 316
  • Karma: 5
  • Thank you received: 93

Replied by oleg on topic Bisque Paramount - INDI driver for TSX TCP API?

I found some information on page rts2.org/wiki/hw:start
You can try my open project Astronomy Linux
Last edit: 2 years 6 months ago by oleg.
2 years 6 months ago #8309

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

  • Posts: 83
  • Thank you received: 11

Replied by schwim on topic Bisque Paramount - INDI driver for TSX TCP API?

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.
2 years 6 months ago #8314

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

Replied by knro on topic Bisque Paramount - INDI driver for TSX TCP API?

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
2 years 6 months ago #8330

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

  • Posts: 83
  • Thank you received: 11

Replied by schwim on topic Bisque Paramount - INDI driver for TSX TCP API?

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!
2 years 6 months ago #8344

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

Replied by knro on topic Bisque Paramount - INDI driver for TSX TCP API?

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
2 years 6 months ago #8346

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

  • Posts: 83
  • Thank you received: 11

Replied by schwim on topic Bisque Paramount - INDI driver for TSX TCP API?

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.
2 years 6 months ago #8347

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

  • Posts: 83
  • Thank you received: 11

Replied by schwim on topic Bisque Paramount - INDI driver for TSX TCP API?

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.
2 years 6 months ago #8348

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

Replied by knro on topic Bisque Paramount - INDI driver for TSX TCP API?

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
2 years 6 months ago #8349

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

  • Posts: 83
  • Thank you received: 11

Replied by schwim on topic Bisque Paramount - INDI driver for TSX TCP API?

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?
2 years 6 months ago #8352

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

  • Posts: 304
  • Thank you received: 60

Replied by dokeeffe on topic Bisque Paramount - INDI driver for TSX TCP API?

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
Last edit: 2 years 6 months ago by dokeeffe.
2 years 6 months ago #8360

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

  • Posts: 50
  • Thank you received: 8

Replied by anat on topic Bisque Paramount - INDI driver for TSX TCP API?

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
The following user(s) said Thank You: knro
2 years 6 months ago #8366
Attachments:

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

Time to create page: 0.335 seconds