@@ -164,8 +164,8 @@ def handleNotification(self, handle, data):
164
164
# FragmentAck?
165
165
# FIXME: hack
166
166
if fragment .status == 0x80 and fragment .payload [0 ] == 0x00 :
167
- if fragment .payload [1 ] = = self ._send_fragments [self ._send_fragment_index ][0 ]:
168
- LOG .info ("Received unknown FragmentAck" )
167
+ if fragment .payload [1 ] ! = self ._send_fragments [self ._send_fragment_index ][0 ]:
168
+ LOG .err ("Received unknown FragmentAck" )
169
169
return
170
170
else :
171
171
LOG .info ("Received correct FragmentAck" )
@@ -239,14 +239,18 @@ def on_enter_send(self):
239
239
return
240
240
241
241
self ._send_fragment_index += 1
242
- self ._send_fragment_try = 1
243
- self ._send_pdu (self ._send_fragments [self ._send_fragment_index ])
244
- if len (self ._send_fragments ) >= self ._send_fragment_index + 1 :
242
+ self ._send_fragment_try = 0
243
+
244
+ LOG .debug ("send_fragment %d %d" , len (self ._send_fragments ), self ._send_fragment_index )
245
+
246
+ if len (self ._send_fragments ) <= self ._send_fragment_index + 1 :
247
+ self ._send_pdu (self ._send_fragments [self ._send_fragment_index ])
245
248
# last message
246
249
self .ev_finished ()
247
250
else :
248
251
# when not the last message, we're expecting an FragmentAck
249
252
self .ev_send_fragment ()
253
+ self ._send_pdu (self ._send_fragments [self ._send_fragment_index ])
250
254
251
255
def on_timeout_wait_ack (self ):
252
256
# resend
@@ -274,6 +278,9 @@ def on_enter_disconnect(self):
274
278
del self ._ble_node
275
279
self ._ble_node = None
276
280
281
+ def on_enter_wait_ack (self ):
282
+ pass
283
+
277
284
def _connect (self ):
278
285
self ._ble_node .connect (self ._mac )
279
286
self ._ble_node .getServices ()
0 commit comments