From 1c3db0288b518cc00bed628f447c641e018b06d7 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Wed, 4 Jan 2012 16:31:46 +0100 Subject: [PATCH] More mesh debugging --- firmware/funk/mesh.c | 15 ++++++++++----- firmware/main.c | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/firmware/funk/mesh.c b/firmware/funk/mesh.c index 658df0e..412ab61 100644 --- a/firmware/funk/mesh.c +++ b/firmware/funk/mesh.c @@ -42,9 +42,9 @@ void initMesh(void){ #define MP_IGNORE 4 int mesh_sanity(uint8_t * pkt){ if(MO_TYPE(pkt)>0x7f || MO_TYPE(pkt)<0x20) - return MP_SEND; + return MP_SEND|MP_RECV; if(MO_TYPE(pkt)=='T' && MO_BODY(pkt)[5]) - return MP_SEND; + return MP_SEND|MP_RECV; if(MO_TYPE(pkt)=='T' && MO_TIME(pkt)<86400) return MP_OK; if(MO_TYPE(pkt)>='A' && MO_TYPE(pkt)<='Z'){ @@ -66,7 +66,7 @@ int mesh_sanity(uint8_t * pkt){ MO_TYPE(pkt)!='G' && MO_TYPE(pkt)!='T' ){ - return MP_IGNORE; + return MP_IGNORE|MP_RECV; }; return MP_OK; }; @@ -105,11 +105,16 @@ void meshPanic(uint8_t * pkt,int bufno){ lcdPrint(IntToStrX(bufno,2)); lcdPrint("]"); lcdNl(); + lcdPrint(" "); for(int i=0;i<32;i++){ lcdPrint(IntToStrX(pkt[i],2)); - if(i%6==5) + if(i%6==5){ lcdNl(); + lcdPrint(" "); + }; } + lcdPrint(" "); + lcdPrint(IntToStrX(crc16(pkt,30),4)); lcdRefresh(); while ((getInputRaw())==BTN_NONE); }; @@ -225,7 +230,7 @@ uint8_t mesh_recvqloop_work(void){ if(mesh_sanity(buf)){ meshincctr++; if((mesh_sanity(buf)&MP_RECV)!=0){ - meshPanic(buf,-1); + meshPanic(buf,-len); }; return 0; }; diff --git a/firmware/main.c b/firmware/main.c index 3a66d2e..e94a188 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -77,5 +77,5 @@ int main(void) { } int getrelease(void){ - return 0x00000108; + return 0x00000109; };