kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Use MotorSlope in gl646 code
rodzic
dec9962773
commit
7d477da404
|
@ -217,12 +217,10 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now generate slope tables : we are not using generate_slope_table3 yet */
|
/* now generate slope tables : we are not using generate_slope_table3 yet */
|
||||||
auto slope_table1 = sanei_genesys_generate_slope_table(motor->steps1, motor->steps1 + 1,
|
auto slope_table1 = create_slope_table(motor->slope1, motor->slope1.max_speed_w, StepType::FULL,
|
||||||
motor->vend1, motor->vstart1,
|
1, 4, get_slope_table_max_size(AsicType::GL646));
|
||||||
motor->vend1, motor->steps1, motor->g1);
|
auto slope_table2 = create_slope_table(motor->slope2, motor->slope2.max_speed_w, StepType::FULL,
|
||||||
auto slope_table2 = sanei_genesys_generate_slope_table(motor->steps2, motor->steps2 + 1,
|
1, 4, get_slope_table_max_size(AsicType::GL646));
|
||||||
motor->vend2, motor->vstart2,
|
|
||||||
motor->vend2, motor->steps2, motor->g2);
|
|
||||||
|
|
||||||
/* R01 */
|
/* R01 */
|
||||||
/* now setup other registers for final scan (ie with shading enabled) */
|
/* now setup other registers for final scan (ie with shading enabled) */
|
||||||
|
@ -352,10 +350,10 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
}
|
}
|
||||||
|
|
||||||
/* motor steps used */
|
/* motor steps used */
|
||||||
regs->find_reg(0x21).value = motor->steps1;
|
regs->find_reg(0x21).value = slope_table1.steps_count;
|
||||||
regs->find_reg(0x22).value = motor->fwdbwd;
|
regs->find_reg(0x22).value = motor->fwdbwd;
|
||||||
regs->find_reg(0x23).value = motor->fwdbwd;
|
regs->find_reg(0x23).value = motor->fwdbwd;
|
||||||
regs->find_reg(0x24).value = motor->steps1;
|
regs->find_reg(0x24).value = slope_table2.steps_count;
|
||||||
|
|
||||||
/* CIS scanners read one line per color channel
|
/* CIS scanners read one line per color channel
|
||||||
* since gray mode use 'add' we also read 3 channels even not in
|
* since gray mode use 'add' we also read 3 channels even not in
|
||||||
|
@ -479,11 +477,12 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
|
|
||||||
if (motor->fastfed)
|
if (motor->fastfed)
|
||||||
{
|
{
|
||||||
feedl = feedl - 2 * motor->steps2 - (motor->steps1 >> step_shift);
|
feedl = feedl - 2 * slope_table2.steps_count -
|
||||||
|
(slope_table1.steps_count >> step_shift);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
feedl = feedl - (motor->steps1 >> step_shift);
|
feedl = feedl - (slope_table1.steps_count >> step_shift);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -501,7 +500,7 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
sanei_genesys_calculate_zmod(regs->find_reg(0x02).value & REG_0x02_FASTFED,
|
sanei_genesys_calculate_zmod(regs->find_reg(0x02).value & REG_0x02_FASTFED,
|
||||||
sensor.exposure_lperiod,
|
sensor.exposure_lperiod,
|
||||||
slope_table1.table,
|
slope_table1.table,
|
||||||
motor->steps1,
|
slope_table1.steps_count,
|
||||||
move, motor->fwdbwd, &z1, &z2);
|
move, motor->fwdbwd, &z1, &z2);
|
||||||
|
|
||||||
/* no z1/z2 for sheetfed scanners */
|
/* no z1/z2 for sheetfed scanners */
|
||||||
|
@ -511,7 +510,7 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
}
|
}
|
||||||
regs->set16(REG_Z1MOD, z1);
|
regs->set16(REG_Z1MOD, z1);
|
||||||
regs->set16(REG_Z2MOD, z2);
|
regs->set16(REG_Z2MOD, z2);
|
||||||
regs->find_reg(0x6b).value = motor->steps2;
|
regs->find_reg(0x6b).value = slope_table2.steps_count;
|
||||||
regs->find_reg(0x6c).value =
|
regs->find_reg(0x6c).value =
|
||||||
(regs->find_reg(0x6c).value & REG_0x6C_TGTIME) | ((z1 >> 13) & 0x38) | ((z2 >> 16)
|
(regs->find_reg(0x6c).value & REG_0x6C_TGTIME) | ((z1 >> 13) & 0x38) | ((z2 >> 16)
|
||||||
& 0x07);
|
& 0x07);
|
||||||
|
@ -1147,12 +1146,14 @@ void CommandSetGl646::load_document(Genesys_Device* dev) const
|
||||||
regs.init_reg(0x24, 4);
|
regs.init_reg(0x24, 4);
|
||||||
|
|
||||||
/* generate slope table 2 */
|
/* generate slope table 2 */
|
||||||
auto slope_table = sanei_genesys_generate_slope_table(50, 51, 2400, 6000, 2400, 50, 0.25);
|
auto slope_table = create_slope_table(MotorSlope::create_from_steps(6000, 2400, 50), 2400,
|
||||||
|
StepType::FULL, 1, 4,
|
||||||
|
get_slope_table_max_size(AsicType::GL646));
|
||||||
// document loading:
|
// document loading:
|
||||||
// send regs
|
// send regs
|
||||||
// start motor
|
// start motor
|
||||||
// wait e1 status to become e0
|
// wait e1 status to become e0
|
||||||
gl646_send_slope_table(dev, 1, slope_table.table, 50);
|
gl646_send_slope_table(dev, 1, slope_table.table, slope_table.steps_count);
|
||||||
|
|
||||||
dev->interface->write_registers(regs);
|
dev->interface->write_registers(regs);
|
||||||
|
|
||||||
|
@ -1302,12 +1303,14 @@ void CommandSetGl646::eject_document(Genesys_Device* dev) const
|
||||||
regs.init_reg(0x24, 4);
|
regs.init_reg(0x24, 4);
|
||||||
|
|
||||||
/* generate slope table 2 */
|
/* generate slope table 2 */
|
||||||
auto slope_table = sanei_genesys_generate_slope_table(60, 61, 1600, 10000, 1600, 60, 0.25);
|
auto slope_table = create_slope_table(MotorSlope::create_from_steps(10000, 1600, 60), 1600,
|
||||||
|
StepType::FULL, 1, 4,
|
||||||
|
get_slope_table_max_size(AsicType::GL646));
|
||||||
// document eject:
|
// document eject:
|
||||||
// send regs
|
// send regs
|
||||||
// start motor
|
// start motor
|
||||||
// wait c1 status to become c8 : HOMESNR and ~MOTFLAG
|
// wait c1 status to become c8 : HOMESNR and ~MOTFLAG
|
||||||
gl646_send_slope_table(dev, 1, slope_table.table, 60);
|
gl646_send_slope_table(dev, 1, slope_table.table, slope_table.steps_count);
|
||||||
|
|
||||||
dev->interface->write_registers(regs);
|
dev->interface->write_registers(regs);
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
|
|
||||||
#include "genesys.h"
|
#include "genesys.h"
|
||||||
#include "command_set.h"
|
#include "command_set.h"
|
||||||
|
#include "motor.h"
|
||||||
|
|
||||||
namespace genesys {
|
namespace genesys {
|
||||||
namespace gl646 {
|
namespace gl646 {
|
||||||
|
@ -132,14 +133,8 @@ typedef struct
|
||||||
bool fastmod; // fast scanning
|
bool fastmod; // fast scanning
|
||||||
bool fastfed; // fast fed slope tables
|
bool fastfed; // fast fed slope tables
|
||||||
SANE_Int mtrpwm;
|
SANE_Int mtrpwm;
|
||||||
SANE_Int steps1; /* table 1 informations */
|
MotorSlope slope1;
|
||||||
SANE_Int vstart1;
|
MotorSlope slope2;
|
||||||
SANE_Int vend1;
|
|
||||||
SANE_Int steps2; /* table 2 informations */
|
|
||||||
SANE_Int vstart2;
|
|
||||||
SANE_Int vend2;
|
|
||||||
float g1;
|
|
||||||
float g2;
|
|
||||||
SANE_Int fwdbwd; /* forward/backward steps */
|
SANE_Int fwdbwd; /* forward/backward steps */
|
||||||
} Motor_Master;
|
} Motor_Master;
|
||||||
|
|
||||||
|
@ -149,88 +144,296 @@ typedef struct
|
||||||
*/
|
*/
|
||||||
static Motor_Master motor_master[] = {
|
static Motor_Master motor_master[] = {
|
||||||
/* HP3670 motor settings */
|
/* HP3670 motor settings */
|
||||||
{MotorId::HP3670, 75, 3, StepType::FULL, false, true , 1, 200, 3429, 305, 192, 3399, 337, 0.3f, 0.4f, 192},
|
{MotorId::HP3670, 75, 3, StepType::FULL, false, true, 1,
|
||||||
{MotorId::HP3670, 100, 3, StepType::HALF, false, true , 1, 143, 2905, 187, 192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(3429, 305, 200),
|
||||||
{MotorId::HP3670, 150, 3, StepType::HALF, false, true , 1, 73, 3429, 305, 192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
{MotorId::HP3670, 300, 3, StepType::HALF, false, true , 1, 11, 1055, 563, 192, 3399, 337, 0.3f, 0.4f, 192},
|
|
||||||
{MotorId::HP3670, 600, 3, StepType::FULL, false, true , 0, 3, 10687, 5126, 192, 3399, 337, 0.3f, 0.4f, 192},
|
{MotorId::HP3670, 100, 3, StepType::HALF, false, true, 1,
|
||||||
{MotorId::HP3670,1200, 3, StepType::HALF, false, true , 0, 3, 15937, 6375, 192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(2905, 187, 143),
|
||||||
{MotorId::HP3670,2400, 3, StepType::HALF, false, true , 0, 3, 15937, 12750,192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
{MotorId::HP3670, 75, 1, StepType::FULL, false, true , 1, 200, 3429, 305, 192, 3399, 337, 0.3f, 0.4f, 192},
|
|
||||||
{MotorId::HP3670, 100, 1, StepType::HALF, false, true , 1, 143, 2905, 187, 192, 3399, 337, 0.3f, 0.4f, 192},
|
{MotorId::HP3670, 150, 3, StepType::HALF, false, true, 1,
|
||||||
{MotorId::HP3670, 150, 1, StepType::HALF, false, true , 1, 73, 3429, 305, 192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(3429, 305, 73),
|
||||||
{MotorId::HP3670, 300, 1, StepType::HALF, false, true , 1, 11, 1055, 563, 192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
{MotorId::HP3670, 600, 1, StepType::FULL, false, true , 0, 3, 10687, 5126, 192, 3399, 337, 0.3f, 0.4f, 192},
|
|
||||||
{MotorId::HP3670,1200, 1, StepType::HALF, false, true , 0, 3, 15937, 6375, 192, 3399, 337, 0.3f, 0.4f, 192},
|
{MotorId::HP3670, 300, 3, StepType::HALF, false, true, 1,
|
||||||
{MotorId::HP3670,2400, 3, StepType::HALF, false, true , 0, 3, 15937, 12750,192, 3399, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(1055, 563, 11),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670, 600, 3, StepType::FULL, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(10687, 5126, 3),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670,1200, 3, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(15937, 6375, 3),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670,2400, 3, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(15937, 12750, 3),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670, 75, 1, StepType::FULL, false, true, 1,
|
||||||
|
MotorSlope::create_from_steps(3429, 305, 200),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670, 100, 1, StepType::HALF, false, true, 1,
|
||||||
|
MotorSlope::create_from_steps(2905, 187, 143),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670, 150, 1, StepType::HALF, false, true, 1,
|
||||||
|
MotorSlope::create_from_steps(3429, 305, 73),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670, 300, 1, StepType::HALF, false, true, 1,
|
||||||
|
MotorSlope::create_from_steps(1055, 563, 11),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670, 600, 1, StepType::FULL, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(10687, 5126, 3),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670,1200, 1, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(15937, 6375, 3),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP3670,2400, 3, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(15937, 12750, 3),
|
||||||
|
MotorSlope::create_from_steps(3399, 337, 192), 192},
|
||||||
|
|
||||||
/* HP2400/G2410 motor settings base motor dpi = 600 */
|
/* HP2400/G2410 motor settings base motor dpi = 600 */
|
||||||
{MotorId::HP2400, 50, 3, StepType::FULL, false, true , 63, 120, 8736, 601, 192, 4905, 337, 0.3f, 0.4f, 192},
|
{MotorId::HP2400, 50, 3, StepType::FULL, false, true, 63,
|
||||||
{MotorId::HP2400, 100, 3, StepType::HALF, false, true, 63, 120, 8736, 601, 192, 4905, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(8736, 601, 120),
|
||||||
{MotorId::HP2400, 150, 3, StepType::HALF, false, true , 63, 67, 15902, 902, 192, 4905, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
{MotorId::HP2400, 300, 3, StepType::HALF, false, true , 63, 32, 16703, 2188, 192, 4905, 337, 0.3f, 0.4f, 192},
|
|
||||||
{MotorId::HP2400, 600, 3, StepType::FULL, false, true , 63, 3, 18761, 18761, 192, 4905, 627, 0.3f, 0.4f, 192},
|
{MotorId::HP2400, 100, 3, StepType::HALF, false, true, 63,
|
||||||
{MotorId::HP2400,1200, 3, StepType::HALF, false, true , 63, 3, 43501, 43501, 192, 4905, 627, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(8736, 601, 120),
|
||||||
{MotorId::HP2400, 50, 1, StepType::FULL, false, true , 63, 120, 8736, 601, 192, 4905, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
{MotorId::HP2400, 100, 1, StepType::HALF, false, true, 63, 120, 8736, 601, 192, 4905, 337, 0.3f, 0.4f, 192},
|
|
||||||
{MotorId::HP2400, 150, 1, StepType::HALF, false, true , 63, 67, 15902, 902, 192, 4905, 337, 0.3f, 0.4f, 192},
|
{MotorId::HP2400, 150, 3, StepType::HALF, false, true, 63,
|
||||||
{MotorId::HP2400, 300, 1, StepType::HALF, false, true , 63, 32, 16703, 2188, 192, 4905, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(15902, 902, 67),
|
||||||
{MotorId::HP2400, 600, 1, StepType::FULL, false, true , 63, 3, 18761, 18761, 192, 4905, 337, 0.3f, 0.4f, 192},
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
{MotorId::HP2400,1200, 1, StepType::HALF, false, true , 63, 3, 43501, 43501, 192, 4905, 337, 0.3f, 0.4f, 192},
|
|
||||||
|
{MotorId::HP2400, 300, 3, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(16703, 2188, 32),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400, 600, 3, StepType::FULL, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(18761, 18761, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 627, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400,1200, 3, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(43501, 43501, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 627, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400, 50, 1, StepType::FULL, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(8736, 601, 120),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400, 100, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(8736, 601, 120),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400, 150, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(15902, 902, 67),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400, 300, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(16703, 2188, 32),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400, 600, 1, StepType::FULL, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(18761, 18761, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
|
{MotorId::HP2400,1200, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(43501, 43501, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 192), 192},
|
||||||
|
|
||||||
/* XP 200 motor settings */
|
/* XP 200 motor settings */
|
||||||
{MotorId::XP200, 75, 3, StepType::HALF, true , false, 0, 4, 6000, 2136, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
{MotorId::XP200, 75, 3, StepType::HALF, true, false, 0,
|
||||||
{MotorId::XP200, 100, 3, StepType::HALF, true , false, 0, 4, 6000, 2850, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
MotorSlope::create_from_steps(6000, 2136, 4),
|
||||||
{MotorId::XP200, 200, 3, StepType::HALF, true , false, 0, 4, 6999, 5700, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
{MotorId::XP200, 250, 3, StepType::HALF, true , false, 0, 4, 6999, 6999, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
|
||||||
{MotorId::XP200, 300, 3, StepType::HALF, true , false, 0, 4, 13500, 13500, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
{MotorId::XP200, 100, 3, StepType::HALF, true, false, 0,
|
||||||
{MotorId::XP200, 600, 3, StepType::HALF, true , true, 0, 4, 31998, 31998, 2, 12000, 1200, 0.3f, 0.5f, 1},
|
MotorSlope::create_from_steps(6000, 2850, 4),
|
||||||
{MotorId::XP200, 75, 1, StepType::HALF, true , false, 0, 4, 6000, 2000, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
{MotorId::XP200, 100, 1, StepType::HALF, true , false, 0, 4, 6000, 1300, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
|
||||||
{MotorId::XP200, 200, 1, StepType::HALF, true , true, 0, 4, 6000, 3666, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
{MotorId::XP200, 200, 3, StepType::HALF, true, false, 0,
|
||||||
{MotorId::XP200, 300, 1, StepType::HALF, true , false, 0, 4, 6500, 6500, 8, 12000, 1200, 0.3f, 0.5f, 1},
|
MotorSlope::create_from_steps(6999, 5700, 4),
|
||||||
{MotorId::XP200, 600, 1, StepType::HALF, true , true, 0, 4, 24000, 24000, 2, 12000, 1200, 0.3f, 0.5f, 1},
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 250, 3, StepType::HALF, true, false, 0,
|
||||||
|
MotorSlope::create_from_steps(6999, 6999, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 300, 3, StepType::HALF, true, false, 0,
|
||||||
|
MotorSlope::create_from_steps(13500, 13500, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 600, 3, StepType::HALF, true, true, 0,
|
||||||
|
MotorSlope::create_from_steps(31998, 31998, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 2), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 75, 1, StepType::HALF, true, false, 0,
|
||||||
|
MotorSlope::create_from_steps(6000, 2000, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 100, 1, StepType::HALF, true, false, 0,
|
||||||
|
MotorSlope::create_from_steps(6000, 1300, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 200, 1, StepType::HALF, true, true, 0,
|
||||||
|
MotorSlope::create_from_steps(6000, 3666, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 300, 1, StepType::HALF, true, false, 0,
|
||||||
|
MotorSlope::create_from_steps(6500, 6500, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 8), 1},
|
||||||
|
|
||||||
|
{MotorId::XP200, 600, 1, StepType::HALF, true, true, 0,
|
||||||
|
MotorSlope::create_from_steps(24000, 24000, 4),
|
||||||
|
MotorSlope::create_from_steps(12000, 1200, 2), 1},
|
||||||
|
|
||||||
/* HP scanjet 2300c */
|
/* HP scanjet 2300c */
|
||||||
{MotorId::HP2300, 75, 3, StepType::FULL, false, true , 63, 120, 8139, 560, 120, 4905, 337, 0.3f, 0.4f, 16},
|
{MotorId::HP2300, 75, 3, StepType::FULL, false, true, 63,
|
||||||
{MotorId::HP2300, 150, 3, StepType::HALF, false, true , 63, 67, 7903, 543, 120, 4905, 337, 0.3f, 0.4f, 16},
|
MotorSlope::create_from_steps(8139, 560, 120),
|
||||||
{MotorId::HP2300, 300, 3, StepType::HALF, false, true , 63, 3, 2175, 1087, 120, 4905, 337, 0.3f, 0.4f, 16},
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
{MotorId::HP2300, 600, 3, StepType::HALF, false, true , 63, 3, 8700, 4350, 120, 4905, 337, 0.3f, 0.4f, 16},
|
|
||||||
{MotorId::HP2300,1200, 3, StepType::HALF, false, true , 63, 3, 17400, 8700, 120, 4905, 337, 0.3f, 0.4f, 16},
|
{MotorId::HP2300, 150, 3, StepType::HALF, false, true, 63,
|
||||||
{MotorId::HP2300, 75, 1, StepType::FULL, false, true , 63, 120, 8139, 560, 120, 4905, 337, 0.3f, 0.4f, 16},
|
MotorSlope::create_from_steps(7903, 543, 67),
|
||||||
{MotorId::HP2300, 150, 1, StepType::HALF, false, true , 63, 67, 7903, 543, 120, 4905, 337, 0.3f, 0.4f, 16},
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
{MotorId::HP2300, 300, 1, StepType::HALF, false, true , 63, 3, 2175, 1087, 120, 4905, 337, 0.3f, 0.4f, 16},
|
|
||||||
{MotorId::HP2300, 600, 1, StepType::HALF, false, true , 63, 3, 8700, 4350, 120, 4905, 337, 0.3f, 0.4f, 16},
|
{MotorId::HP2300, 300, 3, StepType::HALF, false, true, 63,
|
||||||
{MotorId::HP2300,1200, 1, StepType::HALF, false, true , 63, 3, 17400, 8700, 120, 4905, 337, 0.3f, 0.4f, 16},
|
MotorSlope::create_from_steps(2175, 1087, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300, 600, 3, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(8700, 4350, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300,1200, 3, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(17400, 8700, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300, 75, 1, StepType::FULL, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(8139, 560, 120),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300, 150, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(7903, 543, 67),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300, 300, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(2175, 1087, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300, 600, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(8700, 4350, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300,1200, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(17400, 8700, 3),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
/* non half ccd settings for 300 dpi
|
/* non half ccd settings for 300 dpi
|
||||||
{MotorId::HP2300, 300, 3, StepType::HALF, false, true , 63, 44, 5386, 2175, 120, 4905, 337, 0.3f, 0.4f, 16},
|
{MotorId::HP2300, 300, 3, StepType::HALF, false, true, 63,
|
||||||
{MotorId::HP2300, 300, 1, StepType::HALF, false, true , 63, 44, 5386, 2175, 120, 4905, 337, 0.3f, 0.4f, 16},
|
MotorSlope::create_from_steps(5386, 2175, 44),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
|
|
||||||
|
{MotorId::HP2300, 300, 1, StepType::HALF, false, true, 63,
|
||||||
|
MotorSlope::create_from_steps(5386, 2175, 44),
|
||||||
|
MotorSlope::create_from_steps(4905, 337, 120), 16},
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* MD5345/6471 motor settings */
|
/* MD5345/6471 motor settings */
|
||||||
/* vfinal=(exposure/(1200/dpi))/step_type */
|
/* vfinal=(exposure/(1200/dpi))/step_type */
|
||||||
{MotorId::MD_5345, 50, 3, StepType::HALF , false, true , 2, 255, 2500, 250, 255, 2000, 300, 0.3f, 0.4f, 64},
|
{MotorId::MD_5345, 50, 3, StepType::HALF, false, true, 2,
|
||||||
{MotorId::MD_5345, 75, 3, StepType::HALF , false, true , 2, 255, 2500, 343, 255, 2000, 300, 0.3f, 0.4f, 64},
|
MotorSlope::create_from_steps(2500, 250, 255),
|
||||||
{MotorId::MD_5345, 100, 3, StepType::HALF , false, true , 2, 255, 2500, 458, 255, 2000, 300, 0.3f, 0.4f, 64},
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
{MotorId::MD_5345, 150, 3, StepType::HALF , false, true , 2, 255, 2500, 687, 255, 2000, 300, 0.3f, 0.4f, 64},
|
|
||||||
{MotorId::MD_5345, 200, 3, StepType::HALF , false, true , 2, 255, 2500, 916, 255, 2000, 300, 0.3f, 0.4f, 64},
|
{MotorId::MD_5345, 75, 3, StepType::HALF, false, true, 2,
|
||||||
{MotorId::MD_5345, 300, 3, StepType::HALF , false, true , 2, 255, 2500, 1375, 255, 2000, 300, 0.3f, 0.4f, 64},
|
MotorSlope::create_from_steps(2500, 343, 255),
|
||||||
{MotorId::MD_5345, 400, 3, StepType::HALF , false, true , 0, 32, 2000, 1833, 255, 2000, 300, 0.3f, 0.4f, 32},
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
{MotorId::MD_5345, 500, 3, StepType::HALF , false, true , 0, 32, 2291, 2291, 255, 2000, 300, 0.3f, 0.4f, 32},
|
|
||||||
{MotorId::MD_5345, 600, 3, StepType::HALF , false, true , 0, 32, 2750, 2750, 255, 2000, 300, 0.3f, 0.4f, 32},
|
{MotorId::MD_5345, 100, 3, StepType::HALF, false, true, 2,
|
||||||
{MotorId::MD_5345, 1200, 3, StepType::QUARTER, false, true , 0, 16, 2750, 2750, 255, 2000, 300, 0.3f, 0.4f, 146},
|
MotorSlope::create_from_steps(2500, 458, 255),
|
||||||
{MotorId::MD_5345, 2400, 3, StepType::QUARTER, false, true , 0, 16, 5500, 5500, 255, 2000, 300, 0.3f, 0.4f, 146},
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
{MotorId::MD_5345, 50, 1, StepType::HALF , false, true , 2, 255, 2500, 250, 255, 2000, 300, 0.3f, 0.4f, 64},
|
|
||||||
{MotorId::MD_5345, 75, 1, StepType::HALF , false, true , 2, 255, 2500, 343, 255, 2000, 300, 0.3f, 0.4f, 64},
|
{MotorId::MD_5345, 150, 3, StepType::HALF, false, true, 2,
|
||||||
{MotorId::MD_5345, 100, 1, StepType::HALF , false, true , 2, 255, 2500, 458, 255, 2000, 300, 0.3f, 0.4f, 64},
|
MotorSlope::create_from_steps(2500, 687, 255),
|
||||||
{MotorId::MD_5345, 150, 1, StepType::HALF , false, true , 2, 255, 2500, 687, 255, 2000, 300, 0.3f, 0.4f, 64},
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
{MotorId::MD_5345, 200, 1, StepType::HALF , false, true , 2, 255, 2500, 916, 255, 2000, 300, 0.3f, 0.4f, 64},
|
|
||||||
{MotorId::MD_5345, 300, 1, StepType::HALF , false, true , 2, 255, 2500, 1375, 255, 2000, 300, 0.3f, 0.4f, 64},
|
{MotorId::MD_5345, 200, 3, StepType::HALF, false, true, 2,
|
||||||
{MotorId::MD_5345, 400, 1, StepType::HALF , false, true , 0, 32, 2000, 1833, 255, 2000, 300, 0.3f, 0.4f, 32},
|
MotorSlope::create_from_steps(2500, 916, 255),
|
||||||
{MotorId::MD_5345, 500, 1, StepType::HALF , false, true , 0, 32, 2291, 2291, 255, 2000, 300, 0.3f, 0.4f, 32},
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
{MotorId::MD_5345, 600, 1, StepType::HALF , false, true , 0, 32, 2750, 2750, 255, 2000, 300, 0.3f, 0.4f, 32},
|
|
||||||
{MotorId::MD_5345, 1200, 1, StepType::QUARTER, false, true , 0, 16, 2750, 2750, 255, 2000, 300, 0.3f, 0.4f, 146},
|
{MotorId::MD_5345, 300, 3, StepType::HALF, false, true, 2,
|
||||||
{MotorId::MD_5345, 2400, 1, StepType::QUARTER, false, true , 0, 16, 5500, 5500, 255, 2000, 300, 0.3f, 0.4f, 146}, /* 5500 guessed */
|
MotorSlope::create_from_steps(2500, 1375, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 400, 3, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2000, 1833, 32),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 32},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 500, 3, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2291, 2291, 32),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 32},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 600, 3, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2750, 2750, 32),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 32},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 1200, 3, StepType::QUARTER, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2750, 2750, 16),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 146},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 2400, 3, StepType::QUARTER, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(5500, 5500, 16),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 146},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 50, 1, StepType::HALF, false, true, 2,
|
||||||
|
MotorSlope::create_from_steps(2500, 250, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 75, 1, StepType::HALF, false, true, 2,
|
||||||
|
MotorSlope::create_from_steps(2500, 343, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 100, 1, StepType::HALF, false, true, 2,
|
||||||
|
MotorSlope::create_from_steps(2500, 458, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 150, 1, StepType::HALF, false, true, 2,
|
||||||
|
MotorSlope::create_from_steps(2500, 687, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 200, 1, StepType::HALF, false, true, 2,
|
||||||
|
MotorSlope::create_from_steps(2500, 916, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 300, 1, StepType::HALF, false, true, 2,
|
||||||
|
MotorSlope::create_from_steps(2500, 1375, 255),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 64},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 400, 1, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2000, 1833, 32),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 32},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 500, 1, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2291, 2291, 32),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 32},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 600, 1, StepType::HALF, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2750, 2750, 32),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 32},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 1200, 1, StepType::QUARTER, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(2750, 2750, 16),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 146},
|
||||||
|
|
||||||
|
{MotorId::MD_5345, 2400, 1, StepType::QUARTER, false, true, 0,
|
||||||
|
MotorSlope::create_from_steps(5500, 5500, 16),
|
||||||
|
MotorSlope::create_from_steps(2000, 300, 255), 146}, /* 5500 guessed */
|
||||||
};
|
};
|
||||||
|
|
||||||
class CommandSetGl646 : public CommandSet
|
class CommandSetGl646 : public CommandSet
|
||||||
|
|
Ładowanie…
Reference in New Issue