Comms CCF
This is a simple communication layer based on COBS, CBOR and FNV-1A
Loading...
Searching...
No Matches
ccf.hpp File Reference

Top-level interface. More...

#include "circular_buffer.hpp"
#include "cbor.hpp"
#include "cobs.hpp"
#include "fnv1a.hpp"
#include "ndebug.hpp"
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <iterator>
#include <optional>
#include <span>
#include "debug_end.hpp"

Go to the source code of this file.

Classes

struct  CcfConfig
class  Ccf< Config >

Enumerations

enum class  Channels : uint8_t { Rpc = 0 , Log = 1 , Trace = 2 }
enum class  LogLevel : uint8_t { Debug , Info , Warn , Error }

Detailed Description

Top-level interface.

CCF – Bringing It Together

This header brings the separate parts (COBS, CBOR, FNV-1A and the circular buffer) together to be able to do RPC calls.

DEFERRED_FORMATTING

The compile-flag DEFERRED_FORMATTING means you can avoid compiling using the printf family of functions, instead we send the format string and arguments encoded using CBOR and the host-side does the formatting, i.e. the Python % formatting. For most uses the output should be equivalent, but there might be some differences between the Python and C format strings.

Enumeration Type Documentation

◆ Channels

enum class Channels : uint8_t
strong
Enumerator
Trace 
Todo
In-place trace tag to save bytes on trace data?