Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Закодируйте до 4096 байтов данных в кадр SLIP с ограничителем на обоих концах. Проверьте пустой ввод и экранируйте каждый байт 0xC0 и 0xDB, отклоняя слишком длинные данные и входы другого типа до кодирования.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
def slip_frame(payload):
if type(payload) is not bytes or len(payload) > 4096:
raise ValueError("slip.payload")
frame = bytearray([0xC0])
for value in payload:
if value == 0xC0:
frame.extend((0xDB, 0xDC))
elif value == 0xDB:
frame.extend((0xDB, 0xDD))
else:
frame.append(value)
frame.append(0xC0)
return bytes(frame)Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.