×

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

Bi-monthly release with minor bug fixes and improvements

Sesto Senso 2 - Speed, Current & Hold Settings

  • Posts: 12
  • Thank you received: 5
That's great! Thanks for the heads-up on the new 1.3 firmware - I also installed it last night and thankfully it looks like the changes are fairly safe:

Also, thanks for dumping the serial output. I reformatted the JSON below as it shows some interesting state (voltage in, LED dimming, hold status etc) that might be nice to expose via the INDI driver:
{
    "req": {
        "get": ""
    }
}
}{
"res": {
    "get": {
        "SWID": "001",
        "MODNAME": "SESTOSENSO2",
        "SN": "SESTOSENSO20716",
        "HOSTNAME": "SESTOSENSO20716",
        "MACADDR": "70:B3:D5:32:95:2F",
        "SWVERS": {
            "SWAPP": "1.3",
            "SWWEB": "1.3"
        },
        "LANCFG": "ap",
        "LANSTATUS": {
            "LANCONN": "disconnected",
            "PINGGW": 0,
            "PINGEXTHOST": 0
        },
        "WIFIAP": {
            "SSID": "SESTOSENSO20716",
            "PWD": "primalucelab",
            "IP": "192.168.4.1",
            "NM": "255.255.255.0",
            "CHL": 2,
            "MACADDR": "70:B3:D5:32:95:30",
            "STATUS": {
                "HIZ": 0,
                "UVLO": 0,
                "TH_SD": 0,
                "TH_WRN": 0,
                "OCD": 0,
                "WCMD": 0,
                "NOPCMD": 0,
                "BUSY": 0,
                "DIR": "In",
                "MST": "stop"
            }
        },
        "WIFISTA": {
            "SSID": "MySSID",
            "PWD": "MyPassword",
            "IP": "",
            "NM": "",
            "GW": "",
            "DNS": "",
            "MACADDR": "70:B3:D5:32:95:2F"
        },
        "EXT_T": "-127.00",
        "VIN_12V": "13.97",
        "ARCO": 0,
        "LEDBLINKSTATUS": "PowerInLess11Volts",
        "PRESET_1": {
            "NAME": "",
            "M1POS": 0
        },
        "PRESET_2": {
            "NAME": "",
            "M1POS": 0
        },
        "PRESET_3": {
            "NAME": "",
            "M1POS": 0
        },
        "PRESET_4": {
            "NAME": "",
            "M1POS": 0
        },
        "PRESET_5": {
            "NAME": "",
            "M1POS": 0
        },
        "PRESET_6": {
            "NAME": "",
            "M1POS": 0
        },
        "PRESET_7": {
            "NAME": "",
            "M1POS": 0,
            "M2POS": 0
        },
        "PRESET_8": {
            "NAME": "",
            "M1POS": 0,
            "M2POS": 0
        },
        "PRESET_9": {
            "NAME": "",
            "M1POS": 0,
            "M2POS": 0
        },
        "PRESET_10": {
            "NAME": "",
            "M2POS": 0
        },
        "PRESET_11": {
            "NAME": "",
            "M2POS": 0
        },
        "PRESET_12": {
            "NAME": "",
            "M2POS": 0
        },
        "DIMLED_1": 200,
        "DIMLED_2": 200,
        "DIMLED_3": 200,
        "MOT1": {
            "ABS_POS": 18075,
            "EL_POS": 0,
            "MARK": 0,
            "SPEED": 0,
            "ACC": 5,
            "DEC": 5,
            "MAX_SPEED": 4,
            "MIN_SPEED": 0,
            "TVAL_HOLD": 0,
            "TVAL_RUN": 20,
            "TVAL_ACC": 20,
            "TVAL_DEC": 20,
            "T_FAST": 25,
            "TON_MIN": 41,
            "TOFF_MIN": 41,
            "FS_SPD": 1023,
            "OCD_TH": 2,
            "STEP_MODE": 4,
            "CONFIG": 11904,
            "ALARM": 255,
            "STATUS": {
                "HIZ": 1,
                "UVLO": 0,
                "TH_SD": 0,
                "TH_WRN": 0,
                "OCD": 0,
                "WCMD": 0,
                "NOPCMD": 0,
                "BUSY": 0,
                "DIR": "Out",
                "MST": "stop"
            },
            "NTC_T": "36.96",
            "CAL_MAXPOS": 17639,
            "CAL_BKLASH": 0,
            "CAL_MINPOS": 0,
            "CAL_HOMEP": 1000,
            "CAL_NUMOF": 0,
            "CAL_DIR": "normal",
            "LASTDIR": 0,
            "LOCKMOV": 1,
            "HOLDCURR_STATUS": 1,
            "FnRUN_ACC": 1,
            "FnRUN_DEC": 1,
            "FnRUN_SPD": 2,
            "FnRUN_CURR_ACC": 7,
            "FnRUN_CURR_DEC": 7,
            "FnRUN_CURR_SPD": 7,
            "FnRUN_CURR_HOLD": 1
        },
        "RUNPRESET_L": {
            "RP_NAME": "light",
            "M1ACC": 10,
            "M1DEC": 10,
            "M1SPD": 10,
            "M1CACC": 3,
            "M1CDEC": 3,
            "M1CSPD": 3,
            "M1HOLD": 1
        },
        "RUNPRESET_M": {
            "RP_NAME": "medium",
            "M1ACC": 6,
            "M1DEC": 6,
            "M1SPD": 6,
            "M1CACC": 5,
            "M1CDEC": 5,
            "M1CSPD": 5,
            "M1HOLD": 1
        },
        "RUNPRESET_S": {
            "RP_NAME": "slow",
            "M1ACC": 1,
            "M1DEC": 1,
            "M1SPD": 2,
            "M1CACC": 7,
            "M1CDEC": 7,
            "M1CSPD": 7,
            "M1HOLD": 1
        },
        "RUNPRESET_1": {
            "RP_NAME": "Esprit",
            "M1ACC": 1,
            "M1DEC": 1,
            "M1SPD": 2,
            "M1CACC": 7,
            "M1CDEC": 7,
            "M1CSPD": 7,
            "M1HOLD": 3
        },
        "RUNPRESET_2": {
            "RP_NAME": "User 2",
            "M1ACC": 6,
            "M1DEC": 6,
            {
                "req": {
                    "get": ""
                }
            }
        }"M1SPD": 6,
        "M1CACC": 5,
        "M1CDEC": 5,
        "M1CSPD": 5,
        "M1HOLD": 1
    },
    "RUNPRESET_3": {
        "RP_NAME": "User 3",
        "M1ACC": 1,
        "M1DEC": 1,
        "M1SPD": 2,
        "M1CACC": 7,
        "M1CDEC": 7,
        "M1CSPD": 7,
        "M1HOLD": 1
    },
    "MOT2": {
        "ABS_POS": 0,
        "EL_POS": 0,
        "MARK": 0,
        "SPEED": 0,
        "ACC": 35,
        "DEC": 35,
        "MAX_SPEED": 30,
        "MIN_SPEED": 0,
        "TVAL_HOLD": 1,
        "TVAL_RUN": 18,
        "TVAL_ACC": 18,
        "TVAL_DEC": 18,
        "T_FAST": 25,
        "TON_MIN": 41,
        "TOFF_MIN": 41,
        "FS_SPD": 1023,
        "OCD_TH": 2,
        "STEP_MODE": 4,
        "CONFIG": 11904,
        "ALARM": 255,
        "STATUS": {
            "HIZ": 1,
            "UVLO": 0,
            "TH_SD": 0,
            "TH_WRN": 0,
            "OCD": 0,
            "WCMD": 0,
            "NOPCMD": 0,
            "BUSY": 0,
            "DIR": "In",
            "MST": "stop"
        },
        "CAL_MAXPOS": 0,
        "HSENDET": 1,
        "HEMISPHERE": "northern",
        "COMPENSATION_DEGS": 0.00000,
        "CAL_STATUS": "stop",
        "CAL_MINPOS": 0,
        "CAL_HOMEP": 1000,
        "CAL_NUMOF": 0,
        "CAL_DIR": "normal",
        "LASTDIR": 0,
        "LOCKMOV": 1,
        "HOLDCURR_STATUS": 0
    },
    "DIMLEDS": "on",
    "LOGLEVEL": "no output"
}
}
}

The approach of using a preset is probably the simplest for getting things up and running. However, it would still be great to be able to control the presets and motor hold state via INDI rather than having to go via the Virtual Handset or Focus Manager.

I'm hoping to get some time next week to see if I can start hacking the driver support - unfortunately this week didn't allow me much time.
The following user(s) said Thank You: Giles
3 years 5 months ago #62025

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

  • Posts: 348
  • Thank you received: 69
If you do look at it further, then I may as well attach the full capture, as it is sometimes difficult to identify what is a command and what is a response, and sometimes the two overlap (as you can see in the RUNPRESET_2 section below).

You will also see that I was trying to create a preset in the App, and it was failing - when trying to flip to another preset and then load the user preset back it would fail with "Empty Preset", so in the end I created the Preset with the Wifi Web interface, and then went back to load the preset in the software.

So bear in mind that even Primaluce Labs software has problems with the presets, although it works via the Wifi interface.
Last edit: 3 years 5 months ago by Giles.
3 years 5 months ago #62026
Attachments:

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

  • Posts: 348
  • Thank you received: 69
I created an issue for this in Github: github.com/indilib/indi/issues/1262
3 years 5 months ago #63026

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

  • Posts: 348
  • Thank you received: 69
I've funded this issue with $20 via Issuehunt

To close the issue, I would expect to be able to Select, Load, Edit and Save the 3 user customizable profiles, and all their relevant settings on the Sesto Senso 2.
3 years 4 months ago #63264

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

  • Posts: 12
  • Thank you received: 5
As a quick update to this: I've implemented support for setting all of the motor move rates and voltages (including hold). This all seems to work well. However, while attempting to add support for loading/saving the custom motor presets, I discovered that the Sesto Senso 2 1.3 FW doesn't actually seem to apply the custom motor presets when requested. I'm waiting on a response from the Prima Luce Lab before proceeding as I suspect they'll want to fix the issue in their driver.

Hopefully I'll hear back soon!
The following user(s) said Thank You: Giles
3 years 3 months ago #65409

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

  • Posts: 348
  • Thank you received: 69
Thanks - good work.

I found I have so far only able to create / save the presets via the Wifi Web Application, even the supplied Windows applet seemed to have trouble with this.

Unfortunately, via this method I don't think it is possible to see what commands are being sent to the focus controller itself.
3 years 3 months ago #65410

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

  • Posts: 12
  • Thank you received: 5
I've managed to save into the custom preset slots using the Windows Focuser Manager 1.3 and the Virtual HandPad web app as well as through the INDI driver code. However, irrespective of the client used, actually loading/applying one of the custom presets always fails for me with:
{"res":{"cmd":{"RUNPRESET":"Error: empty preset"}}}

I checked this in the Virtual HandPad web app by setting a breakpoint where the JSON command is sent to the REST endpoint. The same error result is seen in this as when using the serial interface.

I'm hoping to hear back this week, but if it takes any longer I'll just create a pull request without the custom preset functionality since it actually achieves what I needed and perhaps I can add it later once a firmware fix is available.
The following user(s) said Thank You: Giles
3 years 3 months ago #65411

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

  • Posts: 348
  • Thank you received: 69

I've been working with just modifying the loadSlowPreset in sestosenso2.cpp to load the Esprit profile I created in the Web App, and checking again after loading. It appears to either have not loaded the slow preset and kept the functionality that was previously set by the Web App, or it actually reloaded the Esprit profile.

I was wondering, what hold current are you using on the Esprit, I set mine to 3, but not had enough chances to work out whether it's an improvement (it's the only setting I've actually used to focus with since I got the Esprit). In any case, focusing is working very well, I'm getting a good gradient curve for focus operations and I have not noticed any slippage - I probably need to run some dry tests with the OTA mounted indoors.
3 years 3 months ago #65412

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

  • Posts: 12
  • Thank you received: 5

Yep. You can apply any of the three built-in presets, but none of the custom ones will apply successfully. In this case the motor settings are just whatever you last applied via the web app.

I've tried with a hold setting around 3, but haven't had much chance to experiment since I completed the code. However, it'll only really make a difference if you're shooting up towards the zenith, generally I didn't have too many issues until I started trying to target objects high in the sky - only then did slippage become an issue.
The following user(s) said Thank You: Giles
3 years 3 months ago #65421

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

  • Posts: 348
  • Thank you received: 69
Just a guess, but it might be that the SestoSenso 2 might not have a command to set the settings for an existing user preset, and just has memory space to store the values and that you need to just load the values and then set them one by one.
3 years 3 months ago #65424

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

  • Posts: 348
  • Thank you received: 69
I've seen the recent commits in github, so checked them out. That looks like a great improvement!

I don't think I, personally, would have any need to use more than one User Preset, but others with multiple imaging trains etc... might find it useful.

I gave it a quick test, and it all appeared to function error free. Although won't really know until we have a clear sky (coming up three weeks of constant cloud here).
3 years 3 months ago #65760

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

  • Posts: 12
  • Thank you received: 5
I've just submitted a new pull request with a simple workaround that allows custom motor settings to be saved and loaded (despite the firmware bug).

github.com/indilib/indi/pull/1319

With that in, I think the driver is just about functionally complete. If you run into anything just let me know and I'll take a look!

Cheers,
Will.
The following user(s) said Thank You: Giles
3 years 3 months ago #65779

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

Time to create page: 0.650 seconds