MCPcopy Create free account
hub / github.com/bitcraze/crazyflie-lib-python / _update_mapping

Method _update_mapping

cflib/bootloader/cloader.py:291–311  ·  view source on GitHub ↗
(self, target_id)

Source from the content-addressed store, hash-verified

289 return False
290
291 def _update_mapping(self, target_id):
292 pk = CRTPPacket()
293 pk.set_header(0xff, 0xff)
294 pk.data = (target_id, 0x12)
295 self.link.send_packet(pk)
296
297 pk = self.link.receive_packet(2)
298
299 if (pk and pk.header == 0xFF and struct.unpack('<BB', pk.data[0:2]) ==
300 (target_id, 0x12)):
301 m = pk.datat[2:]
302
303 if (len(m) % 2) != 0:
304 raise Exception('Malformed flash mapping packet')
305
306 self.mapping = []
307 page = 0
308 for i in range(int(len(m) / 2)):
309 for j in range(m[2 * i]):
310 self.mapping.append(page)
311 page += m[(2 * i) + 1]
312
313 def upload_buffer(self, target_id, page, address, buff):
314 """Upload data into a buffer on the Crazyflie"""

Callers 1

_update_infoMethod · 0.95

Calls 4

set_headerMethod · 0.95
CRTPPacketClass · 0.90
send_packetMethod · 0.45
receive_packetMethod · 0.45

Tested by

no test coverage detected