×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Celestron Motorised Focuser - Is it supported in EKOS yet

  • Posts: 200
  • Thank you received: 57
Adding the focuser to the nexstarevo would be simple.
Add new target and commands in NexStarAUXScope.h, add next axis in the processCmd selector for motor commands in NexStarAUXScope.cpp, and either process them the way emulateGPS is implemented or rather as one more axis. The rest is adding Focuser API
to nexstarevo.cpp/h using the additional axis in NexStarAUXScope.

But let me note that this will force everyone to load the nexstarevo for the focuser. This is non-intuitive and suboptimal. Three separate drivers is even worse - they will conflict with each other and will contain unnecesary duplication of code. I think that the factorization of tcp/serial code done some time ago by Jasem should be our model here. The rest is just a driver keeping track of motor position/movements and the INDI API/GUI.
5 years 1 month ago #35104

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

So it uses COM1 / COM2..etc in Windows? In that case, it's probably using USB to Serial adapter. Can you plug it in Linux and check the output of dmesg ?
5 years 1 month ago #35105

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

We can have one file to implement the commands and it gets called by the 3 drivers?

We need a dedicated driver because some folks might want to use it over USB and not via the mount. Then those using the Celestron and NexstarEvo drivers should be able to connect to the focuser as well.
5 years 1 month ago #35106

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

  • Posts: 200
  • Thank you received: 57
Chris, there is no target arbitration in the AUX protocol. All messages are broadcast over all devices and sockets. The HC pass-thru filters responses so you get only replies to your commands (you cannot snoop messages of other devices) - this will make gps emulator in nextstarevo not working over HC serial connection. But you cannot connect two drivers to one serial line they will disrupt each others' communication by eating characters from the buffer. It will be the same for the NSE driver (it uses TCP for comms UDP is just the scope detection) - the WiFi chip in the scope can serve only one connection at the time. The focuser would need to be implemented inside standard celestron driver, separately and inside nexstarevo driver. Only driver using usb would not conflict with others since this is a separate physical connection and usb layer handles the switching.
5 years 1 month ago #35107

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

  • Posts: 200
  • Thank you received: 57
Exactly Jasem. We would need to remove and use the AUX protocol implementation from the NSE driver, add serial line and HC-pass channels and make it into kind of server for the drivers. The usb case should be handled by starting separate instance of the server for this connection. The drivers will just get the data they register for, this should not be very difficult.
We have a similar case with the GPS emulator implemented inside NSE. Sometimes you just need a GPS for your scope but you need to load the mount driver for it and risk interference with HC operations. I would separate theis emulator into separate driver as well.
5 years 1 month ago #35108

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

  • Posts: 200
  • Thank you received: 57
BTW I wonder if the USB connection gets all the messages on the AUX bus or only the focuser's?
If it gets all traffic from the AUX bus this will be another way to connect to AUX bus without any additional hardware converters.
5 years 1 month ago #35109

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

  • Posts: 200
  • Thank you received: 57
Jasem, should this be a library or some kind of driver? I do not know the INDI architecture well enough to decide which is better. What would you suggest?
5 years 1 month ago #35110

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

  • Posts: 554
  • Thank you received: 138
From what I can see my focuser has a vendor id of 15A2, product Id A50F and product Celestron Focuser. It appears as ttyACM0.

I'm going to have to leave much of this to you Jochym and Jasem. Your discussion has lost me.

A couple of things:
There are basically two different connection methods:
1) The connection to the serial/usb serial post on the base of the HC. This communicates with the mount using the hand control. It is the normal way that people control these scopes using the pointing model implemented in the HC.
2) The connection to the Aux bus. this communicates directly with the motors and does not involved the HC. It does not use the HC mount model at all.

These two control methods use totally separate control methods, they may both be serial but that's where the resemblance ends. They use different baud rates and different packet structures even for commands that are sent directly to the motors.

I think that trying to combine these would be so complex that it isn't worth it. All that can be considered to be common is the device Ids and commands, a couple of enums.

What I'd do is add the focuser to the current celestron telescope driver. That allows people who want to control the telescope and focuser through the serial port on the HC to get going. It sholdn't be difficult and is what I did to add the focuser to the ASCOM telescope driver.

Nexstarevo isn't currently mainstream so I would start with a separate Celestron USB focuser driver. This is intended to be used when the focuser has it's own separate connection but with sensible development and testing can be merged with naxstarevo when it becomes main stream.

This may not be totally optimal but should get a focuser driver in the hands of the users rather faster. Trying to combine the Hand Control and Aux Bus control will I believe be more complex than the small amont of saved code will justify.

Celestron seems to manage multiple devices working on the same aux bus by using a hardware method that is based on the hardware lines RTS and CTS. This doesn't involve the aux bus protocol. This seems to avoid most collisions because a device won't transmit if it sees that something else is using the bus. Any that are left are managed by timeouts and retries.

They must have got this sorted because they have been operating perfectly happily with situations where there are multiple controllers, such as a Hand control and a PC program such as NexRemote running the same mount at the same time.

Hope this makes sense, I can see that you have been having quite a lot more conversation while I've been composing this.

Chris
The following user(s) said Thank You: Stefan
5 years 1 month ago #35111

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

Pawel & Chris, thanks for the great feedback! So I agree with Chris we need to get this developed and available ASAP as many users have requested this.

Just now, I pushed celestron_work branch on Github with this commit: 06a254bc4584f7dbe5fe8765f3ae9a8814292bc4
git checkout celestron_work

Just checkout the branch and you'll find two files (celestron.[h,cpp]). It's skeleton ready to be filled with actual commands. I commented most of the code so (hopefully), it should be straight forward to edit. So I believe priority wise, we should work on the following:

1. Standalone focuser driver.
2. Adding focuser support to Celestron driver.
3. Adding focuser support to NexstarEvo driver.

#1 and #2 would probably cover 90% of the users, but once they're out of the way #3 shouldn't be hopefully too difficult.

Chris, please checkout the files. They're included in the CMakelists.txt and drivers.xml, so just compile and install. Let me know if you need any help.
The following user(s) said Thank You: Stefan
5 years 1 month ago #35112

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

  • Posts: 200
  • Thank you received: 57
Chris,

Are you saying that the new HC firmware implements separate commands for focuser control on the level of celestron protocol? Or your ASCOM driver just uses HC pass-thru to use AUX commands for the focuser?

You are absolutely correct that AUX and Celestron are completely different and act on different level. Combining the two is next to impossible - I know I have tried (and failed) to make HC into additional controller (like joystick) for the NSE driver. So we are not going to do that.

Please answer this (if you can):
1) Is there actual extension of the celestron protocol (new high level commands) implemented in HC firmware for focuser control?
or
2) Is focuser only controlable by AUX commands either by USB connection or HC pass-thru serial connection?

In the first case it would make some sense to add focuser to celestron driver and separately to NSE driver. It would still be duplication of some code but at least it would be justified.
If the second case is true I really see no reason to make three identical drivers which differ only in the communication channel.
The following user(s) said Thank You: Stefan
5 years 1 month ago #35113

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

  • Posts: 51
  • Thank you received: 12
Through the HC’s Menu->Utilities, you can get to an option for adding the focuser. I have been building a Arduino-GPS device that connects through the AUX port, and if you try to turn the focuser option on, you can see the serial traffic where the HC is searching for a reply from the focuser.

The HC broadcasts a “hey, are you there?” to all the AUX devices (that includes the motor boards) and only the appropriate one sends a reply.

I suspect most owners of this focuser will already be celestron mount owners. Consequently, they will probably already be connecting their PC through the HC for mount control, and the focuser will be connected via AUX. I’d “focus” on getting communication through the HC’s USB/serial port first. After that, move to a direct USB-focuser module.

I’m being a bit selfish since I plan on making and AUX-Arduino focuser that implements Celestron’s AUX protocol. If INDI’s control goes through the HC, I can ditch my current focuser’s USB and just have AUX/RJ12 cables to the mount.
The following user(s) said Thank You: Stefan
5 years 1 month ago #35117

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

  • Posts: 13
  • Thank you received: 2
I can give remote access to my Stellarmate with attached focusor so you can develop the driver and test it. Just tell me what ports you need open and give me an email address to send the connection details to
The following user(s) said Thank You: Craig, Stefan
5 years 1 month ago #35121

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

Time to create page: 1.084 seconds