Loading…

方法名称: pulse_weight_bcd_RW

方法ID: 0x40D4

方法标签: Pulse weight value (BCD) R/W

方法描述: Read/Write pulse weight value w/BCD.


  • {
  • char status[3];
  • int choice;
  • float fval;
  • long lval;
  • long bcdval;
  • _set_device_status(0xFF,0);
  • _set_all_resp_code(0);
  • _set_xmtr_device_status(0xFF,0);
  • _set_xmtr_all_resp_code(0);
  • send(250,status);
  • if (status[0])
  • {
  • display_response_status(250,status[0]);
  • process_abort();
  • }
  • fval = 0.0;
  • bcdval = _ivar_value(16623);
  • if ((bcdval & 0x00000f) == 0x00000a)
  • {
  • fval = (bcdval >> 20 & 0xf) * 10000.0;
  • (bcdval >> 16 & 0xf) * 1000.0 + (bcdval >> 12 & 0xf) * 100.0 + (bcdval >> 8 & 0xf) * 10.0 + (bcdval >> 4 & 0xf) * 1.0;
  • }
  • else
  • if ((bcdval & 0x0000f0) == 0x0000a0)
  • {
  • fval = (bcdval >> 20 & 0xf) * 1000.0 + (bcdval >> 16 & 0xf) * 100.0 + (bcdval >> 12 & 0xf) * 10.0 + (bcdval >> 8 & 0xf) * 1.0 + (bcdval >> 0 & 0xf) * 0.1;
  • }
  • else
  • if ((bcdval & 0x000f00) == 0x000a00)


请登录以获得完整内容