From 64dbc9ccfebb46bb223655c385a4b8aa7fd64392 Mon Sep 17 00:00:00 2001
From: iximeow <me@iximeow.net>
Date: Fri, 15 Mar 2019 16:40:04 -0700
Subject: cancel any existing exposure/readout operation on camera connection

---
 src/qhyccd/QHYCCDCam.rs | 1 +
 src/qhyccd/mod.rs       | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/qhyccd/QHYCCDCam.rs b/src/qhyccd/QHYCCDCam.rs
index 6194835..37deef9 100644
--- a/src/qhyccd/QHYCCDCam.rs
+++ b/src/qhyccd/QHYCCDCam.rs
@@ -115,6 +115,7 @@ extern "C" {
         imagew: *mut os::raw::c_int, imageh: *mut os::raw::c_int,
         pixelw: *mut os::raw::c_double, pixelh: *mut os::raw::c_double,
         bpp: *mut os::raw::c_int) -> os::raw::c_int;
+    pub fn CancelQHYCCDExposingAndReadout(handle: *mut os::raw::c_void) -> os::raw::c_int;
     pub fn ControlQHYCCDTemp(handle: *mut os::raw::c_void, target: os::raw::c_double) -> os::raw::c_int;
     pub fn SetQHYCCDDebayerOnOff(handle: *mut os::raw::c_void, onoff: os::raw::c_int) -> os::raw::c_int;
     pub fn SetQHYCCDBinMode(handle: *mut os::raw::c_void, wbin: os::raw::c_int, hbin: os::raw::c_int) -> os::raw::c_int;
diff --git a/src/qhyccd/mod.rs b/src/qhyccd/mod.rs
index 192b943..0ce31e2 100644
--- a/src/qhyccd/mod.rs
+++ b/src/qhyccd/mod.rs
@@ -64,6 +64,7 @@ pub fn acquire(camera_idx: i32) -> Result<Camera> {
         }
         check(QHYCCDCam::SetQHYCCDStreamMode(handle, 0))?; // 0 means single frame mode...
         check(QHYCCDCam::InitQHYCCD(handle))?;
+        check(QHYCCDCam::CancelQHYCCDExposingAndReadout(handle))?;
         Ok(Camera {
             handle: handle
         })
-- 
cgit v1.1


From bf0d3d4dce2127e714e0115214f468ed8b3614ec Mon Sep 17 00:00:00 2001
From: iximeow <me@iximeow.net>
Date: Fri, 15 Mar 2019 19:00:23 -0700
Subject: tweaks for desk test

---
 src/main.rs | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 3640f34..132fa2a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -11,15 +11,18 @@ use crate::asicam::ASICamera2::{ControlType, ImageType};
 use crate::asicam::Camera;
 
 fn main() {
+    println!("Doing qhy...");
     operate_qhy();
+    println!("Doing asi...");
+    operate_asi();
 }
 
 fn operate_qhy() {
     use crate::qhyccd::Control;
     println!("Operating on qhy camera ... or i'll die trying");
     let mut camera = qhyccd::acquire(0).unwrap();
-    camera.set_exposure_ms(40000).unwrap();
-    camera.set_param(Control::Gain, 64.0).unwrap();
+    camera.set_exposure_ms(2500).unwrap();
+    camera.set_param(Control::Gain, 4000.0).unwrap();
     camera.set_param(Control::Offset, 00.0).unwrap();
     camera.set_param(Control::USBTraffic, 250.0).unwrap();
     camera.set_target_temp(0.0).unwrap();
@@ -42,9 +45,9 @@ fn operate_asi() {
     let mut camera = asicam::acquire(0).unwrap();
 
     println!("{:?}", camera);
-    camera.set_control_value(ControlType::TargetTemp, -100).unwrap();
-    camera.set_control_value(ControlType::CoolerOn, 1).unwrap();
-    std::thread::sleep(std::time::Duration::from_millis(500));
+//    camera.set_control_value(ControlType::TargetTemp, -100).unwrap();
+//    camera.set_control_value(ControlType::CoolerOn, 1).unwrap();
+//    std::thread::sleep(std::time::Duration::from_millis(500));
     println!("Camera temperature is currently {:?}", camera.get_control_value(ControlType::Temperature).unwrap());
 
     /*
-- 
cgit v1.1