This commit is contained in:
2026-04-17 09:04:01 +08:00
parent 57957e69c7
commit feb39a0355
4 changed files with 45 additions and 24 deletions

View File

@ -131,49 +131,38 @@ STRSensorInfo SensorIS11::GetSensorInfo()
return setem; return setem;
} }
//shutter1 1关 2开 //shutter1 1关 2开
void SensorIS11::SetShutter(int id) void SensorIS11::SetShutter(int id)
{ {
switch (id) { switch (id) {
case 1: case 1:{ //关
{ //关 digitalWrite(5,LOW);
// digitalWrite(5,LOW);
shutter_off();
vTaskDelay(200); vTaskDelay(200);
break; break;
} }
case 2: case 2:{ //开
{ //开 digitalWrite(5,HIGH);
// digitalWrite(5,HIGH);
shutter_up();
vTaskDelay(200); vTaskDelay(200);
break; break;
} }
} }
} }
//0下 1上 //0下 1上
void SensorIS11::servo_direction(int direction) void SensorIS11::servo_direction(int direction)
{ {
switch (direction) switch (direction)
{ {
case 0:{ case 0:{
// servo_set_angle(12);
shutter_down();
servo_down(); servo_down();
vTaskDelay(500); vTaskDelay(1500);
shutter_off();
break; break;
} }
case 1:{ case 1:{
shutter_up(); // servo_set_angle(200);
servo_up(); servo_up();
vTaskDelay(500); vTaskDelay(1500);
shutter_off();
break; break;
} }
} }
@ -537,16 +526,32 @@ void SensorIS11::TakeOneJob()
// write_log(log_path,"start",10); // write_log(log_path,"start",10);
//1 opt_up //1 opt_up
#if SHUTTER_TYPE == 1
servo_direction(1); servo_direction(1);
SetShutter(2); SetShutter(2);
#elif SHUTTER_TYPE == 2
shutter_up();
#endif
shutterup=OptSnenser(70); shutterup=OptSnenser(70);
shutterdown = shutterup; shutterdown = shutterup;
#if SHUTTER_TYPE == 1
SetShutter(1); SetShutter(1);
#elif SHUTTER_TYPE == 2
shutter_off();
#endif
work_progress = 30; work_progress = 30;
//2 dark //2 dark
//dark_up //dark_up
#if SHUTTER_TYPE == 1
SetShutter(1); SetShutter(1);
#elif SHUTTER_TYPE == 2
shutter_up();
#endif
GetOneDate(shutterup); GetOneDate(shutterup);
for (int i = 0; i < SensorInfo.BandNum;i++) for (int i = 0; i < SensorInfo.BandNum;i++)
{ {
@ -583,9 +588,16 @@ void SensorIS11::TakeOneJob()
work_progress = 45; work_progress = 45;
//3 dn_up //3 dn_up
#if SHUTTER_TYPE == 1
SetShutter(2); SetShutter(2);
GetOneDate(shutterup); GetOneDate(shutterup);
SetShutter(1); SetShutter(1);
#elif SHUTTER_TYPE == 2
shutter_up();
GetOneDate(shutterup);
shutter_off();
#endif
for (int i = 0; i < SensorInfo.BandNum;i++) for (int i = 0; i < SensorInfo.BandNum;i++)
{ {
IS11_datastruct_up.data[i] = DATABUFF[i]; IS11_datastruct_up.data[i] = DATABUFF[i];
@ -605,10 +617,17 @@ void SensorIS11::TakeOneJob()
work_progress = 60; work_progress = 60;
//4 dn_down //4 dn_down
#if SHUTTER_TYPE == 1
servo_direction(0); servo_direction(0);
SetShutter(2); SetShutter(2);
GetOneDate(shutterup); GetOneDate(shutterdown);
SetShutter(1); SetShutter(1);
#elif SHUTTER_TYPE == 2
shutter_down();
GetOneDate(shutterup);
shutter_off();
#endif
for (int i = 0; i < SensorInfo.BandNum;i++) { for (int i = 0; i < SensorInfo.BandNum;i++) {
IS11_datastruct_down.data[i] = DATABUFF[i]; IS11_datastruct_down.data[i] = DATABUFF[i];

View File

@ -14,6 +14,8 @@
#include "InterpolationLib.h" #include "InterpolationLib.h"
#include "CastumullSpline.h" #include "CastumullSpline.h"
#define SHUTTER_TYPE 2
extern struct IS11_datastruct IS11_datastruct_fanshelv; extern struct IS11_datastruct IS11_datastruct_fanshelv;
extern struct IS11_datastruct IS11_datastruct_up; extern struct IS11_datastruct IS11_datastruct_up;
extern struct IS11_datastruct IS11_datastruct_down; extern struct IS11_datastruct IS11_datastruct_down;

View File

@ -48,8 +48,8 @@ void log_init()
void write_log(String path,String write_data,unsigned char level) void write_log(String path,String write_data,unsigned char level)
{ {
if(level <5) { if(level <5) {
// U0_Serial.println(write_data); U0_Serial.println(write_data);
Serial0.println(write_data); // Serial0.println(write_data);
} }
if (level == 20) if (level == 20)
{ {

View File

@ -54,7 +54,7 @@ void servo_up()
{ {
float a = 180 + servo_offset_angle_up; float a = 180 + servo_offset_angle_up;
if(a < 0 || a > 270) a = 180; if(a < 0 || a > 270) a = 180;
Serial0.printf("up %f,offset %f\n",a,servo_offset_angle_up); // Serial0.printf("up %f,offset %f\n",a,servo_offset_angle_up);
// servo_set_angle(200); // servo_set_angle(200);
// servo_set_angle(213); // servo_set_angle(213);
servo_set_angle(a); servo_set_angle(a);
@ -64,7 +64,7 @@ void servo_down()
{ {
float a = 0 + servo_offset_angle_down; float a = 0 + servo_offset_angle_down;
if(a < 0 || a > 270) a = 0; if(a < 0 || a > 270) a = 0;
Serial0.printf("down %f,offset %f\n",a,servo_offset_angle_down); // Serial0.printf("down %f,offset %f\n",a,servo_offset_angle_down);
// servo_set_angle(12); // servo_set_angle(12);
// servo_set_angle(28); // servo_set_angle(28);
servo_set_angle(a); servo_set_angle(a);