Skip to content

Commit 883af8a

Browse files
committed
Added pretty_index on logging entries
1 parent 7129fed commit 883af8a

File tree

7 files changed

+29
-24
lines changed

7 files changed

+29
-24
lines changed

canopen/node/local.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from canopen.nmt import NmtSlave
88
from canopen.emcy import EmcyProducer
99
from canopen.objectdictionary import ObjectDictionary
10+
from canopen.utils import pretty_index
1011
from canopen import objectdictionary
1112

1213
logger = logging.getLogger(__name__)
@@ -86,7 +87,7 @@ def get_data(
8687
return obj.encode_raw(obj.default)
8788

8889
# Resource not available
89-
logger.info("Resource unavailable for 0x%04X:%02X", index, subindex)
90+
logger.info("Resource unavailable for %s", pretty_index(index, subindex))
9091
raise SdoAbortedError(0x060A0023)
9192

9293
def set_data(

canopen/node/remote.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from canopen.pdo import TPDO, RPDO, PDO
88
from canopen.objectdictionary import ODRecord, ODArray, ODVariable, ObjectDictionary
99
from canopen.node.base import BaseNode
10+
from canopen.utils import pretty_index
1011

1112
logger = logging.getLogger(__name__)
1213

@@ -122,13 +123,13 @@ def __load_configuration_helper(self, index, subindex, name, value):
122123
"""
123124
try:
124125
if subindex is not None:
125-
logger.info('SDO [0x%04X][0x%02X]: %s: %#06x',
126-
index, subindex, name, value)
126+
logger.info('SDO [%s]: %s: %#06x',
127+
pretty_index(index, subindex), name, value)
127128
self.sdo[index][subindex].raw = value
128129
else:
129130
self.sdo[index].raw = value
130-
logger.info('SDO [0x%04X]: %s: %#06x',
131-
index, name, value)
131+
logger.info('SDO [%s]: %s: %#06x',
132+
pretty_index(index), name, value)
132133
except SdoCommunicationError as e:
133134
logger.warning(str(e))
134135
except SdoAbortedError as e:
@@ -137,8 +138,8 @@ def __load_configuration_helper(self, index, subindex, name, value):
137138
if e.code != 0x06010002:
138139
# Abort codes other than "Attempt to write a read-only object"
139140
# should still be reported.
140-
logger.warning('[ERROR SETTING object 0x%04X:%02X] %s',
141-
index, subindex, e)
141+
logger.warning('[ERROR SETTING object %s] %s',
142+
pretty_index(index, subindex), e)
142143
raise
143144

144145
def load_configuration(self):

canopen/pdo/base.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from canopen.sdo import SdoAbortedError
99
from canopen import objectdictionary
1010
from canopen import variable
11+
from canopen.utils import pretty_index
1112

1213
PDO_NOT_VALID = 1 << 31
1314
RTR_NOT_ALLOWED = 1 << 30
@@ -398,8 +399,8 @@ def save(self) -> None:
398399
self._fill_map(self.map_array[0].raw)
399400
subindex = 1
400401
for var in self.map:
401-
logger.info("Writing %s (0x%04X:%02X, %d bits) to PDO map",
402-
var.name, var.index, var.subindex, var.length)
402+
logger.info("Writing %s (%s, %d bits) to PDO map",
403+
var.name, pretty_index(var.index, var.subindex), var.length)
403404
if hasattr(self.pdo_node.node, "curtis_hack") and self.pdo_node.node.curtis_hack: # Curtis HACK: mixed up field order
404405
self.map_array[subindex].raw = (var.index |
405406
var.subindex << 16 |
@@ -467,8 +468,8 @@ def add_variable(
467468
# We want to see the bit fields within the PDO
468469
start_bit = var.offset
469470
end_bit = start_bit + var.length - 1
470-
logger.info("Adding %s (0x%04X:%02X) at bits %d - %d to PDO map",
471-
var.name, var.index, var.subindex, start_bit, end_bit)
471+
logger.info("Adding %s (%s) at bits %d - %d to PDO map",
472+
var.name, pretty_index(var.index, var.subindex), start_bit, end_bit)
472473
self.map.append(var)
473474
self.length += var.length
474475
except KeyError as exc:

canopen/profiles/p402.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from canopen.node import RemoteNode
66
from canopen.sdo import SdoCommunicationError
7+
from canopen.utils import pretty_index
78

89
logger = logging.getLogger(__name__)
910

@@ -249,7 +250,7 @@ def _init_tpdo_values(self):
249250
if tpdo.enabled:
250251
tpdo.add_callback(self.on_TPDOs_update_callback)
251252
for obj in tpdo:
252-
logger.debug('Configured TPDO: %s', obj.index)
253+
logger.debug('Configured TPDO: %s', pretty_index(obj.index))
253254
if obj.index not in self.tpdo_values:
254255
self.tpdo_values[obj.index] = 0
255256
self.tpdo_pointers[obj.index] = obj
@@ -260,7 +261,7 @@ def _init_rpdo_pointers(self):
260261
for rpdo in self.rpdo.values():
261262
if rpdo.enabled:
262263
for obj in rpdo:
263-
logger.debug('Configured RPDO: %s', obj.index)
264+
logger.debug('Configured RPDO: %s', pretty_index(obj.index))
264265
if obj.index not in self.rpdo_pointers:
265266
self.rpdo_pointers[obj.index] = obj
266267

canopen/sdo/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def __init__(self, sdo_client, index, subindex=0):
245245
self._toggle = 0
246246
self.pos = 0
247247

248-
logger.debug("Reading 0x%04X:%02X from node %d", index, subindex,
248+
logger.debug("Reading %s from node %d", pretty_index(index, subindex),
249249
sdo_client.rx_cobid - 0x600)
250250
request = bytearray(8)
251251
SDO_STRUCT.pack_into(request, 0, REQUEST_UPLOAD, index, subindex)
@@ -474,7 +474,7 @@ def __init__(self, sdo_client, index, subindex=0, request_crc_support=True):
474474
self._ackseq = 0
475475
self._error = False
476476

477-
logger.debug("Reading 0x%04X:%02X from node %d", index, subindex,
477+
logger.debug("Reading %s from node %d", pretty_index(index, subindex),
478478
sdo_client.rx_cobid - 0x600)
479479
# Initiate Block Upload
480480
request = bytearray(8)
@@ -644,7 +644,7 @@ def __init__(self, sdo_client, index, subindex=0, size=None, request_crc_support
644644
if request_crc_support:
645645
command |= CRC_SUPPORTED
646646
request = bytearray(8)
647-
logger.info("Initiating block download for 0x%04X:%02X", index, subindex)
647+
logger.info("Initiating block download for %s", pretty_index(index, subindex))
648648
if size is not None:
649649
logger.debug("Expected size of data is %d bytes", size)
650650
command |= BLOCK_SIZE_SPECIFIED

canopen/sdo/server.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from canopen.sdo.base import SdoBase
44
from canopen.sdo.constants import *
55
from canopen.sdo.exceptions import *
6+
from canopen.utils import pretty_index
67

78
logger = logging.getLogger(__name__)
89

@@ -66,12 +67,12 @@ def init_upload(self, request):
6667
data = self._node.get_data(index, subindex, check_readable=True)
6768
size = len(data)
6869
if size <= 4:
69-
logger.info("Expedited upload for 0x%04X:%02X", index, subindex)
70+
logger.info("Expedited upload for %s", pretty_index(index, subindex))
7071
res_command |= EXPEDITED
7172
res_command |= (4 - size) << 2
7273
response[4:4 + size] = data
7374
else:
74-
logger.info("Initiating segmented upload for 0x%04X:%02X", index, subindex)
75+
logger.info("Initiating segmented upload for %s", pretty_index(index, subindex))
7576
struct.pack_into("<L", response, 4, size)
7677
self._buffer = bytearray(data)
7778
self._toggle = 0
@@ -115,7 +116,8 @@ def block_upload(self, data):
115116
def request_aborted(self, data):
116117
_, index, subindex, code = struct.unpack_from("<BHBL", data)
117118
self.last_received_error = code
118-
logger.info("Received request aborted for 0x%04X:%02X with code 0x%X", index, subindex, code)
119+
logger.info("Received request aborted for %s with code 0x%X",
120+
pretty_index(index, subindex), code)
119121

120122
def block_download(self, data):
121123
# We currently don't support BLOCK DOWNLOAD
@@ -131,14 +133,14 @@ def init_download(self, request):
131133
response = bytearray(8)
132134

133135
if command & EXPEDITED:
134-
logger.info("Expedited download for 0x%04X:%02X", index, subindex)
136+
logger.info("Expedited download for %s", pretty_index(index, subindex))
135137
if command & SIZE_SPECIFIED:
136138
size = 4 - ((command >> 2) & 0x3)
137139
else:
138140
size = 4
139141
self._node.set_data(index, subindex, request[4:4 + size], check_writable=True)
140142
else:
141-
logger.info("Initiating segmented download for 0x%04X:%02X", index, subindex)
143+
logger.info("Initiating segmented download for %s", pretty_index(index, subindex))
142144
if command & SIZE_SPECIFIED:
143145
size, = struct.unpack_from("<L", request, 4)
144146
logger.info("Size is %d bytes", size)

canopen/variable.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@ def raw(self) -> Union[int, bool, float, str, bytes]:
8585

8686
@raw.setter
8787
def raw(self, value: Union[int, bool, float, str, bytes]):
88-
logger.debug("Writing %r (0x%04X:%02X) = %r",
89-
self.name, self.index,
90-
self.subindex, value)
88+
logger.debug("Writing %r (%s) = %r",
89+
self.name, pretty_index(self.index, self.subindex), value)
9190
self.data = self.od.encode_raw(value)
9291

9392
@property

0 commit comments

Comments
 (0)