Files
CIP-Devices/common.py
2017-05-19 17:01:48 -05:00

39 lines
1.1 KiB
Python

"""Hold common functions for CIP messaging."""
from datetime import datetime
def reverse_parameter_name(lower_underscore):
"""Reverse the parameter lookup process."""
lower_split = lower_underscore.split("_")
upper_split = [x[0].upper() + x[1:] for x in lower_split]
return " ".join(upper_split)
def bitfield(n):
"""Distribute integer into bits."""
binary_with_padding = "0"*32 + bin(int(n))[2:]
binary = binary_with_padding[-32:]
bin_array = [1 if digit == '1' else 0 for digit in binary]
bin_array.reverse()
return bin_array
class CIP_value(object):
"""Value of vfd parameter."""
def __init__(self, name, units):
"""Initialize VFD Parameter."""
self.name = name
self.value = None
self.timestamp = 0
self.units = units
def update(self, value):
"""Update the current value."""
self.value = value
self.timestamp = datetime.now()
def __str__(self):
"""Represent as a string."""
return "name: {}, value: {} {}, timestamp: {}".format(self.name, self.value, self.units, self.timestamp)