新增占空比设置

This commit is contained in:
modehua 2023-10-26 20:08:47 -07:00
parent 9094af7d10
commit e4614bd436
4 changed files with 15 additions and 8 deletions

View File

@ -113,8 +113,8 @@ HCamDevice::HCamDevice()
HtCamSetdivder(true);
unsigned int prriod[2] = {0x183C,0x183C/2};
HtCamSetPeriod(prriod);
HtCamSetPeriod(0.2);
HtCamWriteFpgaRegs(17, 0x04ce99ff); //扫描传感器阈值
@ -302,8 +302,12 @@ void HCamDevice::HtCamSetdivder(bool is_enble)
rgb.NShort[1] = 0x0001;
HtCamWriteFpgaRegs(0x08,rgb.value);
}
void HCamDevice::HtCamSetPeriod(uint32_t *reg_value)
void HCamDevice::HtCamSetPeriod(double reg_value)
{
reg_value /= 10;
printf("reg_value:%f\r\n",reg_value);
double pr = reg_value == 0 ? 0x183C/2 :reg_value * 0x183C / 1;
if (virBaseAddr == NULL)
{
return ;
@ -312,8 +316,10 @@ void HCamDevice::HtCamSetPeriod(uint32_t *reg_value)
CamZ_Reg_2Short rgb;
rgb.value = HtCamReadFpgaRegs(0x09);
rgb.NShort[0] = reg_value[0]; //周期参数是占空比两倍
rgb.NShort[1] = reg_value[1]; //占空比
rgb.NShort[0] = 0x183C; //周期参数默认0x183C 不可修改
rgb.NShort[1] = pr; //占空比 = 百分比 / 0x183C *1
printf("占空比:%d\r\n",rgb.NShort[1]);
HtCamWriteFpgaRegs(0x09,rgb.value);
}
int HCamDevice::HtCamEventWorkThread(void)

View File

@ -51,7 +51,7 @@ public:
void HtCamSetdivder (bool ); //设置扫描仪传感器使能
void HtCamGetPeriod(uint8_t &reg_value);//获取扫描仪传感器占空比
void HtCamSetPeriod(uint32_t *reg_value); //设置扫描仪传感器占空比
void HtCamSetPeriod(double reg_value); //设置扫描仪传感器占空比
void HtCamGetFrameCnt(uint32_t &val);//获取设置采集的帧数 需要采集的帧数设置为0x05表示采集六帧后停止
void HtCamSetFrameCnt(uint32_t val);//需要采集的帧数设置为0x05表示采集六帧后停止

View File

@ -189,7 +189,8 @@ void MultiFrameCapture::UpdateScanParam(HG_ScanConfiguration config)
is_double_paper_ = config.params.doubleFeeded;
//width_ = paper_size_ == PaperSize::G400_MAXSIZE || paper_size_ ==PaperSize::G400_MAXAUTO &&
printf("config.params.dc%d\r\n",config.params.dc);
video->HtCamSetPeriod(config.params.dc);
//int height = resolution_ == DPI_600 ? 342 : 900;
int height = config.params.dpi == 3 ? 900 :(config.params.dpi == 2?999:300);

View File

@ -175,7 +175,7 @@ struct
unsigned int slow_moire : 1;
unsigned int reversed1 : 3;
unsigned int isCorrect : 1;
unsigned int dstHeight : 8;
unsigned int dc : 8;
unsigned int reversed2 : 6;
} params;
unsigned int value;