code: def create(self):
          
          pk = CRTPPacket()
          pk.set_header(5, CHAN_SETTINGS)
          if self.useV2:
              pk.data = (CMD_CREATE_BLOCK_V2, self.id)
          else:
              pk.data = (CMD_CREATE_BLOCK, self.id)
          for var in self.variables:
              if (var.is_toc_variable() is False):  # Memory location
                  logger.debug('Logging to raw memory %d, 0x%04X',
                               var.get_storage_and_fetch_byte(), var.address)
                  pk.data.append(struct.pack('<B',
                                             var.get_storage_and_fetch_byte()))
                  pk.data.append(struct.pack('<I', var.address))
              else:  # Item in TOC
                  logger.debug('Adding %s with id=%d and type=0x%02X',
                               var.name,
                               self.cf.log.toc.get_element_id(
                                   var.name), var.get_storage_and_fetch_byte())
                  pk.data.append(var.get_storage_and_fetch_byte())
                  if self.useV2:
                      ident = self.cf.log.toc.get_element_id(var.name)
                      pk.data.append(ident & 0x0ff)
                      pk.data.append((ident >> 8) & 0x0ff)
                  else:
                      pk.data.append(self.cf.log.toc.get_element_id(var.name))
          logger.debug('Adding log block id {}'.format(self.id))
          if self.useV2:
              self.cf.send_packet(pk, expected_reply=(
                  CMD_CREATE_BLOCK_V2, self.id))
          else:
              self.cf.send_packet(pk, expected_reply=(CMD_CREATE_BLOCK, self.id))
docs: Save the log configuration in the Crazyflie