X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=net%2Fkeytag.c;h=dac1a11cb963582899f621c89fd2d1fcbbbc3d11;hb=HEAD;hp=afc21b183ed2e0ebf7632f834b2d80727c449b93;hpb=4ea1189f208eee652e9028c3fe4327293c70662b;p=bertos.git diff --git a/net/keytag.c b/net/keytag.c deleted file mode 100644 index afc21b18..00000000 --- a/net/keytag.c +++ /dev/null @@ -1,110 +0,0 @@ -/** - * \file - * - * - * \author Andrea Grandi - * - * \brief Tag protocol (protocol). - * - * TAG protocol is decribed in this way: - *
- * ---------------------------------------------------
- * |STX (0x02)|data...(10 HEX chars)|CR|LF|ETX (0x03)|
- * ---------------------------------------------------
- * 
- */ - -#include "keytag.h" - -#include -#include - -#include -#include - -static void keytag_clearPkt(struct TagPacket *pkt) -{ - pkt->sync = false; - pkt->len = 0; -} - -void keytag_init(struct TagPacket *pkt) -{ - keytag_clearPkt(pkt); -} - -void keytag_poll(struct TagPacket *pkt) -{ - int c; - - /* Get all chars from buffer */ - while ((c = ser_getchar_nowait(pkt->tag_ser)) != EOF) - { - /* Search for STX char in received chars */ - if (c == TAG_STX) - { - /* When STX is found a new packet begins */ - if (pkt->sync) - kprintf("TAG double sync!\n"); - keytag_clearPkt(pkt); - pkt->sync = true; - } - else if (pkt->sync) - { - /* Check for end of packet */ - if (c == TAG_ETX) - { - pkt->buf[TAG_MAX_PRINT_CHARS] = '\x0'; - /* Write read TAG on communication serial */ - ser_printf(pkt->comm_ser, "tag %s", pkt->buf); - pkt->sync = false; - } - else - { - /* Check for buffer overflow */ - if (pkt->len >= TAG_MAX_LEN) - { - kprintf("TAG buffer overflow\n"); - pkt->sync = false; - } - else - { - /* Add every char after STX to tag reading buffer */ - if (pkt->sync) - { - pkt->buf[pkt->len] = c; - pkt->len++; - } - } - } - } - } -}