×

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

Bi-monthly release with minor bug fixes and improvements

Driver OnStep (LX200 like) for INDI

  • Posts: 161
  • Thank you received: 39
Doublechecking what Alain said, since there's a proposal in the thread, to confirm there's no way to have the focuser interface output temperature.

I've created a branch here

github.com/james-lan/indi/tree/focus_temperature

This should report it in the weather interface, but it won't be the main temperature. It would be possible to test it, and see if it was a good thing. (I'm very suspicious, I haven't touched the code in a while, and it compiled without error the first time.) If you can test that, we can at least report it and I can see about adding a button to swap it.

OnStep (maybe X only?), If I recall correctly also does the temperature compensation automatically. (Or can) I need to double check that statement, and I probably need to get some new hardware to test...
1 year 1 month ago #90885

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

  • Posts: 452
  • Thank you received: 71
James,

thanks for the input. I will have a look as soon as possible. You're right, OnStepX has something like compensation but I don't know how to interface it with Indi.
One of the focusers I was looking at is this project www.indilib.org/focusers/myfocuser-pro-2.html which is very interesting.
I think at least we should have in the focuser tab:
- Enable/Disable T° compensation
- Selection of Sensor (BME vs DS1820/Thermistor)
- T° Coefficient considering the compensation linear α = xx * 10-n * K-1 different for each telescope configuration
- Display for actual Temperature (but already in Weather tab for bme280 T°

And also consider OnStep and OnStepX ...
...
a lot of work I guess :-)

I found this in both OnStep and OnStepX
// :FC#       Get focuser temperature compensation coefficient in microns per °C)
    //            Return: n.n#
    // :FC[sn.n]# Set focuser temperature compensation coefficient in microns per °C (+ moves out as temperature falls)
    //            Return: 0 on failure
    //                    1 on success
    // :Fc#       Get focuser temperature compensation enable status
    //            Return: 0 if disabled
    //                    1 if enabled
    // :Fc[n]#    Enable/disable focuser temperature compensation where [n] = 0 or 1
    //            Return: 0 on failure
    //                    1 on success
    // :FD#       Get focuser temperature compensation deadband amount (in steps or microns)
    //            Return: n#
    // :FD[n]#    Set focuser temperature compensation deadband amount (in steps or microns)
    //            Return: 0 on failure
    //                    1 on success
    // :Fe#       Get focuser temperature differential
    //            Returns: n# temperature in deg. C
    // :Ft#       Get focuser temperature
    //            Returns: n# temperature in deg. C

So it seems selection of which T° is used is done in OnStep and compensation too.
Last edit: 1 year 1 month ago by Alain Zwingelstein.
1 year 1 month ago #90897

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

  • Posts: 452
  • Thank you received: 71
James,

After little check in OnStep / OnStepX code it seems that:
- :Ft returns either 10°C if no T° sensor present, bme280 T° if weather is enabled and Focuser T° is a sensor is configured
- OnStep considers 10°C if no sensor is present
- there is no way to select the temperature sensor for compensation
- compensation is effectively done by the OnStep firmware so no need to care about the control
- there are only three configurable variables to be set for T° compensation to work
--- Enable/disable T° compensation with :Fc1# or :Fc0# command (and Fc# to get status)
--- T° compensation alpha in µm/°C with :FCsn.n# (and :FC# to get setpoint)
--- T° deadband (hysteresys) with :FDn# (and FD# to get setpoint)

So displaying temperature in Focus tab, allowing user to enable/disable T° compensation and setting values for deadband and T° coefficient is feasible without a lot of headache, just a matter of having and OnStep with both sensors on it.
I ordered a bme280 just now so some days should be here.
1 year 1 month ago #90917

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

  • Posts: 452
  • Thank you received: 71
Hi,

does this comply with your expectations?
I did not yet bind the fields to the actual OnStep values but this could not be too hard.
Just a matter of getting the Hardware for test

1 year 1 month ago #90933
Attachments:

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

  • Posts: 452
  • Thank you received: 71
Hi,I believe I have the right thing.
I am able to:
- Read the Temperature and display it
- Read the Temperature dfiferential and display it (but the value is always Zero ???? also using terminal to read
- Read, Set and display the TFC coefficient
- Read, Set and display the TFC Deadband
- Read, Set and display the status Enabled/disabled of the TFC functionAs usual the code is availabled under github.com/azwing/indi
Would be nice if it could be tested by some people before issuing a pull request.

hereunder the screen shot of the Indi Control PanelFixed some format issues (Float T° etc ...)

after modifications
Last edit: 1 year 1 month ago by Alain Zwingelstein.
1 year 1 month ago #90937
Attachments:

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

  • Posts: 452
  • Thank you received: 71
Sorry for the late answer,

Properties cann be listed with Write Only -w switch

alain@asus:~$ indi_getprop -w | grep Out
LX200 OnStep.Outputs.Unconfigured=0
LX200 OnStep.Outputs.FAN 0_1=0
LX200 OnStep.Outputs.FAN 1_2=0
LX200 OnStep.Outputs.FAN 2_2=0
LX200 OnStep.Outputs.Chauf 0_3=0
LX200 OnStep.Outputs.Chauf 1_3=0
LX200 OnStep.Outputs.Chauf 2_3=0
LX200 OnStep.Outputs.Chauf 3_3=0
LX200 OnStep.Outputs.Unconfigured=0
LX200 OnStep.Outputs.Unconfigured=0
The following user(s) said Thank You: Corrado
1 year 1 month ago #90998

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

  • Posts: 23
  • Thank you received: 2
It looks pretty exciting.
When would it be available for use?

Best,
W
1 year 1 month ago #91028

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

  • Posts: 452
  • Thank you received: 71
Hi,
it is available for testing as source on my git github.com/azwing/indi
but will not be available until somebody can confirm correct working.
Since you have the hardware it would be nice that you test it.
I don't want to have a non tested driver to be merge into Indi, this could be annoying for a lot of people.

Usually after a change is proposed (a pull request issued) it takes some days before it is available on nightly builds.
The time it needs to have the new version available on official released is not previsible, can take some weeks.
1 year 1 month ago #91030

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

  • Posts: 115
  • Thank you received: 17
Driver works very strange for me. Every second it sends information about all its properties to client. And every second it sends each property twice. Firstly it informs about new property (defSwitchVector command for example) and secondly it sends property values (setSwitchVector). Is this normal? I think it must send properties list once (defSwitchVector, defNumberVector etc) when they are activated and later have to inform only about changed properties (setSwitchVector, setNumberVector etc)

How to reproduce. Just start indiserver
indiserver -vvv indi_lx200_OnStep 2>indi_out.txt
and connect remotelly from KStars and wait a little.

indi_out.txt file will be filled with very many of defXXXXXVector and setXXXXXVector commands that go once a second

PS: also it sends strange empty commands like this:
<defNumberVector device="" name="" label="" group="" state="Idle" perm="ro" timeout="0" timestamp="2023-03-02T21:42:51"/>
Last edit: 1 year 1 month ago by Denis.
1 year 1 month ago #91041

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

  • Posts: 452
  • Thank you received: 71
Hi,

thanks for the remark, I could reproduce it .
Did this appear just on the latest change of was it already there before.
Which version are you using?
thanks
1 year 1 month ago #91046

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

  • Posts: 115
  • Thank you received: 17
Sorry. INDI version is 2.0.0 (from ppa:mutlaqja repo)
Same behavior for ARM64 and x86_x64
1 year 1 month ago #91049

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

  • Posts: 452
  • Thank you received: 71
I was more thinking about the driver version which in your case should be 1.17 .
Current version on Git is 1.18 but I observe same behavior.
I don't know when this appeared but till now you are the only one that made notice of it.
The strange thing is it apparently does not degrade performances ...

Honestly I have no clue about what is happening.
At least I suspect the empty command coming from either from Focuser or Outputs code because it relies on indexed properties and loop for declaration.
Help would be appreciated for this.
1 year 1 month ago #91061

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

Time to create page: 1.858 seconds