Hans thanked Michael in topic 10Micron Mount Modelling yesterday
Hans replied to the topic 'KStars Video Documentation?' in the forum. 1 month ago

plan makes sense. will be a lot of work too

maybe extend (1) with upgrading KStars/EKOS ?
and at (3) explain clearly which keys or menu options to use

And this whole thing will need an index of some sort

-- Hans

Read More...

Hans replied to the topic '10Micron Mount Modelling' in the forum. 2 months ago

HI all,

For 10Micron mount modelling we need to add the following functionality to the driver :

First store the temperature and pressure. This will get used by :newalpt and/or :endalig# lateron.

  • :SRTMPsTTT.T# Sets the tempreature at the location of the telescope used in the refraction model to sTTT.T degrees Celsius. Returns 1# if OK, 0# on error.
  • :SRPRSPPPP.P# Sets the atmospheric pressure at the location of the telescope used in the refraction model to PPPP.P hPa. Returns 1# if OK, 0# on error.
Begin a new alignment specification. (This will not clear the active alignment model the mount is using.)
  • :newalig# returns V#
Next loop over up to 100 alignment points, per point get mount RA/DEC, pier side, local sidereal time, plate-solved RA/DEC (*) and store :newalpt
  • :GR# get mount right ascension. Returns HH:MM:SS.SS# (hours, minutes, seconds and hundredths of seconds)
  • :GD# get mount declination. Returns sDD:MM:SS.S# (degrees, arcminutes, arcseconds and tenths of arcsecond)
  • :pS# Pier side. Returns string "East#" or "West#"
  • :GS# Get local sidereal time
  • :newalptMRA,MDEC,MSIDE,PRA,PDEC,SIDTIME# Returns nnn# if OK with nnn the number of active points, E# if not
With
  1. MRA - the mount-reported right ascension, expressed as HH:MM:SS.S
  2. MDEC - the mount-reported declination, expressed as sDD:MM:SS
  3. MSIDE - the mount-reported pier side (the letter 'E' or 'W', as reported by the :pS# command)
  4. PRA - the plate-solved right ascension (i.e. the right ascension the telescope was effectively pointing to), expressed as HH:MM:SS.S
  5. PDEC - the plate-solved declination (i.e. the declination the telescope was effectively pointing to), expressed as sDD:MM:SS
  6. SIDTIME - the local sidereal time at the time of the measurement of the point, expressed as HH:MM:SS.S
End the new alignment model and compute a new alignment from the given alignment points.
  • :endalig# returns V# if new alignment model has been computed OK
Save the model.
  • :modeldel0NAME# DELete a model with name NAME (up to 15 case sensitive characters, spaces allowed). Returns 1# if OK, 0# on error
  • :modelsv0NAME# SaVe the model with name NAME. Returns 1# if OK, 0# on error
(*) We need to transform plate-solved J2000.0 coordinates to JNow as input for the :newalpt PRA ad PDEC parameters and JNow as SIDERES, however in this transformation we need to deliberately ignore everything that is related to refraction (like temperature, pressure, humidity, wavelength) and only correct for precession, nutation and light aberration. This can be done with SOFA/ERFA Atci13, or with Atco13 when all its refratcion parameters are set to 0.
The 10Micron mount then receives these 'half transformed' coordinates and corrects for refraction with the temperature and pressure it was given earlier with :SRTMP and :SRPRS (ignoring things like humidity and wavelength).

Lateron we can add functionality to manage the models with these
  • :getalst# Gets the number of alignment stars used in the current alignment model. Returns n#
  • :delalig# Deletes the current alignment model and stars. Returns #
  • :getalpN# Gets alignment information for star number N. Returns: E# on error or "HH:MM:SS.SS,+dd*mm:ss.s,eeee.e,ppp#" where HH:MM:SS.SS is the hour angle of the alignment star in hours, minutes, seconds and hundredths of second (from 0h to 23h59m59.99s), +dd*mm:ss.s is the declination of the alignment star in degrees, arcminutes, arcseconds and tenths of arcsecond, eeee.e is the error between the star and the alignment model in arcseconds, ppp is the polar angle of the measured star with respect to the modeled star in the equatorial system in degrees from 0 to 359 (0 towards the north pole, 90 towards east).
  • :delalstN# Delete alignment star N and recalculate the model. Returns 1# if OK, 0# on error
  • :modelcnt# Gets the number of alignment models. Returns: n#
  • :modelnamN# Returns the name of model number N or just # on error.
  • :modelld0NAME# Loads the model with the given NAME. Returns 1# if OK, 0# on error

I intend to add all this to the INDI driver. Does this line up with the EKOS Mount Modelling tool ?

-- Hans

Read More...

Hans replied to the topic '10Micron Mount Modelling' in the forum. 2 months ago

Hi Michel,

mworion wrote: ... With the SOFA library I would do a C to python translation myself over time if there is no solution available. First I have to ask the guys at SOFA to get the allowance to use it in MountWizzard.


I propose to use ERFA instead : github.com/liberfa/erfa "ERFA is a C library containing key algorithms for astronomy, and is based on the SOFA library published by the International Astronomical Union (IAU).
ERFA is intended to replicate the functionality of SOFA (aside from possible bugfixes in ERFA that have not yet been included in SOFA), but is licensed under a three-clause BSD license to enable its compatibility with a wide range of open source licenses. Permission for this release has been obtained from the SOFA board, and is avilable in the LICENSE file included in this source distribution."

I've tested ERFA myself and it gives the same results as SOFA github.com/d33psky/J2000-JNow

-- Hans

Read More...

Hans replied to the topic '10Micron Mount Modelling' in the forum. 2 months ago

Hi all, I'm glad to see 10Micron mount modeling is getting more attention in INDI/EKOS-land.

The 10-Micron mount alignment models are made in the mounts themselves and are based on (currently up to 100) alignment points. The interesting case is where we plate solve these points so that the whole procedure can be automated. The INDI Alignment Subsystem could be used to select those points, have them plate solved and add the results as a new alignment point to the mount. This is what Michel's MountWizzard does too (it does a lot more).

The mount also wants temperature and air pressure information as it uses this to correct for their effects on pointing. A 'fun fact' is that we must not correct for temperature and air pressure ourselves when converting the plate solved J2000 results to JNow (confirmed to me by a 10Micron dev).

We should use the 10-Micron :newalig# , :newalpt , :endalig# commands to build models instead of just :CM# to 'sync' a point. Next step is to let the mount evaluate the model, optimize it and maybe remove certain points that show too large errors. I do not know if IAS has something similar. The mount can save and recall multiple alignment models.

Ideally I would like to see both MountWizzard and EKOS be able to help build 10Micron alignment models from Linux/Mac/Windows. MountWizzard is mostly Python and it would be really nice if it could be fully Python based. There are INDI client implementations in pure Python so that could be used. The J2000-JNow transformation it currently uses via ASCOM is based on SOFA with a mix of NOVAS helper functions ... I know of no Python-only library of it yet.

-- Hans

Read More...

Hans thanked Michael in topic 10Micron Mount Modelling 2 months ago
Hans thanked Micheal Fields in topic 10Micron Mount Modelling 2 months ago
Hans replied to the topic 'Calling 10Micron mount users' in the forum. 6 months ago

Hey Gonzothegreat, driver development has been quiet for a few weeks (real life wanted its time back ;-) and next steps will be about support for pointing models.
Building a pointing model can be done with just the hand controller of course but automation will produce better models. The other basics are there.
I did not find a co-developer yet, still hope to find one.
-- Hans

Read More...

Stephane thanked Hans in topic Calling 10Micron mount users 6 months ago
Jasem Mutlaq thanked Hans in topic Calling 10Micron mount users 8 months ago
Hans replied to the topic 'Calling 10Micron mount users' in the forum. 8 months ago

Here's a brief progress update :
- TCP/IP connect works
- Mount model/control-box/firmware details are exposed :

10micron.PRODUCT_INFO.NAME=10micron GM2000HPS
10micron.PRODUCT_INFO.CONTROL_BOX=Q-TYPE2012
10micron.PRODUCT_INFO.FIRMWARE_VERSION=2.14.11
10micron.PRODUCT_INFO.FIRMWARE_DATE=2016-11-21T13:22:55
- On connect the driver activates the 10-Micron Ultra Precision mode (needed for ao. model building and of course helps with pointing)
- The Park/Unpark extension works

TODO's:
- Find out where J2000 to Jnow is needed
- Help build pointing models. Maybe by porting MountWizzard (python code, but tied to ASCOM and SGpro)
- remaining 10Micron protocol extensions

-- Hans

Read More...

Hans replied to the topic 'KStars not starting up after indi update!' in the forum. 8 months ago

PHD2 now recognizes INDI versions from 0.9 to 1.4.1 and up. Tested on Ubuntu 14.04 with stock INDI and 16.04 with 1.4.1 INDI.
-- Hans

Read More...

Hans replied to the topic 'KStars not starting up after indi update!' in the forum. 8 months ago

On trying to fix PHD2 I run into one of these 2 bugs while using INDI 1.4.1 FindINDI.cmake :
- using find_package(INDI 1.4.1 REQUIRED) linking barfs with :
undefined reference to `INDI::BaseClient::BaseClient()'
while the linker argument list has -lindidriver -lindiAlignmentDriver

- using find_package(INDI CLIENT 1.4.1 REQUIRED) cmake barfs with :
find_package called with invalid argument "CLIENT"

-- Hans

Read More...

Jasem Mutlaq thanked Hans in topic Calling 10Micron mount users 9 months ago
Hans created a new topic ' Calling 10Micron mount users' in the forum. 9 months ago

Hi all,

I've just started an indi_lx200_10micron driver which initial main focus was to support connecting to the mount over ethernet instead of serial.
This now works and the socket code is being moved up into INDI::Telescope so that all drivers can use it leaving this driver quite empty ;-) which is a good thing of course.
10Micron has lots of LX200 protocol extensions and these should all be added in the driver.
Who wants to help ? Or has ideas which extensions are needed first ?
And if you're working at 10Micron; please help this driver forward in any way possible !

-- Hans

Read More...

Hans replied to the topic 'ZWO EFWmini (filter wheel)' in the forum. 10 months ago

I use a different udev rule :

# ZWO filterwheel
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03c3", ATTRS{idProduct}=="1f01", MODE="0666", SYMLINK+="ZWO_EFW"

and I've seen that the symlink (which is only there for decorative purposes) may point to various things. I'm curious, can you try these udev rules and report back ?

-- Hans

Read More...

Adrian thanked Hans in topic ZWO EFWmini (filter wheel) 10 months ago
Hans replied to the topic 'ZWO EFWmini (filter wheel)' in the forum. 10 months ago

I run indiserver not as root and my ASI filter wheel works fine.
So there must be something wrong with your udev rules where you need to run it as root.

-- Hans

Read More...

Hans replied to the topic 'ZWO EFWmini (filter wheel)' in the forum. 11 months ago

Hi All,

I made my own udev rules which also create a symlink with a logical name so that I can check for the presence of this named link to see if the system recognizes the device or not. This may help in determining if the udev rules are applied.

# ZWO filterwheel
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03c3", ATTRS{idProduct}=="1f01", MODE="0666", SYMLINK+="ZWO_EFW"

which then looks like this in /dev/
lrwxrwxrwx   1 root root    15 Nov 18 22:44 ZWO_EFW -> bus/usb/002/011

This symlink is not used by the driver, it's just intended for Humans :)

Read More...

Login

3rd Party

Choose from the numerous 3rd party INDI drivers to suit your needs!

Got Problem?

Check out the FAQ, the forum, and the bug tracking system to resolve any issues you might have!
You can also subscribe to INDI newsletter and development mailing lists to get the latest updates on INDI!