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

Method new_data

cflib/crazyflie/mem/ow_element.py:62–86  ·  view source on GitHub ↗

Callback for when new memory data has been fetched

(self, mem, addr, data)

Source from the content-addressed store, hash-verified

60 self._rev_element_mapping[OWElement.element_mapping[key]] = key
61
62 def new_data(self, mem, addr, data):
63 """Callback for when new memory data has been fetched"""
64 if mem.id == self.id:
65 if addr == 0:
66 if self._parse_and_check_header(data[0:8]):
67 if self._parse_and_check_elements(data[9:11]):
68 self.valid = True
69 self._update_finished_cb(self)
70 self._update_finished_cb = None
71 else:
72 # We need to fetch the elements, find out the length
73 (elem_ver, elem_len) = struct.unpack('BB', data[8:10])
74 self.mem_handler.read(self, 8, elem_len + 3)
75 else:
76 # Call the update if the CRC check of the header fails,
77 # we're done here
78 if self._update_finished_cb:
79 self._update_finished_cb(self)
80 self._update_finished_cb = None
81 elif addr == 0x08:
82 if self._parse_and_check_elements(data):
83 self.valid = True
84 if self._update_finished_cb:
85 self._update_finished_cb(self)
86 self._update_finished_cb = None
87
88 def _parse_and_check_elements(self, data):
89 """

Callers

nothing calls this directly

Calls 3

readMethod · 0.80

Tested by

no test coverage detected