@@ -49,7 +49,6 @@ const int64_t BinControlID = 10001;
4949
5050DPTR_IMPL (ZWO_ASI_Imager) {
5151 ASI_CAMERA_INFO info;
52- shared_ptr<QTimer> reload_temperature_timer;
5352 ZWO_ASI_Imager *q;
5453
5554 Properties properties;
@@ -61,25 +60,14 @@ DPTR_IMPL(ZWO_ASI_Imager) {
6160 ROIValidator::ptr roi_validator;
6261 QRect maxROI (int bin) const ;
6362 void restart_worker (int bin, const QRect &roi, ASI_IMG_TYPE format);
64- void read_temperature ();
6563 void update_worker_exposure_timeout ();
6664 ASI_IMG_TYPE format () { return worker.expired () ? ASI_IMG_END : worker.lock ()->format (); }
6765 int bin () { return worker.expired () ? -1 : worker.lock ()->bin (); }
6866 QRect roi () { return worker.expired () ? QRect{} : worker.lock ()->roi (); }
6967};
7068
71- void ZWO_ASI_Imager::Private::read_temperature () {
72- qDebug () << " Refreshing ASI_TEMPERATURE if found.." ;
73- if (temperature_control)
74- q->push_job_on_thread ([=]{
75- emit q->temperature (temperature_control->reload ().control ().value .toDouble ());
76- });
77- }
78-
79-
8069
81-
82- ZWO_ASI_Imager::ZWO_ASI_Imager (const ASI_CAMERA_INFO &info, const ImageHandler::ptr &imageHandler) : Imager{imageHandler}, dptr(info, make_shared<QTimer>(), this )
70+ ZWO_ASI_Imager::ZWO_ASI_Imager (const ASI_CAMERA_INFO &info, const ImageHandler::ptr &imageHandler) : Imager{imageHandler}, dptr(info, this )
8371{
8472 d->roi_validator = make_shared<ROIValidator>(initializer_list<ROIValidator::Rule>{
8573 ROIValidator::x_multiple (2 ),
@@ -109,8 +97,6 @@ ZWO_ASI_Imager::ZWO_ASI_Imager(const ASI_CAMERA_INFO &info, const ImageHandler::
10997 d->properties << LiveStream << ROI << Temperature;
11098 ASI_CHECK << ASIOpenCamera (info.CameraID ) << " Open Camera" ;
11199 ASI_CHECK << ASIInitCamera (info.CameraID ) << " Init Camera" ;
112- connect (d->reload_temperature_timer .get (), &QTimer::timeout, this , bind (&Private::read_temperature, d.get () ));
113- d->reload_temperature_timer ->start (5000 );
114100 connect (this , &Imager::exposure_changed, this , bind (&Private::update_worker_exposure_timeout, d.get ()));
115101}
116102
@@ -121,10 +107,17 @@ ZWO_ASI_Imager::~ZWO_ASI_Imager()
121107void ZWO_ASI_Imager::destroy () {
122108 Imager::destroy ();
123109 d->worker .reset ();
124- d->reload_temperature_timer ->stop ();
125110 ASI_CHECK << ASICloseCamera (d->info .CameraID ) << " Close Camera" ;
126111}
127112
113+ void ZWO_ASI_Imager::readTemperature () {
114+ qDebug () << " Refreshing ASI_TEMPERATURE if found.." ;
115+ if (d->temperature_control )
116+ push_job_on_thread ([=]{
117+ emit temperature (d->temperature_control ->reload ().control ().value .toDouble ());
118+ });
119+ }
120+
128121Imager::Properties ZWO_ASI_Imager::properties () const
129122{
130123 return d->properties ;
0 commit comments