File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed
Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -66,7 +66,11 @@ def init_upload(self, request):
6666
6767 data = self ._node .get_data (index , subindex , check_readable = True )
6868 size = len (data )
69- if size <= 4 :
69+ if size == 0 :
70+ logger .info ("No content to upload for 0x%04X:%02X" , index , subindex )
71+ self .abort (0x0800_0024 )
72+ return
73+ elif size <= 4 :
7074 logger .info ("Expedited upload for 0x%04X:%02X" , index , subindex )
7175 res_command |= EXPEDITED
7276 res_command |= (4 - size ) << 2
Original file line number Diff line number Diff line change @@ -62,6 +62,13 @@ def test_expedited_upload_default_value_real(self):
6262 sampling_rate = self .remote_node .sdo ["Sensor Sampling Rate (Hz)" ].raw
6363 self .assertAlmostEqual (sampling_rate , 5.2 , places = 2 )
6464
65+ def test_upload_zero_length (self ):
66+ self .local_node .sdo ["Manufacturer device name" ].raw = b""
67+ with self .assertRaises (canopen .SdoAbortedError ) as error :
68+ self .remote_node .sdo ["Manufacturer device name" ].data
69+ # Should be No data available
70+ self .assertEqual (error .exception .code , 0x0800_0024 )
71+
6572 def test_segmented_upload (self ):
6673 self .local_node .sdo ["Manufacturer device name" ].raw = "Some cool device"
6774 device_name = self .remote_node .sdo ["Manufacturer device name" ].data
You can’t perform that action at this time.
0 commit comments