#include "task_pen_head.h" #include "../clib/clib.h" #include "../bsp/bsp_oid.h" #include "../msp/msp_uart2.h" struct _s_task_pen_head_ s_task_pen_write; struct _s_task_pen_head_ s_task_pen_read; void L3_task_pen_head_write_init(void) { L1_task_init(&s_task_pen_write.task); L3_task_s_go(s_task_pen_write,D_task_init); } void L3_task_pen_head_read_init(void) { L1_task_init(&s_task_pen_read.task); L3_task_s_go(s_task_pen_read,D_task_init); } #define TTSS_TASK_HEAD_DATA_GET 0x01 #define TTSS_TASK_HEAD_DATA_WRITE 0x02 #define TTSS_TASK_HEAD_DATA_END 0x03 #define TTSS_TASK_HEAD_DATA_WRITE_TO 0x04 #if 0 ///U8 i = 0; U8 j ; void L3_task_pen_head_write_handle(struct _s_task_pen_head_ *s) { TTSS_Task_init() L2_task_go(TTSS_TASK_HEAD_DATA_GET); TTSS_Task_step(TTSS_TASK_HEAD_DATA_GET) if(G.oid_x) { G.oid_x = 0; s->point.x_axis = (U16)(U32)ts_oid.x *10.0; s->point.y_axis = (U16)(U32)ts_oid.y *10.0; s->point.time = ts_oid.time; s->point.angle = (U16)ts_oid.angle>>1; L2_task_go(TTSS_TASK_HEAD_DATA_WRITE); } else { L2_task_go(TTSS_TASK_HEAD_DATA_END); } TTSS_Task_step(TTSS_TASK_HEAD_DATA_WRITE)////判断 if(G.pen_down) { G.pen_down= 0; s->point.x_axis += (U16)16384; L2_task_go(TTSS_TASK_HEAD_DATA_WRITE_TO); } else if(G.pen_hold) { G.pen_hold = 0; s->point.x_axis += (U16)32768; L2_task_go(TTSS_TASK_HEAD_DATA_WRITE_TO); } TTSS_Task_step(TTSS_TASK_HEAD_DATA_END) if(G.pen_up && G.pen_t) { G.pen_up = 0; G.pen_end = 1; s->point.x_axis += (U16)16384; s->point.time = D_sys_now; ts_oid.x = 0; ts_oid.y = 0; ts_oid.time = 0; ts_oid.angle = 0; L2_task_go(TTSS_TASK_HEAD_DATA_WRITE_TO); } else { L2_task_go(TTSS_TASK_HEAD_DATA_GET); } TTSS_Task_step(TTSS_TASK_HEAD_DATA_WRITE_TO) L0_uart2_ushex(s->point.x_axis); //Lc_buf_copy_uc((U8 *)&wr_buf.buf[i],(U8 *)&s->point,(U16)10); Lc_buf_copy_uc((U8 *)&wr_buf.buf[wr_buf.Index],(U8 *)&s->point,10); wr_buf.Index ++; ////L2_task_go_Tdelay(TTSS_TASK_HEAD_DATA_GET,D_Tdelay_40ms); L2_task_go(TTSS_TASK_HEAD_DATA_GET); #if 0 s->point.x_axis = i; s->point.y_axis = i; s->point.time = D_sys_now; i++; L0_uart2_ushex(s->point.x_axis); if(Lc_write_cyc_buf(&s->point,&wr_buf,1) == 0) { s->full = 1; } #if 0 for(j = 0;j= POINT_LEN-1) { wr_buf.Index = 0; G.datapkg = 1; Lc_buf_copy_uc((U8 *)&R.points,(U8 *)&wr_buf.buf,(U16)POINT_LEN*10); //G.ccmd_slaver_info[2].extra_num = POINT_LEN *5; } L2_task_go_Tdelay(TTSS_TASK_HEAD_DATA_READ,D_Tdelay_300ms); TTSS_Task_end(); } #endif