Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
log_frame.h File Reference

Shared frame logging helpers for IO-Homecontrol. More...

#include "proto_frame.h"
#include "redaction.h"
#include "esphome/core/log.h"
#include <cinttypes>
#include <cstdarg>
#include <cstddef>
#include <cstdint>
#include <cstdio>
Include dependency graph for log_frame.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  esphome::home_io_control::FrameLogBuffer
 Keeps frame-log lines back while the hub answers a device, and prints them afterwards. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Enumerations

enum class  esphome::home_io_control::FrameLogLevel : uint8_t { esphome::home_io_control::WARN , esphome::home_io_control::INFO , esphome::home_io_control::DEBUG }
 Log level of one frame-log line, kept with the line while it is held. More...

Functions

void esphome::home_io_control::bytes_to_hex (const uint8_t *data, uint8_t len, char *out, size_t out_size)
void esphome::home_io_control::decode_ctrl1_flags (uint8_t ctrl1, char *out, size_t out_size)
 Render decoded CTRL1 flags into a short annotation string.
void esphome::home_io_control::render_frame_hex_redacted (const uint8_t *data, uint8_t len, char *out, size_t out_size)
 Render a frame's bytes as spaced hex text, masking the payload when the command carries key material (see command_carries_key_material()).
void esphome::home_io_control::frame_log_hold ()
void esphome::home_io_control::frame_log_flush ()
void esphome::home_io_control::frame_log_release ()

Variables

constexpr size_t esphome::home_io_control::FRAME_LOG_HEX_BUFFER_SIZE = 220
 Fits a full 32-byte frame rendered as spaced hex text.
constexpr size_t esphome::home_io_control::FRAME_LOG_FLAGS_BUFFER_SIZE = 32
 Buffer for decoded CTRL1 flag annotations.
constexpr size_t esphome::home_io_control::FRAME_LOG_HELD_LINES = 6
 Lines one hold can keep.
constexpr size_t esphome::home_io_control::FRAME_LOG_NOTE_SIZE = 64
 The overflow note flush() prints when lines did not fit.
constexpr size_t esphome::home_io_control::FRAME_LOG_LINE_SIZE = FRAME_LOG_HEX_BUFFER_SIZE + 96
 One rendered frame-log line: the hex dump plus its prefix, frequency, command and flags.

Detailed Description

Shared frame logging helpers for IO-Homecontrol.

Definition in file log_frame.h.