×

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

Bi-monthly release with minor bug fixes and improvements

ASI driver and BLOB

  • Posts: 79
  • Thank you received: 23

ASI driver and BLOB was created by rumen

Hi Everyone!

I have ASI 1600 with Ekos and indi over 100Mb ethernet I am getting 8.2 seconds frame download time. the real download time over usb takes 0.8s for USB2 and 0.2s for USB3. in theory it should take 3.2s with 100Mb network. however it has some overhead (TCP/ethernet let us say 20%) so the download time should be something like:
3.2*1.2+0.8 = 4.64s
but it takes 8.2s.

So I came to the conclusion that this is because of the base64 encoding (~1s encoding + ~1s decoding + ~40% overhead):
3.2*1.2*1.4 + 1 +1+0.8 = 8.2s
which is what I get.

Is my assumption correct? Is there a way to enable binary transfer and reduce frame download time?

Thanks!
Rumen
Last edit: 7 years 8 months ago by rumen.
7 years 8 months ago #9421

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

  • Posts: 79
  • Thank you received: 23

Replied by rumen on topic ASI driver and BLOB

hi again everybody!
My calculations seems to be correct. All of a sudden the image transfer became binary and the download time is ~4.5sec.

But the mystery deepens how it just changed from base64 to BLOB just like that...
Please anyone where is that BLOB set in Ekos?
7 years 8 months ago #9478

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

  • Posts: 32
  • Thank you received: 0

Replied by François Meyer on topic ASI driver and BLOB

Hi Rumen.

Which version of the 1600 ? is it cooled, BW, color ?
I am considering buying one, so I'd more than welcome any feedback
on its behavior and particularly indi support.

Thank you in advance...
Clear and dark skies.
--
François Meyer
7 years 8 months ago #9481

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

  • Posts: 79
  • Thank you received: 23

Replied by rumen on topic ASI driver and BLOB

Hi,
you are hijacking my topic :)
I am waiting for an answer to this or at least a clue for more than a week and I did not get a single one.

Anyway ASI1600 is a good camera but it has its problems especially under Linux. Idni driver is as good as the sdk and the camera itself. it works ok with 1600 but the most serious problem is the timing sensitivity of the camera. If the computer fails to read the frame fast enough the frame fails. For that reason 1600 can hardly coexist with the guiding camera on the same host, there are reports there is no such problem under windows and macos.

And please if anyone knows how do I turn on and off BLOB transfer in Ekos?

Rumen
Last edit: 7 years 8 months ago by rumen.
7 years 8 months ago #9487

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

Replied by Jasem Mutlaq on topic ASI driver and BLOB

Yes Rumen there is always base64 overhead since the protocol transmits all messages, including BLOBs, in XML. You can turn off BLOB transfer in the INDI Control Panel. You'll find a check next to "Image Data" property in "Image Info" tab.
7 years 8 months ago #9512

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

  • Posts: 32
  • Thank you received: 0

Replied by François Meyer on topic ASI driver and BLOB

Sorry about the hijacking... I saw the specific topic about the 1600 afterwards...
Thanks for the info.
--
François Meyer
7 years 8 months ago #9515

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

  • Posts: 79
  • Thank you received: 23

Replied by rumen on topic ASI driver and BLOB

I understand.. So Base64 is unavoidable. What is blob then? I thought blob is a technique to avoid base64.
What do you think about something like a binary true binary transfer for image data?
This will speed up the transfer hugely especially on ARMs with Gigabit Ethernet...
According to my calculations by a factor of 2.5 in some cases.

7 years 8 months ago #9517

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

Replied by Jasem Mutlaq on topic ASI driver and BLOB

I understand the performance gains but the INDI implementation has to conform to the INDI Wire Protocol (v1.7) so base64 is a must.
7 years 8 months ago #9532

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

  • Posts: 79
  • Thank you received: 23

Replied by rumen on topic ASI driver and BLOB

I understand the INDI Wire Protocol (v1.7) requires base64 but what about INDI Wire Protocol (v1.8 or whatever number one cane come up with) that extends v1.7 that allows true binary transfer for BLOB data and does not break the backward compatibility? :)
Last edit: 7 years 8 months ago by rumen.
7 years 8 months ago #9534

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

Replied by Jasem Mutlaq on topic ASI driver and BLOB

You sure can discuss this with Elwood Downey (the protocol author) and see what happens.
7 years 8 months ago #9535

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

  • Posts: 79
  • Thank you received: 23

Replied by rumen on topic ASI driver and BLOB

Were there such discussions in the past? If there were I would not waste my time on that if not I may give it a try :)
7 years 8 months ago #9536

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

Replied by Jasem Mutlaq on topic ASI driver and BLOB

No it was not discussed before.
7 years 8 months ago #9537

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

Time to create page: 0.814 seconds