Skip to content

Commit

Permalink
added logging support for better debug
Browse files Browse the repository at this point in the history
  • Loading branch information
MightyPork committed Jan 12, 2018
1 parent 5305779 commit b74bda7
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 5 deletions.
3 changes: 3 additions & 0 deletions TF_Config.example.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ typedef uint8_t TF_COUNT;
// ticks = number of calls to TF_Tick()
#define TF_PARSER_TIMEOUT_TICKS 10

// Error reporting function. To disable debug, change to empty define
#define TF_Error(format, ...) printf("[TF] " format "\n", ##__VA_ARGS__)

//------------------------- End of user config ------------------------------

#endif //TF_CONFIG_H
34 changes: 30 additions & 4 deletions TinyFrame.c
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,8 @@ bool _TF_FN TF_AddIdListener(TinyFrame *tf, TF_Msg *msg, TF_Listener cb, TF_TICK
return true;
}
}

TF_Error("Failed to add ID listener");
return false;
}

Expand All @@ -263,6 +265,8 @@ bool _TF_FN TF_AddTypeListener(TinyFrame *tf, TF_TYPE frame_type, TF_Listener cb
return true;
}
}

TF_Error("Failed to add type listener");
return false;
}

Expand All @@ -282,6 +286,8 @@ bool _TF_FN TF_AddGenericListener(TinyFrame *tf, TF_Listener cb)
return true;
}
}

TF_Error("Failed to add generic listener");
return false;
}

Expand All @@ -298,6 +304,8 @@ bool _TF_FN TF_RemoveIdListener(TinyFrame *tf, TF_ID frame_id)
return true;
}
}

TF_Error("ID listener %d to remove not found", (int)frame_id);
return false;
}

Expand All @@ -314,6 +322,8 @@ bool _TF_FN TF_RemoveTypeListener(TinyFrame *tf, TF_TYPE type)
return true;
}
}

TF_Error("Type listener %d to remove not found", (int)type);
return false;
}

Expand All @@ -330,6 +340,8 @@ bool _TF_FN TF_RemoveGenericListener(TinyFrame *tf, TF_Listener cb)
return true;
}
}

TF_Error("Generic listener to remove not found");
return false;
}

Expand Down Expand Up @@ -428,6 +440,8 @@ static void _TF_FN TF_HandleReceivedMessage(TinyFrame *tf)
}
}
}

TF_Error("Unhandled message, type %d", (int)msg.type);
}

//endregion Listeners
Expand Down Expand Up @@ -468,7 +482,10 @@ void _TF_FN TF_AcceptChar(TinyFrame *tf, unsigned char c)
{
// Parser timeout - clear
if (tf->parser_timeout_ticks >= TF_PARSER_TIMEOUT_TICKS) {
TF_ResetParser(tf);
if (tf->state != TFState_SOF) {
TF_ResetParser(tf);
TF_Error("Parser timeout");
}
}
tf->parser_timeout_ticks = 0;

Expand All @@ -481,7 +498,7 @@ void _TF_FN TF_AcceptChar(TinyFrame *tf, unsigned char c)

#if !TF_USE_SOF_BYTE
if (tf->state == TFState_SOF) {
pars_begin_frame();
pars_begin_frame(tf);
}
#endif

Expand Down Expand Up @@ -532,6 +549,7 @@ void _TF_FN TF_AcceptChar(TinyFrame *tf, unsigned char c)
CKSUM_FINALIZE(tf->cksum);

if (tf->cksum != tf->ref_cksum) {
TF_Error("Rx head cksum mismatch");
TF_ResetParser(tf);
break;
}
Expand All @@ -550,6 +568,7 @@ void _TF_FN TF_AcceptChar(TinyFrame *tf, unsigned char c)
CKSUM_RESET(tf->cksum); // Start collecting the payload

if (tf->len > TF_MAX_PAYLOAD_RX) {
TF_Error("Rx payload too long: %d", (int)tf->len);
// ERROR - frame too long. Consume, but do not store.
tf->discard_data = true;
}
Expand Down Expand Up @@ -582,8 +601,12 @@ void _TF_FN TF_AcceptChar(TinyFrame *tf, unsigned char c)
COLLECT_NUMBER(tf->ref_cksum, TF_CKSUM) {
// Check the header checksum against the computed value
CKSUM_FINALIZE(tf->cksum);
if (!tf->discard_data && tf->cksum == tf->ref_cksum) {
TF_HandleReceivedMessage(tf);
if (!tf->discard_data) {
if (tf->cksum == tf->ref_cksum) {
TF_HandleReceivedMessage(tf);
} else {
TF_Error("Body cksum mismatch");
}
}

TF_ResetParser(tf);
Expand Down Expand Up @@ -847,6 +870,8 @@ bool _TF_FN TF_RenewIdListener(TinyFrame *tf, TF_ID id)
return true;
}
}

TF_Error("Renew listener: not found (id %d)", (int)id);
return false;
}

Expand All @@ -867,6 +892,7 @@ void _TF_FN TF_Tick(TinyFrame *tf)
if (!lst->fn || lst->timeout == 0) continue;
// count down...
if (--lst->timeout == 0) {
TF_Error("ID listener %d has expired", (int)lst->id);
// Listener has expired
cleanup_id_listener(tf, i, lst);
}
Expand Down
2 changes: 1 addition & 1 deletion TinyFrame.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* Upstream URL: https://github.com/MightyPork/TinyFrame
*/

#define TF_VERSION "2.0.5"
#define TF_VERSION "2.1.0"

//---------------------------------------------------------------------------
#include <stdint.h> // for uint8_t etc
Expand Down
2 changes: 2 additions & 0 deletions demo/multipart_tx/TF_Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ typedef uint8_t TF_COUNT;
#define TF_MAX_GEN_LST 5
#define TF_PARSER_TIMEOUT_TICKS 10

#define TF_Error(format, ...) printf("[TF] " format "\n", ##__VA_ARGS__)

#endif //TF_CONFIG_H
2 changes: 2 additions & 0 deletions demo/simple/TF_Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ typedef uint8_t TF_COUNT;
#define TF_MAX_GEN_LST 5
#define TF_PARSER_TIMEOUT_TICKS 10

#define TF_Error(format, ...) printf("[TF] " format "\n", ##__VA_ARGS__)

#endif //TF_CONFIG_H
2 changes: 2 additions & 0 deletions demo/socket_demo/TF_Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ typedef uint8_t TF_COUNT;
#define TF_MAX_GEN_LST 5
#define TF_PARSER_TIMEOUT_TICKS 10

#define TF_Error(format, ...) printf("[TF] " format "\n", ##__VA_ARGS__)

#endif //TF_CONFIG_H

0 comments on commit b74bda7

Please # to comment.