X-Git-Url: https://code.kerkeslager.com/?p=sandbox;a=blobdiff_plain;f=serial%2Fbinary.py;h=d3620925b0ad9b776f47d60f4c07a324bedf804c;hp=c4693dbf494d4ae1a1d3109e6a519aa64993b707;hb=b6d57a88f0a8ff62152e5a2148f77e10bf7bccbe;hpb=52098cc5feb485d38a03619bead2ebe79d8d804d diff --git a/serial/binary.py b/serial/binary.py index c4693db..d362092 100644 --- a/serial/binary.py +++ b/serial/binary.py @@ -10,6 +10,10 @@ TAG_UINT8 = 0x03 TAG_UINT16 = 0x04 TAG_UINT32 = 0x05 TAG_UINT64 = 0x06 +TAG_INT8 = 0x10 +TAG_INT16 = 0x11 +TAG_INT32 = 0x12 +TAG_INT64 = 0x13 TaggedObject = collections.namedtuple( 'TaggedObject', @@ -45,6 +49,10 @@ _TAGS_TO_SERIALIZERS = { TAG_UINT16: _make_struct_serializer('H'), TAG_UINT32: _make_struct_serializer('I'), TAG_UINT64: _make_struct_serializer('Q'), + TAG_INT8: _make_struct_serializer('b'), + TAG_INT16: _make_struct_serializer('h'), + TAG_INT32: _make_struct_serializer('i'), + TAG_INT64: _make_struct_serializer('q'), } def serialize(to): @@ -76,6 +84,10 @@ _TAGS_TO_PARSERS = { TAG_UINT16: _make_struct_deserializer(TAG_UINT16, 'H'), TAG_UINT32: _make_struct_deserializer(TAG_UINT32, 'I'), TAG_UINT64: _make_struct_deserializer(TAG_UINT64, 'Q'), + TAG_INT8: _make_struct_deserializer(TAG_INT8, 'b'), + TAG_INT16: _make_struct_deserializer(TAG_INT16, 'h'), + TAG_INT32: _make_struct_deserializer(TAG_INT32, 'i'), + TAG_INT64: _make_struct_deserializer(TAG_INT64, 'q'), } def deserialize(b):