|
|
@@ -154,19 +154,31 @@ int board_upgrade_status_set(int addr, int status)
|
|
|
}
|
|
|
int board_list_get(board_list_t *list)
|
|
|
{
|
|
|
- int max=0;
|
|
|
+ int r,max=0,addr,cnt=0;
|
|
|
board_list_t *l=&brd_list;
|
|
|
GlobalDeviceManager *dm=&__globalDeviceManage;
|
|
|
+ Modbus_Manger *mm=&dm->_globalRelaySampManger;
|
|
|
GlobalPowerManger *tmp,*hd=&dm->_globalPowerManger;
|
|
|
+ switch_info_t swinfo;
|
|
|
|
|
|
memset(l, 0, sizeof(board_list_t));
|
|
|
max = sizeof(l->info)/sizeof(l->info[0]);
|
|
|
list_for_each_entry(tmp,&hd->list,list) {
|
|
|
if(tmp->product_saddr>0) {
|
|
|
- l->info[l->cnt++].addr=tmp->product_saddr;
|
|
|
- g_switch_get_board_info(&l->info[l->cnt]);
|
|
|
- l->cnt++;
|
|
|
- if(l->cnt>=max) break;
|
|
|
+ board_info_t *info=&l->info[l->cnt];
|
|
|
+ addr = tmp->product_saddr;
|
|
|
+ r = g_switch_get_board_info(mm, addr, &swinfo);
|
|
|
+ if(r==0) {
|
|
|
+ info->addr = addr;
|
|
|
+ info->brd_id = swinfo.id[0];
|
|
|
+ info->channels = swinfo.channels;
|
|
|
+ strcpy(info->date, swinfo.date);
|
|
|
+ strcpy(info->ver, swinfo.ver);
|
|
|
+ sprintf(info->name, "PowerBoard %d", l->cnt+1);
|
|
|
+
|
|
|
+ l->cnt++;
|
|
|
+ if(l->cnt>=max) break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if(list) *list = *l;
|