summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2019-07-23 23:21:14 -0700
committeriximeow <me@iximeow.net>2019-07-23 23:21:14 -0700
commit0d887779b8dee042999d04a29d4a095a3df93a6c (patch)
tree474a56d1b46c6660c21b369602a6288527ff603e /src/main.rs
parentc1c7562bfcfa500e92f3a398c2461f1e0769e48e (diff)
asi camera adjustments
record images in 16 bit mode, is the biggest change
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs79
1 files changed, 45 insertions, 34 deletions
diff --git a/src/main.rs b/src/main.rs
index 95de6fd..7275c96 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -12,39 +12,46 @@ use crate::asicam::Camera;
fn main() {
let test = true;
- println!("Doing qhy...");
- operate_qhy(test);
+// println!("Doing qhy...");
+// operate_qhy(test);
println!("Doing asi...");
-// operate_asi(test);
+ operate_asi(test);
}
fn operate_qhy(test: bool) {
use crate::qhyccd::Control;
println!("Operating on qhy camera ... or i'll die trying");
- let mut camera = qhyccd::acquire(0).unwrap();
- camera.set_defaults().unwrap();
- camera.set_exposure_ms(1).unwrap();
- camera.set_param(Control::Gain, 34.0).unwrap();
- camera.set_param(Control::Offset, 00.0).unwrap();
- camera.set_param(Control::USBTraffic, 50.0).unwrap();
-// camera.set_target_temp(0.0).unwrap();
- camera.set_param(Control::Cooler, -15.0).unwrap();
- println!("Gain: {:?}", camera.get_param_limits(Control::Gain));
-// camera.set_param(Control::Speed, 1.0).unwrap();
- println!("current temp: {}", camera.get_param(Control::CurTemp));
- camera.set_param(Control::CONTROL_WBR, 2750.0).unwrap();
- camera.set_param(Control::CONTROL_WBG, 2500.0).unwrap();
- camera.set_param(Control::CONTROL_WBB, 3000.0).unwrap();
- // camera.set_bin_mode(2).unwrap();
- if !test {
- let object = "m13";
- for i in 0..20 {
- camera.take_image(&format!("{}_{}.png", object, i));//, i));
+ let t = std::thread::spawn(move || {
+ let mut camera = qhyccd::acquire(0).unwrap();
+ camera.set_defaults().unwrap();
+ camera.set_exposure_ms(400).unwrap();
+ // camera.set_param(Control::Exposure, 10.0).unwrap();
+ camera.set_param(Control::Gain, 4000.0); //.unwrap();
+ camera.set_param(Control::Offset, 00.0).unwrap();
+ // camera.set_param(Control::USBTraffic, 50.0).unwrap();
+ // camera.set_param(Control::ManulPwm, 0.0).unwrap();
+ // camera.set_target_temp(0.0).unwrap();
+ camera.set_param(Control::Cooler, -25.0).unwrap();
+ // camera.set_roi(0, 0, 1920 * 2, 1080 * 2).unwrap();
+ println!("Gain: {:?}", camera.get_param_limits(Control::ManulPwm));
+ println!("cur pwm ???: {}", camera.get_param(Control::CurPWM));
+ println!("current temp: {}", camera.get_param(Control::CurTemp));
+ // camera.set_param(Control::CONTROL_WBR, 2750.0).unwrap();
+ // camera.set_param(Control::CONTROL_WBG, 2500.0).unwrap();
+ // camera.set_param(Control::CONTROL_WBB, 3000.0).unwrap();
+ // camera.set_bin_mode(2).unwrap();
+ if !test {
+ let object = "veil";
+ for i in 0..10 {
+ camera.take_image(&format!("{}_{}.png", object, i));//, i));
+ }
+ } else {
+ camera.take_image("qhy_test_2.png").unwrap();
+ println!("exposing: {:x}", camera.get_param(Control::IS_EXPOSING_DONE) as u64);
}
- } else {
- camera.take_image("qhy_test_2.png").unwrap();
- }
- camera.release().unwrap();
+ camera.release().unwrap();
+ });
+ t.join();
}
fn operate_asi(test: bool) {
@@ -52,9 +59,9 @@ fn operate_asi(test: bool) {
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::CoolerOn, 1).unwrap();
+ camera.set_control_value(ControlType::TargetTemp, -200).unwrap();
+ std::thread::sleep(std::time::Duration::from_millis(500));
println!("Camera temperature is currently {:?}", camera.get_control_value(ControlType::Temperature).unwrap());
/*
@@ -69,13 +76,17 @@ fn operate_asi(test: bool) {
}
}
*/
- camera.set_exposure_ms(1).unwrap();
+ camera.set_exposure_ms(30000).unwrap();
// camera.set_control_value(ControlType::Exposure, 70000000).unwrap();
- camera.set_control_value(ControlType::Gain, 475).unwrap();
+ camera.set_control_value(ControlType::Gain, 250).unwrap();
camera.set_control_value(ControlType::Offset, 0).unwrap();
- camera.set_control_value(ControlType::HardwareBin, 0).unwrap();
- camera.set_roi_format(camera.width, camera.height, 1, ImageType::RGB24).unwrap();
- camera.take_image("asi_test.png").unwrap();
+ camera.set_control_value(ControlType::HardwareBin, 1).unwrap();
+ camera.set_roi_format(camera.width, camera.height, 1, ImageType::RAW16).unwrap();
+ for i in 0..240 {
+ println!("doing image {}", i);
+ println!("Camera temperature is currently {:?}", camera.get_control_value(ControlType::Temperature).unwrap());
+ camera.take_image(&format!("ngc7380_{}.png", i)).unwrap();
+ }
// take_calibration_images(&camera, 40, "dark_gain_350_exposure_45000");
/*
for exposure in [1000 * 1000 * 10].iter() {