Add more Mega Pro Laser stuff.

This commit is contained in:
Knutwurst
2021-01-18 15:31:33 +01:00
parent 3f6663dca4
commit a52aa9f69f

View File

@@ -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><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()
{