×

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

Bi-monthly release with minor bug fixes and improvements

Driver for Ioptron Ieq45 with 8406 Hand Controler

  • Posts: 27
  • Thank you received: 2
Helo,
I tried lx200zeq25 driver with no success :(. This driver uses a set of commands for 8407 and never HC. I have found in indi-1.5.0\libindi\obsolete directory old driver for my mount with 8406 HC. Could you tell me how to compile and install this driver ?.
Thank you
Last edit: 6 years 6 months ago by Long Jon.
6 years 6 months ago #19335

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

  • Posts: 27
  • Thank you received: 2
Gotonova driver has similar command set with 8406, but lack of pulse guide. I need pulse guide. My DSI II guide camera dosen't have ST4 port.
6 years 6 months ago #19363

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

how about indi_ieq_telescope? did you try that?
6 years 6 months ago #19389

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

  • Posts: 27
  • Thank you received: 2
Thank you for replay. ind_ieq_telescope is for ieq45 pro and CGEM60.

I have basic programing skils. I will try to put commands from ieq45driver8406.c to lx200zeq25.cpp
I have put differences in the xls file

I don't konw how to modiffy moveZEQ25To and SetSlewRate.
Last edit: 6 years 6 months ago by Long Jon.
6 years 6 months ago #19396
Attachments:

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

  • Posts: 27
  • Thank you received: 2
No success. It will be easier to add a pulse guide to the GotoNova driver, which works better. 8406 hand controller command sets is almost the same as 8401.
6 years 6 months ago #19434

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

  • Posts: 27
  • Thank you received: 2
GotoNova driver: isSlewComplete give timeout error.

Command ":SE?#'" length is 6 not 16, strlen(cmd) is not equal to &nbytes_written.

bool LX200GotoNova::isSlewComplete()
{
char cmd[16];
int errcode = 0;
char errmsg[MAXRBUF];
char response[8];
int nbytes_read = 0;
int nbytes_written = 0;

strncpy(cmd, ":SE?#", 16);

DEBUGF(INDI::Logger::DBG_DEBUG, "CMD (%s)", cmd);

if ((errcode = tty_write(PortFD, cmd, strlen(cmd), &nbytes_written)) != TTY_OK)
6 years 6 months ago #19437

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

  • Posts: 27
  • Thank you received: 2
To add pulse guide I made the following changes. Is it sufficient ? Don't have hardware now. I have to check the correct command for pulseguide ":Mn%04d#" or ":Mgn%04d#". There is no info in command reference from Ioptron. I will check this letter. In obsolete ieq45driver8406.c is ":Mgn%04d#". Pulse guide from Ascom driver 2.11 works. I will try to spy in windows on com port.

lx200gotonova.h
...
virtual bool Park() override;
virtual bool UnPark() override;
virtual int SendPulseCmd(int direction, int duration_msec) override;

lx200gotonova.cpp
setLX200Capability(LX200_HAS_FOCUS | LX200_HAS_PULSE_GUIDING); instead setLX200Capability(LX200_HAS_FOCUS);

int LX200GotoNova::SendPulseCmd(int direction, int duration_msec)
{
int nbytes_write = 0;
char cmd[10];
switch (direction)
{
case LX200_NORTH:
sprintf(cmd, ":Mn%04d#", duration_msec);
break;
case LX200_SOUTH:
sprintf(cmd, ":Ms%04d#", duration_msec);
break;
case LX200_EAST:
sprintf(cmd, ":Me%04d#", duration_msec);
break;
case LX200_WEST:
sprintf(cmd, ":Mw%04d#", duration_msec);
break;
default:
return 1;
}

DEBUGF(INDI::Logger::DBG_DEBUG, "CMD (%s)", cmd);

tty_write_string(PortFD, cmd, &nbytes_write);

tcflush(PortFD, TCIFLUSH);
return 0;
Last edit: 6 years 6 months ago by Long Jon.
6 years 6 months ago #19443

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

that looks fine, submit it on Github as Pull-Request.
6 years 6 months ago #19448

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


Yes, it should just be const char *cmd = "SE?#"
6 years 6 months ago #19449

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

  • Posts: 27
  • Thank you received: 2

I don't know how to do this (Pull-request), but I will learn.

I need more testing. I have sniffed Ascom Driver 2.11 (phd - manual guide and other windows program).
If pulse length is less than 999 Ascom driver write (for example 750ms):
:Me750#:
If pulse guide is 1000ms or more Windows Ascom driver give multiple commands, (for example 2200ms):
:Me999# :Me999# :Me202#
(999+999+202=2200)

I think correct format is :Me%3d#. I will test this code:
int LX200GotoNova::SendPulseCmd(int direction, int duration_msec)
{
    int nbytes_write = 0;
    char cmd[10];
	int duration_time_msec=duration_msec;
	while (duration_time_msec>0)
	{
	if (duration_time_msec>999) duration_msec=999;
	else duration_msec=duration_time_msec;	
	switch (direction)
		{
			case LX200_NORTH:
				sprintf(cmd, ":Mn%03d#", duration_msec); 
				break;
			case LX200_SOUTH:
				sprintf(cmd, ":Ms%03d#", duration_msec);
				break;
			case LX200_EAST:
				sprintf(cmd, ":Me%03d#", duration_msec);
				break;
			case LX200_WEST:
				sprintf(cmd, ":Mw%03d#", duration_msec);
				break;
			default:
				return 1;
		}
	duration_time_msec = duration_time_msec - duration_msec;
	DEBUGF(INDI::Logger::DBG_DEBUG, "CMD (%s)", cmd);
    tty_write_string(PortFD, cmd, &nbytes_write);
	}
    tcflush(PortFD, TCIFLUSH);
    return 0;
}
Last edit: 6 years 6 months ago by Long Jon.
6 years 6 months ago #19624

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

  • Posts: 27
  • Thank you received: 2
6 years 6 months ago #19625

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

  • Posts: 5
  • Thank you received: 3
Hi Silver,

I am Nacho Mas, the developer of the old ieq45 8406 and 8407 INDI drivers (in obsolete dir). I have been disconnected of the INDI proyect last years but I own a ieq45 (HC8406) and I need to command it again using INDI.

I think indibase changed so much this years that is easier to create a new driver as you are trying than compile de old one.. May we can work together ... I have not much time but at lease I can help you testing and fixing base on my previous experience...

I paste here some relevant documents and information that I rescued from my mailing with ioptron people. This information is dated on 2013..

1. Very first version: GOTONOVA/GOTOSTAR command (GOTONOVA RS-232 COMMAND LANGUAGE)

This one works for all current iOptron SmartStar mount that uses 8402 or 8401 hand controller. The command is sent via USB port on a hand controller. The products include Cube, MiniTower and SmartStar PR EQ mount and GOTONOVA upgrade kit. No more bug fixing or upgrading.

2. RS232 for iEQ45 w/8406 HC only (iOptron iEQ45-8406 RS-232 COMMAND LANGUAGE)

This one only works for iEQ45 w/8406 hand controller. The control is via RS-232 port on a mount.

3. Current one for mount with 8407/8408 hand controller (iOptron Telescope RS-232 Command Language)

Most recent one. It has been used in iEQ45 w/8407HC, iEQ30, SmartEQ/SmartEQ Pro. The command is sent via serial port either on the mount (iEQ30/iEQ45) or hand controller (SmartEQ 8408 HC). This command set will be our current and future standard.
Attached the diferents command sets

Nacho
The following user(s) said Thank You: Jasem Mutlaq
Last edit: 6 years 6 months ago by Nacho Mas.
6 years 6 months ago #19729
Attachments:

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

Time to create page: 1.012 seconds