移植到stm32f1,实现手动线赋码控制器功能
This commit is contained in:
@@ -59,7 +59,7 @@ static void write_uid_upmit(write_uid_def *w)
|
||||
array_def *a=arr_creat();
|
||||
arr_append(a,w->addrs_num);
|
||||
// arr_appends(a,w->ack,390);
|
||||
for(int i=0;i<10;i++)
|
||||
for(int i=0;i<w->addrs_num;i++)
|
||||
{
|
||||
uint8_t *d=&w->ack[i*39];
|
||||
if(sys_param()->coder_ret_mode)
|
||||
@@ -94,7 +94,7 @@ static void write_uid_fillret(write_uid_def *w,int addr,int ack)
|
||||
memcpy(&d[2],w->item[addr].shell_code,13);
|
||||
memcpy(&d[2+13],w->item[addr].uid_code,16);
|
||||
memcpy(&d[2+13+16],w->item[addr].password,8);
|
||||
if(w->ack_num>=10)
|
||||
if(w->ack_num>=w->addrs_num)
|
||||
{
|
||||
write_uid_upmit(w);
|
||||
}
|
||||
@@ -107,7 +107,7 @@ static void write_uid_end(ucport_def *u,port_mcu *src,void *data,int ack,char *e
|
||||
{
|
||||
write_uid_def *w=(write_uid_def *)u;
|
||||
uint8_t addr=port_get_addr(src);
|
||||
if(addr<=0||addr>10){
|
||||
if(addr<=0||addr>w->addrs_num){
|
||||
DBG_WARN("addr err:%d",addr);
|
||||
return;
|
||||
}
|
||||
@@ -123,7 +123,7 @@ static void write_uid_return_ok(void *p)
|
||||
write_uid_def *u=p;
|
||||
array_def *a=arr_creat();
|
||||
arr_append(a,u->addrs_num);
|
||||
for(int i=0;i<10;i++)
|
||||
for(int i=0;i<u->addrs_num;i++)
|
||||
{
|
||||
arr_append(a,i+slave_addr_off());
|
||||
arr_append(a,0);
|
||||
@@ -170,7 +170,7 @@ static ucport_def *write_uid(tran_def *t, uint8_t cmd,array_def *data)
|
||||
uint8_t *d_off=arr_data(data)+4+1;
|
||||
uint8_t *d_;
|
||||
tran_set_busy(t,1);
|
||||
for(int i=0;i<10;i++)
|
||||
for(int i=0;i<u->addrs_num;i++)
|
||||
{
|
||||
memcpy(u->item[i].shell_code,d_off+i*14+1,13);
|
||||
DBG_LOG("slave:%d, shell=%s",i,u->item[i].shell_code);
|
||||
@@ -229,7 +229,7 @@ static ucport_def *write_uid(tran_def *t, uint8_t cmd,array_def *data)
|
||||
}
|
||||
|
||||
|
||||
transmit_export(ym_checker,0x02,write_uid)
|
||||
//transmit_export(ym_checker,0x02,write_uid)
|
||||
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ static void check_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_s
|
||||
{
|
||||
check_def *w=(check_def *)u;
|
||||
uint8_t addr=port_get_addr(src);
|
||||
if(addr<=0||addr>10){
|
||||
if(addr<=0||addr>w->addrs_num){
|
||||
DBG_WARN("addr err:%d",addr);
|
||||
return;
|
||||
}
|
||||
@@ -371,7 +371,7 @@ static void check_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_s
|
||||
}
|
||||
|
||||
w->ack_num++;
|
||||
if(w->ack_num>=10)
|
||||
if(w->ack_num>=w->addrs_num)
|
||||
{
|
||||
array_def *a=arr_creat();
|
||||
arr_append(a,w->addrs_num);
|
||||
@@ -394,7 +394,7 @@ static void check_return_ok(void *p)
|
||||
arr_append(a,u->addrs_num);
|
||||
arr_append(a,u->type);
|
||||
// 固定返回6*10个字节,如果不检测某通道,则该通道填充占位符
|
||||
for(int i=0;i<10;i++){
|
||||
for(int i=0;i<u->addrs_num;i++){
|
||||
arr_append(a,i+slave_addr_off());
|
||||
arr_append(a,0);// 成功
|
||||
arr_append(a,i+1);// 返回真是序号
|
||||
@@ -433,13 +433,13 @@ static ucport_def *check(tran_def *t, uint8_t cmd,array_def *data)
|
||||
u->addrs_num=arr_get(data,0);
|
||||
u->type=arr_get(data,0);
|
||||
// 默认失败
|
||||
for(int i=0;i<10;i++)
|
||||
for(int i=0;i<u->addrs_num;i++)
|
||||
{
|
||||
u->ack[i*6+0]=i+slave_addr_off();
|
||||
u->ack[i*6+1]=1;
|
||||
}
|
||||
tran_set_busy(t,1);
|
||||
for(int i=0;i<10;i++)
|
||||
for(int i=0;i<u->addrs_num;i++)
|
||||
{
|
||||
if(1){
|
||||
port_mcu *mcu=tran_get_portm(u->u.p,i);
|
||||
@@ -502,7 +502,7 @@ static void live_send(void *p)
|
||||
if(t)
|
||||
slave_online=tran_get_slave_online(t);
|
||||
array_def *d=arr_creat();
|
||||
arr_append(d,0);
|
||||
arr_append(d,0);// 改为模块类型
|
||||
arr_append(d,0xff);
|
||||
arr_append(d,0x03);
|
||||
arr_append(d,par->local_id&0xff);
|
||||
@@ -548,6 +548,6 @@ static int init_live_keeper(void)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
app_init_export(init_live_keeper);
|
||||
//app_init_export(init_live_keeper);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user