From 424310d957cb04bfacba9c711ee7f074fd41f962 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 27 Nov 2020 13:38:56 +0100 Subject: demo fw WIP --- prototype/fw/src/microcobs.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'prototype/fw/src/microcobs.c') diff --git a/prototype/fw/src/microcobs.c b/prototype/fw/src/microcobs.c index aea199e..5007344 100644 --- a/prototype/fw/src/microcobs.c +++ b/prototype/fw/src/microcobs.c @@ -7,15 +7,15 @@ ssize_t cobs_encode_sg(const struct sg_entry input[], uint8_t *output, size_t ou { size_t idx_pos = 0; size_t out_pos = 1; - size_t sg_idx = 0; + ssize_t sg_idx = 0; const struct sg_entry *e = input; - fprintf(stderr, "\nsg_entry %016x %zd\n", e->target, e->size); + /* fprintf(stderr, "\nsg_entry %016x %zd\n", e->target, e->size); */ while (e->size >= 0) { if (sg_idx == e->size) { sg_idx = 0; e++; - fprintf(stderr, "\nsg_entry %016x %zd\n", e->target, e->size); + /* fprintf(stderr, "\nsg_entry %016x %zd\n", e->target, e->size); */ continue; } @@ -23,7 +23,7 @@ ssize_t cobs_encode_sg(const struct sg_entry input[], uint8_t *output, size_t ou return -1; uint8_t inbyte = e->target[sg_idx]; - fprintf(stderr, "%02x ", inbyte); + /* fprintf(stderr, "%02x ", inbyte); */ sg_idx += 1; if (out_pos - idx_pos >= 255) { @@ -49,8 +49,8 @@ ssize_t cobs_encode_sg(const struct sg_entry input[], uint8_t *output, size_t ou return -1; output[idx_pos] = out_pos - idx_pos; output[out_pos] = 0x00; - fprintf(stderr, "\n"); - fprintf(stderr, "Finishing %d %d %d\n", idx_pos, out_pos, out_pos - idx_pos); + /* fprintf(stderr, "\n"); */ + /* fprintf(stderr, "Finishing %d %d %d\n", idx_pos, out_pos, out_pos - idx_pos); */ return out_pos + 1; } @@ -66,7 +66,7 @@ ssize_t cobs_encode(const uint8_t *input, size_t input_len, uint8_t *output, siz return -1; uint8_t inbyte = input[in_pos]; - fprintf(stderr, "%02x ", inbyte); + /* fprintf(stderr, "%02x ", inbyte); */ in_pos += 1; if (out_pos - idx_pos >= 255) { @@ -92,12 +92,13 @@ ssize_t cobs_encode(const uint8_t *input, size_t input_len, uint8_t *output, siz return -1; output[idx_pos] = out_pos - idx_pos; output[out_pos] = 0x00; - fprintf(stderr, "\n"); - fprintf(stderr, "Finishing %d %d %d\n", idx_pos, out_pos, out_pos - idx_pos); + /* fprintf(stderr, "\n"); */ + /* fprintf(stderr, "Finishing %d %d %d\n", idx_pos, out_pos, out_pos - idx_pos); */ return out_pos + 1; } +/* input and output may overlap. */ ssize_t cobs_decode(const uint8_t *input, size_t input_len, uint8_t *output, size_t output_len) { size_t out_pos = 0; @@ -108,20 +109,20 @@ ssize_t cobs_decode(const uint8_t *input, size_t input_len, uint8_t *output, siz while (in_pos < input_len) { size_t len = input[in_pos]; - fprintf(stderr, "Length @%03d = %03d\n", in_pos, len); + /* fprintf(stderr, "Length @%03d = %03d\n", in_pos, len); */ in_pos += 1; for (size_t i=0; i= input_len) break; - fprintf(stderr, "Copy %03d -> %03d %02x\n", in_pos, out_pos, input[in_pos]); + /* fprintf(stderr, "Copy %03d -> %03d %02x\n", in_pos, out_pos, input[in_pos]); */ output[out_pos] = input[in_pos]; in_pos += 1; out_pos += 1; } if (in_pos < input_len && len < 255) { - fprintf(stderr, "Zero %03d %02x\n", out_pos); + /* fprintf(stderr, "Zero %03d %02x\n", out_pos); */ output[out_pos] = 0; out_pos += 1; } -- cgit