Add more Mega Pro Laser stuff.
This commit is contained in:
@@ -152,11 +152,76 @@ void AnycubicTouchscreenClass::Setup()
|
||||
buzzer.tone(100, 740);
|
||||
buzzer.tone(100, 831);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
setup_OutageTestPin();
|
||||
}
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_P_LASER)
|
||||
void laser_init()
|
||||
{
|
||||
|
||||
Laser_printer_st.pic_pixel_distance = PIC_FIXED;//<2F><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>ľ<EFBFBD><C4BE><EFBFBD>?.1-0.3<EFBFBD><EFBFBD>
|
||||
Laser_printer_st.laser_height = 50;//<2F><><EFBFBD><EFBFBD>߶<EFBFBD>?
|
||||
Laser_printer_st.x_offset = 0;//X<><58><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>?
|
||||
Laser_printer_st.x_offset = 0;//Y<><59><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>?
|
||||
|
||||
Laser_printer_st.pic_vector = 0;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʸ<EFBFBD><CAB8>ͼ<EFBFBD><CDBC>1Ϊʸ<CEAA><CAB8>ͼ<EFBFBD><CDBC>0Ϊλͼ
|
||||
Laser_printer_st.pic_x_mirror = 1; //X<><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1Ϊ<31><CEAA><EFBFBD><EFBFBD>
|
||||
Laser_printer_st.pic_y_mirror = 0; //Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1Ϊ<31><CEAA><EFBFBD><EFBFBD>
|
||||
Laser_printer_st.pic_laser_time = 15;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣨1-100<30><30>
|
||||
|
||||
send_laser_param() ;
|
||||
}
|
||||
|
||||
void send_pic_param()
|
||||
{
|
||||
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("A45V");
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("W");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_widht);//ͼƬ<CDBC>Ŀ<EFBFBD><C4BF>?
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("H");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_hight);//ͼƬ<CDBC>ĸ߶<C4B8>
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_ENTER();
|
||||
|
||||
|
||||
}
|
||||
void send_laser_param()
|
||||
{
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("A44V");
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("A");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_vector);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("B");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_laser_time);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("C");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.laser_height);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("D");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_pixel_distance);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("E");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.x_offset);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("F");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.y_offset);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("G");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_x_mirror);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("H");
|
||||
HARDWARE_SERIAL_PROTOCOL(Laser_printer_st.pic_y_mirror);
|
||||
HARDWARE_SERIAL_SPACE();
|
||||
HARDWARE_SERIAL_ENTER();
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
void AnycubicTouchscreenClass::KillTFT()
|
||||
{
|
||||
HARDWARE_SERIAL_PROTOCOLPGM("J11"); // J11 Kill
|
||||
@@ -2136,6 +2201,46 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
|
||||
}
|
||||
}
|
||||
|
||||
#if ENABLED(KNUTWURST_MEGA_P_LASER)
|
||||
void prepare_laser_print()
|
||||
{
|
||||
static unsigned long times = 0;
|
||||
|
||||
if(times>100)
|
||||
{
|
||||
times -- ;
|
||||
return;
|
||||
}
|
||||
times = 10000;
|
||||
|
||||
if(laser_print_steps == 0)
|
||||
{
|
||||
cvalue[0]= 0;
|
||||
while (planner.blocks_queued());//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD>ֹͣ
|
||||
enqueue_and_echo_commands_P(PSTR("G28"));//<2F>ȹ<EFBFBD><C8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>߶<EFBFBD>
|
||||
sprintf_P(cvalue,PSTR("G1 Z%i F500"),(int)Laser_printer_st.laser_height);
|
||||
|
||||
SERIAL_PROTOCOLLN(cvalue);
|
||||
enqueue_and_echo_command_now(cvalue);//<2F>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>߶<EFBFBD>
|
||||
laser_print_steps =1;
|
||||
times = 120000;
|
||||
}
|
||||
else if(laser_print_steps==1)
|
||||
{
|
||||
if(planner.blocks_queued())return;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>?<3F><EFBFBD>
|
||||
laser_print_steps =2;
|
||||
}
|
||||
else if(laser_print_steps==2)
|
||||
{
|
||||
Laset_print_picture( );//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
laser_print_steps=0;
|
||||
card.printingHasFinished();
|
||||
card.checkautostart(true);
|
||||
en_continue = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void AnycubicTouchscreenClass::CommandScan()
|
||||
{
|
||||
|
Reference in New Issue
Block a user