# If you need to decode a collection of registers in a weird layout, the # payload decoder can help you as well. # # Here we demonstrate decoding a random register layout, unpacked it looks # like the following: # # - a 8 byte string 'abcdefgh' # - a 32 bit float 22.34 # - a 16 bit unsigned int 0x1234 # - an 8 bit int 0x12 # - an 8 bit bitstring [0,1,0,1,1,0,1,0] #---------------------------------------------------------------------------# address = 0x01 count = 8 result = client.read_input_registers(address, count) decoder = PayloadDecoder.fromRegisters(result.registers, endian=Endian.Little) decoded = [ decoder.decode_string(8), decoder.decode_32bit_float(), decoder.decode_16bit_uint(), decoder.decode_8bit_int(), decoder.decode_bits(), ] for decode in decoded: print decode #---------------------------------------------------------------------------# # close the client #---------------------------------------------------------------------------# client.close()