From 64dbc9ccfebb46bb223655c385a4b8aa7fd64392 Mon Sep 17 00:00:00 2001 From: iximeow 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 { } 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 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