×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Celestron Motorised Focuser - Is it supported in EKOS yet

  • Posts: 51
  • Thank you received: 12
One benefit is not needing to occupy another USB port, especially if you are running on a RPi (or Rcok64 in my case) and already taking up a lot of ports. On nights when I am not imaging, I’d still be able to motor focus without needing to hook a computer or battery up to the focuser. I also like to tinker, which is probably the best/honest reply.
5 years 2 months ago #34132

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


Thanks Chris, so we can use the pass thru commands to inquire about the focuser and then enable it in the driver? What would be the complete pass thru command for MC_GET_Position for example?
5 years 2 months ago #34176

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

  • Posts: 13
  • Thank you received: 2
I have this focusor and do not use it with a Celestron mount so independent focus control outside the mount is needed.

I will manage the focusor via USB connect directly to my RasberryPi running StellarMate.
5 years 2 months ago #34269

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


I don't have this focuser. Can I get access to your StellarMate to develop this driver? Please send email to support if you can help with this (support AT stellarmate DOT com)
5 years 2 months ago #34477

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

  • Posts: 2
  • Thank you received: 2
I started looking into the USB Protocol, but I'm at the wrong end of a learning curve on this one.
Here's what I have:
These 2 sequences start the focuser talking:
3b 03 22 12 fe cb --connect -->3b 07 12 22 fe 07 0f 20 30 61
3b 03 22 12 40 89 --?????? -->3b 04 12 22 40 00 88

Focuser continues to send this while you are connected.
keep alive
3b 03 22 12 01 c8 -->receive 3b 06 12 22 01 ignore last 4 bytes, appears to be counting (3b 06 12 22 01 00 83 59 e9 ) or timestamp

3b 04 22 12 25 09 9a move in 3
3b 04 22 12 25 00 a3 move in

3b 04 22 12 24 09 9b move out
3b 04 22 12 25 00 a3

3b 06 22 12 02 00 83 a4 9d move to 33700 = 0x83a4

byte1 always 3b
byte2 message length
byte3 always 22
byte4 always 12
byte5 command

final byte is a checksum, CheckSum8 2s Complement, on 2nd byte - (last byte-1)
The following user(s) said Thank You: Jasem Mutlaq
5 years 2 months ago #34491

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

  • Posts: 13
  • Thank you received: 2
I emailed you but got no response
5 years 2 months ago #34904

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

  • Posts: 554
  • Thank you received: 138
The packet protocol is:
3b - signal the start of a packet
03 - number of bytes up to the checksum
22 - the transmit device ID
12 - the receive device ID in this case the focuser
fe - the message ID, fe is get firmware version
cb - a checksum, there is no data

The reply is similar, there are now 7 bytes and the send and receive are reversed.
There are 4 data bytes, 07 0f 20 30, not sure how this is parsed.

These 2 sequences start the focuser talking:
3b 03 22 12 fe cb --connect -->3b 07 12 22 fe 07 0f 20 30 61

3b 03 22 12 40 89 --?????? -->3b 04 12 22 40 00 88
That's command 40, I think that's reading the backlash, reply is 1 byte giving zero backlash


Focuser continues to send this while you are connected.
keep alive
3b 03 22 12 01 c8 -->receive 3b 06 12 22 01 ignore last 4 bytes, appears to be counting (3b 06 12 22 01 00 83 59 e9 ) or timestamp
Command 01 is get position and the reply is the focuser position as 3 bytes, a 24 bit number.

Commands 24 and 25 are move at a rate 0 to 9 with zero being stop 24 is positive move, 25 is negative.

Command 02 is move to position, the next three bytes are the position.

Hope that helps.

Chris
5 years 2 months ago #34910

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

  • Posts: 200
  • Thank you received: 57
This is AUX protocol. It is already implemented in nexstarevo driver. Maybe we should abstract the protocol and communication out of this driver? Anyway, we do not need to reimplement it.
I am affraid without implementin some kind of communication hub/queue for the protocol we will be unable to run mount and focuser driver together.
5 years 2 months ago #35081

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

Great Progress Donald!

I actually asked Celestron if they can send me a sample focuser + protocol so I can work on a driver for it for INDI, and their response was: Go buy one. So I guess we'll stick with community-driven reverse-engineering as usual with Celestron products.
The following user(s) said Thank You: Craig
5 years 2 months ago #35084

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

  • Posts: 13
  • Thank you received: 2
I have a focusor and a Stellarmate, Happy to give you remote access if it helps.

Let me know what you need and I can arrange it
5 years 2 months ago #35087

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

  • Posts: 200
  • Thank you received: 57
Jasem!
I do not know if you noticed but the AUX communication protocol is already implemented in nexstarevo driver. If another driver starts to run the same stack both will stop to work (there is no queue and target selection in the protocol). We need to move the comms to the common place and add target arbitration. Maybe I can help with some parts of that task.
The following user(s) said Thank You: Jasem Mutlaq
5 years 2 months ago #35091

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

  • Posts: 554
  • Thank you received: 138
I have a Celestron focuser that I will be able to use for testing once there's some code to try.
I can help because I implemented the combined ASCOM telescope and focuser drivers. Celestron provided me with a beta version of the focuser.

There are a number of possibilities for connecting:
a) Connect the focuser to the mount and use the connection to the AUX bus for the telescope and the mount. That could be an extension to the nexstarevo driver.
b) Connect to the focuser independently of the telescope using the focuser's USB port. This also used the AUX bus connection.
c) Connect the mount and focuser using the AUX bus connector, not the focuser USB connection, and use a connection to the base of the HC to control both the telescope and focuser. that uses the same commands but through the HC passthrough engine.

I described some commands a few days ago, some more are:
// Focuser commands
FOC_ENABLE_CALIBRATE = 0x2A, // send 1 data byte 1 to start calibration, 0 to stop
FOC_IS_CALIBRATED = 0x2B, // return 2 bytes, [0] != 0 for calibrate complete,
// [1] is calibrate step, up to 12

FOC_GET_HS_POSITIONS = 0x2C, // returns 2 uints, [0] is low and [1] is high

I'm not an expert with INDI or C++ so setting up the structure of the various drivers is something that would be better left to the experts but once there's something there I should be able to help with debugging adding functionality.

Chris
The following user(s) said Thank You: Jasem Mutlaq
5 years 2 months ago #35092

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

Time to create page: 1.004 seconds