⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eibdrv_admin.c

📁 欧洲安装总线系统的USB串口接口驱动c程序源代码.软件代码由西门子公司提供
💻 C
📖 第 1 页 / 共 4 页
字号:
      else         admin->ftstation_settings->outbuf_size=new_size;   }   if (strcmp(fl_get_input(admin->ResizeBufferForm->RMsgBufSizeEditfield),"")!=0)   {  new_size=(unsigned long)atol(fl_get_input(admin->ResizeBufferForm->RMsgBufSizeEditfield));      if (ioctl(admin->eib_fd,FT_SET_RPBUF_MSGSIZE,new_size)<0)         result_rpbuf_msgbuf=errno;      else         admin->ftstation_settings->rpbuf_msgbuf_size=new_size;   }               fl_freeze_form(admin->MainForm->VisForm);   actualize_MainForm_BufSiz(admin);   fl_unfreeze_form(admin->MainForm->VisForm);            if ((result_wpbuf==ENOMEM) || (result_rpbuf==ENOMEM) ||        (result_outbuf==ENOMEM) || (result_rpbuf_msgbuf==ENOMEM))   {  fl_ext_panel1(admin->Panels+11,admin,ResizeBufferPanel_cb);      deact_flag=1;   }   if ((result_wpbuf==ESIZE) || (result_rpbuf==ESIZE) ||        (result_outbuf==ESIZE) || (result_rpbuf_msgbuf==ESIZE))   {  fl_ext_panel1(admin->Panels+12,admin,ResizeBufferPanel_cb);      deact_flag=1;   }         fl_hide_form(admin->ResizeBufferForm->VisForm);   if (deact_flag==0)      fl_activate_form(admin->MainForm->VisForm);   time(&admin->stat_plan_time);}void CancelBtn_cb(FL_OBJECT *obj, long data){  Eib_bcu2_admin *admin=(Eib_bcu2_admin *)obj->form->u_vdata;         fl_hide_form(admin->ResizeBufferForm->VisForm);   admin->resbufform_visible=FL_EXT_INVISIBLE;   fl_activate_form(admin->MainForm->VisForm);}void TimesTimer_cb(FL_OBJECT *obj,long use_type)/*  The argument use_type determines, whether the statistics record has to be    initialized after reading it (FT_GETRESET_STAT) or not (FT_GET_STAT).          0 ... The checkbuttons ActwResetCheckBtn and ActwoResetCheckBtn             determine the ioctl call.      1 ... The ioctl is called in FT_GETRESET_STAT mode.      2 ... The ioctl is called in FT_GET_STAT mode. */ {  Eib_bcu2_admin *admin=(Eib_bcu2_admin *)obj->form->u_vdata;   time_t act_time;   int result;   unsigned int cmd;         time(&act_time);   actualize_MainForm_Times(admin,act_time);      switch(use_type)   {  case 0: if (fl_get_button(admin->MainForm->ActwoResetCheckbtn)==1)                 cmd=FT_GET_STAT;              else                 cmd=FT_GETRESET_STAT;              break;      case 1: cmd=FT_GETRESET_STAT;               admin->stat_plan_time=act_time;              break;      case 2: cmd=FT_GET_STAT;               admin->stat_plan_time=act_time;              break;   }         if (admin->stat_plan_time<=act_time)      {  fl_freeze_form(admin->MainForm->VisForm);      if (ioctl(admin->eib_fd,cmd,admin->ftstation_stat)<0)      {  switch(result=errno)         {  case EFAULT: fl_ext_panel1(admin->Panels+5,admin,cleanup);                         break;         }      }         if (ioctl(admin->eib_fd,FT_RESP_STATUS)<0)      {  switch(result=errno)         {  case ENORESPSTATUS: actualize_MainForm_Status(admin,EIBDRV_ADMIN_STATUS_FAILED);                                break;         }      }      else         actualize_MainForm_Status(admin,EIBDRV_ADMIN_STATUS_RESPONDED);      admin->stat_get_time=admin->stat_plan_time;      admin->stat_plan_time+=admin->act_interval;      actualize_MainForm_BufSiz(admin);      actualize_MainForm_Stat(admin);      if (cmd==FT_GETRESET_STAT)         admin->stat_reset_time=admin->stat_get_time;         fl_unfreeze_form(admin->MainForm->VisForm);   }      if (use_type==0)  // Timer         fl_set_timer(obj,1);}FD_VisForm *create_form_MainForm(void){  int i;   FL_OBJECT *obj;   FD_VisForm *fdui = (FD_VisForm *) fl_calloc(1, sizeof(*fdui));   fdui->VisForm = fl_bgn_form(FL_NO_BOX, 800, 475);   fl_ext_formobjects_add_box(FL_UP_BOX,0,0,800,475,"",         FL_RESIZE_NONE,FL_NorthWest,FL_SouthEast);   fl_ext_formobjects_add_labelframe(FL_ENGRAVED_FRAME,20,20,420,115,"Settings",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,40,30,55,20,"Device:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,40,55,55,20,"Mode:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,40,80,55,20,"Baudrate:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,40,105,55,20,"Port:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&fdui->DeviceText,FL_BORDER_BOX,105,30,315,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&fdui->ModeText,FL_BORDER_BOX,105,55,315,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&fdui->BaudrateText,FL_BORDER_BOX,105,80,315,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&fdui->PortText,FL_BORDER_BOX,105,105,315,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_labelframe(FL_ENGRAVED_FRAME,460,20,130,80,"Protocol Status",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&obj,FL_NO_BOX,470,35,110,20,"Controller to BCU2",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);            fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_box2(&fdui->StatusBox,FL_BORDER_BOX,475,65,100,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_ext_formobjects_add_box(FL_EMBOSSED_BOX,610,20,170,80,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_ext_formobjects_add_text(&obj,FL_NO_BOX,620,25,150,30,"eibdrv_admin",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);            fl_set_object_lcolor(obj,FL_BLUE);      fl_set_object_lsize(obj,FL_LARGE_SIZE);      fl_set_object_lalign(obj,FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);      fl_set_object_lstyle(obj,FL_NORMAL_STYLE+FL_EMBOSSED_STYLE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,660,50,110,20,"Version 0.2.1",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);               fl_set_object_lsize(obj,FL_NORMAL_SIZE);      fl_set_object_lalign(obj,FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);      fl_set_object_lstyle(obj,FL_BOLD_STYLE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,650,70,120,20,"(C) Wolfgang Tumfart",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);               fl_set_object_lalign(obj,FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_labelframe(FL_ENGRAVED_FRAME,20,155,420,65,"Process Buffer",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,30,165,45,20,"WRITE:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,30,190,45,20,"READ:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,80,165,30,20,"Size:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,80,190,30,20,"Size:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&fdui->WProcSizeText,FL_BORDER_BOX,115,165,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&fdui->RProcSizeText,FL_BORDER_BOX,115,190,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,165,165,55,20,"Occupied:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,165,190,55,20,"Occupied:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&fdui->WProcOccText,FL_BORDER_BOX,220,165,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&fdui->RProcOccText,FL_BORDER_BOX,220,190,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&obj,FL_NO_BOX,270,165,25,20,"0 %",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,270,190,25,20,"0 %",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,395,165,40,20,"100 %",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,395,190,40,20,"100 %",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_box2(&fdui->WProcOccGroundBox,FL_DOWN_BOX,295,165,100,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_box2(&fdui->RProcOccGroundBox,FL_DOWN_BOX,295,190,100,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_box2(&fdui->WProcOccBox,FL_FLAT_BOX,297,167,0,16,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_box2(&fdui->RProcOccBox,FL_FLAT_BOX,297,192,0,16,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_labelframe(FL_ENGRAVED_FRAME,20,240,420,65,"Message Buffer",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,30,250,45,20,"WRITE:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,30,275,45,20,"READ:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,80,250,30,20,"Size:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,80,275,30,20,"Size:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&fdui->WMsgSizeText,FL_BORDER_BOX,115,250,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&fdui->RMsgSizeText,FL_BORDER_BOX,115,275,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,165,250,55,20,"Occupied:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&fdui->WMsgOccText,FL_BORDER_BOX,220,250,40,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&obj,FL_NO_BOX,270,250,25,20,"0 %",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,395,250,40,20,"100 %",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_box2(&fdui->WMsgOccGroundBox,FL_DOWN_BOX,295,250,100,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_box2(&fdui->WMsgOccBox,FL_FLAT_BOX,297,252,0,16,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);            fl_ext_formobjects_add_labelframe(FL_ENGRAVED_FRAME,460,120,210,185,"Statistics Actualization",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);      fl_ext_formobjects_add_text(&obj,FL_NO_BOX,465,130,100,20,"Last Reset:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);            fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,465,155,100,20,"Last Actualization:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);            fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&obj,FL_NO_BOX,465,180,100,20,"Next Actualization:",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);            fl_set_object_lalign(obj,FL_ALIGN_LEFT|FL_ALIGN_INSIDE);   fl_ext_formobjects_add_text(&fdui->TimeResetText,FL_BORDER_BOX,580,130,70,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_ext_formobjects_add_text(&fdui->TimeActualizeText,FL_BORDER_BOX,580,155,70,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_ext_formobjects_add_text(&fdui->TimeNextText,FL_BORDER_BOX,580,180,70,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);         fl_ext_formobjects_add_counter(&fdui->ActIntervalCounter,FL_NORMAL_COUNTER,         475,210,175,20,"Actualization Intervall (min)",FL_ALIGN_BOTTOM,         1.0,60.0,1.0,10.0,0,         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);                  fl_set_object_callback(fdui->ActIntervalCounter,ActIntervalCounter_cb,0);      fl_set_counter_value(fdui->ActIntervalCounter,1);   fl_bgn_group();   fl_ext_formobjects_add_checkbtn(&fdui->ActwoResetCheckbtn,FL_RADIO_BUTTON,         475,250,165,20,"Actualization without Reset",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);                  fl_set_object_callback(fdui->ActwoResetCheckbtn,Null_cb,0);      fl_set_button(fdui->ActwoResetCheckbtn,1);   fl_ext_formobjects_add_checkbtn(&fdui->ActwResetCheckbtn,FL_RADIO_BUTTON,         475,270,165,20,"Actualization with Reset",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);                  fl_set_object_callback(fdui->ActwResetCheckbtn,Null_cb,0);   fl_end_group();      fl_ext_formobjects_add_labelframe(FL_ENGRAVED_FRAME,20,325,315,130,"Write (Messages to EIB system)",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);               fl_ext_formobjects_add_box2(&fdui->WGroundBox,FL_BORDER_BOX,40,355,275,20,"",         FL_RESIZE_NONE,FL_NorthWest,FL_NorthWest);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -