소스 검색

[modbus] shift orders for negative values

Maxime Alves LIRMM@home 3 년 전
부모
커밋
0b8e743120
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5
    1
      pyheatpump/modbus.py

+ 5
- 1
pyheatpump/modbus.py 파일 보기

@@ -134,10 +134,14 @@ def write_holding_register(var_value):
134 134
     )
135 135
 
136 136
     try:
137
+        casted_value = int(var_value.value) + (1 << 16)
138
+            if (var_value.value < 0)
139
+            else int(var_value.value)
140
+
137 141
         req_adu = rtu.write_single_register(
138 142
             slave_id=1,
139 143
             address=var_value.address,
140
-            value=var_value.value)
144
+            value=casted_value)
141 145
         response = rtu.send_message(req_adu, serial_conn)
142 146
         logger.debug('write_holding_register, addres: %s, response: %s',
143 147
                 var_value.address, response)

Loading…
취소
저장