// // Rename to TF_Config.h // #ifndef TF_CONFIG_H #define TF_CONFIG_H #include "platform.h" #include //#include // when using with esphttpd //----------------------------- FRAME FORMAT --------------------------------- // The format can be adjusted to fit your particular application needs // If the connection is reliable, you can disable the SOF byte and checksums. // That can save up to 9 bytes of overhead. // ,-----+----+-----+------+------------+- - - -+------------, // | SOF | ID | LEN | TYPE | HEAD_CKSUM | DATA | PLD_CKSUM | // | 1 | ? | ? | ? | ? | ... | ? | <- size (bytes) // '-----+----+-----+------+------------+- - - -+------------' // !!! BOTH SIDES MUST USE THE SAME SETTINGS !!! // Adjust sizes as desired (1,2,4) #define TF_ID_BYTES 2 #define TF_LEN_BYTES 2 #define TF_TYPE_BYTES 1 // Checksum type //#define TF_CKSUM_TYPE TF_CKSUM_NONE #define TF_CKSUM_TYPE TF_CKSUM_XOR //#define TF_CKSUM_TYPE TF_CKSUM_CRC16 //#define TF_CKSUM_TYPE TF_CKSUM_CRC32 // Use a SOF byte to mark the start of a frame #define TF_USE_SOF_BYTE 1 // Value of the SOF byte (if TF_USE_SOF_BYTE == 1) #define TF_SOF_BYTE 0x01 //----------------------- PLATFORM COMPATIBILITY ---------------------------- // used for timeout tick counters - should be large enough for all used timeouts typedef uint16_t TF_TICKS; // used in loops iterating over listeners typedef uint8_t TF_COUNT; //----------------------------- PARAMETERS ---------------------------------- // Maximum received payload size (static buffer) // Larger payloads will be rejected. #define TF_MAX_PAYLOAD_RX 640 // Size of the sending buffer. Larger payloads will be split to pieces and sent // in multiple calls to the write function. This can be lowered to reduce RAM usage. #define TF_SENDBUF_LEN 64 // --- Listener counts - determine sizes of the static slot tables --- // Frame ID listeners (wait for response / multi-part message) #define TF_MAX_ID_LST 4 // Frame Type listeners (wait for frame with a specific first payload byte) #define TF_MAX_TYPE_LST 5 // Generic listeners (fallback if no other listener catches it) #define TF_MAX_GEN_LST 1 // Timeout for receiving & parsing a frame // ticks = number of calls to TF_Tick() #define TF_PARSER_TIMEOUT_TICKS 250 //------------------------- End of user config ------------------------------ #endif //TF_CONFIG_H