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

Method write_data

cflib/crazyflie/mem/ow_element.py:109–134  ·  view source on GitHub ↗
(self, write_finished_cb)

Source from the content-addressed store, hash-verified

107 self._write_finished_cb = None
108
109 def write_data(self, write_finished_cb):
110 # First generate the header part
111 header_data = struct.pack('<BIBB', 0xEB, self.pins, self.vid, self.pid)
112 header_crc = crc32(header_data) & 0x0ff
113 header_data += struct.pack('B', header_crc)
114
115 # Now generate the elements part
116 elem = bytearray()
117 logger.debug(list(self.elements.keys()))
118 for element in reversed(list(self.elements.keys())):
119 elem_string = self.elements[element]
120 key_encoding = self._rev_element_mapping[element]
121 elem += struct.pack('BB', key_encoding, len(elem_string))
122 elem += bytearray(elem_string.encode('ISO-8859-1'))
123
124 elem_data = struct.pack('BB', 0x00, len(elem))
125 elem_data += elem
126 elem_crc = crc32(elem_data) & 0x0ff
127 elem_data += struct.pack('B', elem_crc)
128
129 data = header_data + elem_data
130
131 self.mem_handler.write(self, 0x00,
132 struct.unpack('B' * len(data), data))
133
134 self._write_finished_cb = write_finished_cb
135
136 def erase(self, write_finished_cb):
137 erase_data = array('B', [0xFF] * 112)

Callers 8

basicLedmemSync.pyFile · 0.45
basicLedTiming.pyFile · 0.45
uploadMethod · 0.45
_connectedMethod · 0.45
flash-memory.pyFile · 0.45
_connectedMethod · 0.45
uploadMethod · 0.45

Calls 1

writeMethod · 0.80

Tested by 1