@@ -33,7 +33,7 @@ class PdoBase(Mapping):
3333
3434 def __init__ (self , node ):
3535 self .network : Optional [Network ] = None
36- self .map = None # instance of Maps
36+ self .map = None # instance of PdoMaps
3737 self .node = node
3838
3939 def __iter__ (self ):
@@ -140,7 +140,7 @@ def stop(self):
140140 pdo_map .stop ()
141141
142142
143- class Maps (Mapping ):
143+ class PdoMaps (Mapping [ int , "PdoMap" ] ):
144144 """A collection of transmit or receive maps."""
145145
146146 def __init__ (self , com_offset , map_offset , pdo_node : PdoBase , cob_base = None ):
@@ -150,10 +150,10 @@ def __init__(self, com_offset, map_offset, pdo_node: PdoBase, cob_base=None):
150150 :param pdo_node:
151151 :param cob_base:
152152 """
153- self .maps : Dict [int , "Map " ] = {}
153+ self .maps : Dict [int , "PdoMap " ] = {}
154154 for map_no in range (512 ):
155155 if com_offset + map_no in pdo_node .node .object_dictionary :
156- new_map = Map (
156+ new_map = PdoMap (
157157 pdo_node ,
158158 pdo_node .node .sdo [com_offset + map_no ],
159159 pdo_node .node .sdo [map_offset + map_no ])
@@ -162,7 +162,7 @@ def __init__(self, com_offset, map_offset, pdo_node: PdoBase, cob_base=None):
162162 new_map .predefined_cob_id = cob_base + map_no * 0x100 + pdo_node .node .id
163163 self .maps [map_no + 1 ] = new_map
164164
165- def __getitem__ (self , key : int ) -> "Map " :
165+ def __getitem__ (self , key : int ) -> "PdoMap " :
166166 return self .maps [key ]
167167
168168 def __iter__ (self ) -> Iterable [int ]:
@@ -172,7 +172,7 @@ def __len__(self) -> int:
172172 return len (self .maps )
173173
174174
175- class Map :
175+ class PdoMap :
176176 """One message which can have up to 8 bytes of variables mapped."""
177177
178178 def __init__ (self , pdo_node : PdoBase , com_record , map_array ):
@@ -211,6 +211,9 @@ def __init__(self, pdo_node: PdoBase, com_record, map_array):
211211 self .is_received : bool = False
212212 self ._task = None
213213
214+ def __repr__ (self ) -> str :
215+ return f"<{ type (self ).__qualname__ } { self .name !r} at COB-ID 0x{ self .cob_id } >"
216+
214217 def __getitem_by_index (self , value ):
215218 valid_values = []
216219 for var in self .map :
@@ -340,12 +343,12 @@ async def aon_message(self, can_id, data, timestamp):
340343 if res is not None and asyncio .iscoroutine (res ):
341344 await res
342345
343- def add_callback (self , callback : Callable [["Map " ], None ]) -> None :
346+ def add_callback (self , callback : Callable [["PdoMap " ], None ]) -> None :
344347 """Add a callback which will be called on receive.
345348
346349 :param callback:
347350 The function to call which must take one argument of a
348- :class:`~canopen.pdo.Map `.
351+ :class:`~canopen.pdo.PdoMap `.
349352 """
350353 self .callbacks .append (callback )
351354
@@ -734,3 +737,5 @@ async def aset_data(self, data: bytes):
734737
735738# For compatibility
736739Variable = PdoVariable
740+ Maps = PdoMaps
741+ Map = PdoMap
0 commit comments