def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x16: #ACK (_ccr, _ddr, _chksum) = unpack("<HHH", recv_data[5:]) _ccr = eza2500_util.q_denormalize(_ccr, 14, '48', '0', '12', 'ccr') _ddr = eza2500_util.q_denormalize(_ddr, 14, '48', '0', '12', 'ddr') res["ccr"] = _ccr res["ddr"] = _ddr res["chksum"] = _chksum self.response = res elif _cmd == 0x96: #NAK (_ercd, _chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x1a: #ACK (_dvg, _drg, _chksum) = unpack("<HHH", recv_data[5:]) _dvg = eza2500_util.q_denormalize(_dvg, 14, '380', '260', '390', 'dvg') _drg = eza2500_util.q_denormalize(_drg, 13, '1', '0', '3.999', 'drg') res["dvg"] = _dvg res["drg"] = _drg res["chksum"] = _chksum self.response = res elif _cmd == 0x9a: #NAK (_ercd, _chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x0e: #ACK (_tsq, _tpq, _v5q, _fn1q, _fn2q, _fn3q, _fn4q, _fn5q, _chksum) = unpack("<HHHHHHHHH", recv_data[5:]) res["tsq"] = _tsq res["tpq"] = _tpq res["v5q"] = _v5q res["fn1q"] = _fn1q res["fn2q"] = _fn2q res["fn3q"] = _fn3q res["fn4q"] = _fn4q res["fn5q"] = _fn5q res["chksum"] = _chksum self.response = res elif _cmd == 0x8e: #NAK (_ercd, _chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x17: #ACK (_pdz ,_mdz ,_chksum) = unpack("<HHH", recv_data[5:]) _pdz = eza2500_util.q_denormalize(_pdz, 14, '380', '0', '57', 'pdz') _mdz = eza2500_util.q_denormalize(_mdz, 14, '380', '0', '57', 'mdz') res["pdz"] = _pdz res["mdz"] = _mdz res["chksum"] = _chksum self.response = res elif _cmd == 0x97: #NAK (_ercd ,_chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x01: #ACK (_cst, _ext, _chksum) = unpack("<HHH", recv_data[5:]) res["cst"] = _cst res["ext"] = _ext res["chksum"] = _chksum self.response = res elif _cmd == 0x81: #NAK (_ercd, _chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x1d: #ACK (_bcf ,_cvb ,_dlb ,_cdb ,_ddb ,_chksum) = unpack("<HHHHHH", recv_data[5:]) _cvb = eza2500_util.q_denormalize(_cvb, 14, '48', '32', '62', 'cvb') _dlb = eza2500_util.q_denormalize(_dlb, 14, '48', '32', '64', 'dlb') _cdb = eza2500_util.q_denormalize(_cdb, 14, '48', '0', '12', 'cdb') _ddb = eza2500_util.q_denormalize(_ddb, 14, '48', '0', '12', 'ddb') res["bcf"] = _bcf res["cvb"] = _cvb res["dlb"] = _dlb res["cdb"] = _cdb res["ddb"] = _ddb res["chksum"] = _chksum self.response = res elif _cmd == 0x9d: #NAK (_ercd ,_chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x0d: #ACK (_vgq ,_igq ,_vbq ,_ibq ,_wgq ,_wbq ,_icq ,_tmpq ,_chksum) = unpack("<HHHHHHHHH", recv_data[5:]) res["vgq"] = _vgq res["igq"] = _igq res["vbq"] = _vbq res["ibq"] = _ibq res["wgq"] = _wgq res["wbq"] = _wbq res["icq"] = _icq res["tmpq"] = _tmpq res["chksum"] = _chksum self.response = res elif _cmd == 0x8d: #NAK (_ercd ,_chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x09: #ACK (_vg, _ig, _vb, _ib, _wg, _wb, _ic, _tmp, _chksum) = unpack("<hhhhhhhhH", recv_data[5:]) _vg = eza2500_util.q_denormalize(_vg, 14, '380', 'None', 'None', 'vg') _ig = eza2500_util.q_denormalize(_ig, 13, '7.8125', 'None', 'None', 'ig') _vb = eza2500_util.q_denormalize(_vb, 14, '48', 'None', 'None', 'vb') _ib = eza2500_util.q_denormalize(_ib, 13, '52.08', 'None', 'None', 'ib') _wg = eza2500_util.q_denormalize(_wg, 11, '2500', 'None', 'None', 'wg') _wb = eza2500_util.q_denormalize(_wb, 11, '2500', 'None', 'None', 'wb') _tmp = eza2500_util.q_denormalize(_tmp, 7, '1', 'None', 'None', 'tmp') res["vg"] = _vg res["ig"] = _ig res["vb"] = _vb res["ib"] = _ib res["wg"] = _wg res["wb"] = _wb res["ic"] = _ic res["tmp"] = _tmp res["chksum"] = _chksum self.response = res elif _cmd == 0x89: #NAK (_ercd, _chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x1c: #ACK (_cib, _dig, _ubv, _ugv, _obv, _ogv, _chksum) = unpack("<HHHHHHH", recv_data[5:]) _cib = eza2500_util.q_denormalize(_cib, 13, '52.08', '0', '56.77', 'cib') _dig = eza2500_util.q_denormalize(_dig, 13, '7.8125', '0', '8.5162', 'dig') _ubv = eza2500_util.q_denormalize(_ubv, 14, '48', '32', '68', 'ubv') _ugv = eza2500_util.q_denormalize(_ugv, 14, '380', '260', '425', 'ugv') _obv = eza2500_util.q_denormalize(_obv, 14, '48', '32', '68', 'obv') _ogv = eza2500_util.q_denormalize(_ogv, 14, '380', '260', '425', 'ogv') res["cib"] = _cib res["dig"] = _dig res["ubv"] = _ubv res["ugv"] = _ugv res["obv"] = _obv res["ogv"] = _ogv res["chksum"] = _chksum self.response = res elif _cmd == 0x9c: #NAK (_ercd, _chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def recv(self): essx_debug.log('recv') recv_data = self._recv() self.response_raw = recv_data res = {} (_sfd, _len, _ad1, _ad2, _cmd) = unpack("BBBBB", recv_data[0:5]) if _cmd == 0x0a: #ACK (_ts ,_tp ,_v5s ,_fan1 ,_fan2 ,_fan3 ,_fan4 ,_fan5 ,_chksum) = unpack("<hhhhhhhhH", recv_data[5:]) _v5s = eza2500_util.q_denormalize(_v5s, 10, '1', 'None', 'None', 'v5s') _fan1 = eza2500_util.q_denormalize(_fan1, 0, '1', 'None', 'None', 'fan1') _fan2 = eza2500_util.q_denormalize(_fan2, 0, '1', 'None', 'None', 'fan2') _fan3 = eza2500_util.q_denormalize(_fan3, 0, '1', 'None', 'None', 'fan3') _fan4 = eza2500_util.q_denormalize(_fan4, 0, '1', 'None', 'None', 'fan4') _fan5 = eza2500_util.q_denormalize(_fan5, 0, '1', 'None', 'None', 'fan5') res["ts"] = _ts res["tp"] = _tp res["v5s"] = _v5s res["fan1"] = _fan1 res["fan2"] = _fan2 res["fan3"] = _fan3 res["fan4"] = _fan4 res["fan5"] = _fan5 res["chksum"] = _chksum self.response = res elif _cmd == 0x8a: #NAK (_ercd ,_chksum) = unpack("<HH", recv_data[5:]) res["ercd"] = _ercd res["chksum"] = _chksum self.response = res raise ESSXDeviceException("error: ERCD=%x" % _ercd) else: raise ESSXValueException("bad response") self.response = res essx_debug.log('recv') #essx_debug.dump(recv_data) return recv_data
def send(self, ad1, ad2, params={}): send_data = self.pack_senddata(ad1, ad2, params) essx_debug.log('send') essx_debug.dump(send_data) self.device.write(send_data) return send_data
def _battery_watchdog(self): """ 10秒に一回バッテリの融通チェックをする """ essx_debug.log("watchdog start") while self.battery_watchdog_running: if self.bat_config == None: time.sleep(10) continue essx_debug.log("watchdog") essx_debug.log(self.bat_config['config']) if 'force_dcdc_waiting' in self.bat_config[ 'config'] and self.bat_config['config'][ 'force_dcdc_waiting'] == True: (rsoc, bos, comm_err) = self._check_battery() essx_debug.log("rsoc " + str(rsoc)) essx_debug.log("bos " + str(bos)) if bos == 0: essx_debug.log("->waiting") self.run(self.com0104, {'mode': self.checkOperationMode_2500(0)}) time.sleep(10) essx_debug.log("watchdog stop")