From 07449fb177198da47228a17b8def8a6c94de7cff Mon Sep 17 00:00:00 2001 From: polymurph Date: Tue, 9 Nov 2021 19:21:12 +0100 Subject: [PATCH] code cleanup + comments --- ideas/cmd_parser.cpp | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/ideas/cmd_parser.cpp b/ideas/cmd_parser.cpp index 9ecb1d6..08d8aff 100644 --- a/ideas/cmd_parser.cpp +++ b/ideas/cmd_parser.cpp @@ -7,21 +7,27 @@ #define PACKET_N_BYTES 16 +// type definitions using ui8_t = uint8_t; - using packet_t = std::array; using payload_t = std::array; +// packet head for reference const std::array head = {0xAE, 0xAE}; + +// packet tail for reference const std::array tail = {0xAE, 0xAE}; -enum packetParts +// packet sections +enum packetSections { Head, Payload, Tail }; + +// dummy function which spitsout the payload of the packet void outputPayload(payload_t payload) { @@ -30,14 +36,17 @@ void outputPayload(payload_t payload) std::cout << std::endl; } +// this function cann be called for example when the dma has received a datablock from uart and +// triggered a completion interrupt. +// The different packet sections can be changed according to the packet received. For example one +// can perform a CRC here. void parsePacket(const packet_t& newPacket) { - bool done = false; payload_t payload; - packetParts packetIndex = Head; + packetSections packetIndex = Head; ui8_t i = 0; - //do { + // packet index foorloop forloop is rolled out throughout switch(packetIndex) { case Head: std::cout << "checking packet head..." << std::endl; @@ -51,7 +60,9 @@ void parsePacket(const packet_t& newPacket) std::cout << "...head valid!" << std::endl; //packetIndex = Payload; //break; - case Payload: + + // leapover to next packet section + case Payload: // copy payload std::cout << "copy payload..." << std::endl; for(;i < 14; i++) { @@ -60,6 +71,8 @@ void parsePacket(const packet_t& newPacket) std::cout << "...done!" << std::endl; //packetIndex = Tail; //break; + + // leapover to next packet section case Tail: // check tail std::cout << "checking packet tail..." << std::endl; @@ -72,8 +85,7 @@ void parsePacket(const packet_t& newPacket) std::cout << "...tail valid!" << std::endl; std::cout << "forwarding payload!" << std::endl; outputPayload(payload); - done = true; - break; + return; default: return; };