×

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

Bi-monthly release with minor bug fixes and improvements

INDISERVER does not send BLOBs to client

  • Posts: 35
  • Thank you received: 1
So, I'm still writting this client to automated evaluate images, either in FITS or any other format which ist supported by dcraw, cfitsio or opencv.
I've a EOS 6D and a ZWOptical ASI 120MM camera in usage. They both work fine using them with indiserver 1.3.1 and kstars. The last as client.

My problem is, that the newBlob method of my client is not called after I successfully send the sendNewNumber command containing the new CCD_EXPOSURE property, by neither the EOS nor the ASI driver. (Successfully like, I get an response of the server and the mirror of the EOS for example does ''klick'') If I do the same using KStars the image arrives rapidly. Or if I have both, KStars and my client, running and the client did order an exposure, the made image only arrives at the KStars client.

Before doing any images I send the UPLOAD_MODE property for both like in the following example
if( !strcmp(property->getName(), "UPLOAD_MODE") )
      {
	ISwitchVectorProperty *upload_mode;
	upload_mode = cam_env1.cam->getSwitch("UPLOAD_MODE");
	if (upload_mode == NULL)
	{
	  IDLog("Error: unable to find %s %s property...\n", cam_env1.cam->getDeviceName(), "UPLOAD_MODE");
	  return;
	}
	upload_mode->sp[0].s = ISS_ON; //to client
	upload_mode->sp[1].s = ISS_OFF; //save local
	upload_mode->sp[2].s = ISS_OFF; //both
	sendNewSwitch(upload_mode);      
      }
where cam_env1 is a struct containing the INDI::BaseDevice pointer to the camera which arrives with the newDevice methode of the client.

The exposures are ordered like
void cl_Client::takeExposure(st_CameraEnvData* cam_env)
{
  INumberVectorProperty *ccd_exposure = NULL;
  ccd_exposure = cam_env->cam->getNumber("CCD_EXPOSURE");
 
  if (ccd_exposure == NULL)
  {
    IDLog("Error: unable to find %s CCD_EXPOSURE property...\n", cam_env->cam->getDeviceName());
    return;
  }
 
  IDLog("Requested a %f seconds exposure for %s.\n", cam_env->requested_exposure_time, cam_env->cam->getDeviceName());
  ccd_exposure->np[0].value = cam_env->requested_exposure_time;
  sendNewNumber(ccd_exposure);
}

Do I overlook something?
I'd be very thankful for any help or hints.

Regards
Erik
6 years 11 months ago #15848

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

  • Posts: 210
  • Thank you received: 104
The following user(s) said Thank You: Jasem Mutlaq, erik
6 years 11 months ago #15867

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

  • Posts: 35
  • Thank you received: 1
Thanks alot! That made the job.

I worked with the Client Development Tutorial: www.indilib.org/develop/tutorials/107-cl...opment-tutorial.html
There is no setBLOBMode Function mentioned. Could that be added?
Anyway, I shoud have stumbled earlier about that by myself.. :whistle:

Erik
6 years 11 months ago #15966

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

Time to create page: 0.619 seconds