From b0b30b86a57e28cfdcd5f2fdda5f2720f2b8b4f8 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Tue, 27 Dec 2011 01:53:48 +0100 Subject: [PATCH] Fix mesh. Actually check CRCs again. Increment release no. --- firmware/funk/mesh.c | 4 +++- firmware/funk/mesh.h | 2 +- firmware/funk/nrf24l01p.c | 3 +-- firmware/main.c | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/firmware/funk/mesh.c b/firmware/funk/mesh.c index f0ef254..aa56457 100644 --- a/firmware/funk/mesh.c +++ b/firmware/funk/mesh.c @@ -198,7 +198,7 @@ static inline uint32_t popcount(uint32_t *buf, uint8_t n){ uint8_t mesh_recvqloop_work(void){ __attribute__ ((aligned (4))) uint8_t buf[32]; - int len; + unsigned int len; len=nrf_rcv_pkt_poll_dec(sizeof(buf),buf,NULL); @@ -249,6 +249,8 @@ uint8_t mesh_recvqloop_work(void){ (*( (uint32_t*)(MO_BODY(buf)+6) ))++; + if(GLOBAL(privacy)==0) + uint32touint8p(GetUUID32(),MO_BODY(buf)+20); MO_TIME_set(mpkt->pkt,0); }; #if 0 diff --git a/firmware/funk/mesh.h b/firmware/funk/mesh.h index 318dd2a..535c661 100644 --- a/firmware/funk/mesh.h +++ b/firmware/funk/mesh.h @@ -9,7 +9,7 @@ #define M_RECVTIM 100 #define MESH_CHANNEL 83 -#define MESH_MAC "MESHB" +#define MESH_MAC "BMESH" #define MO_TYPE(x) (x[0]) #define MO_TYPE_set(x,y) (x[0]=y) diff --git a/firmware/funk/nrf24l01p.c b/firmware/funk/nrf24l01p.c index b07f195..27ee840 100644 --- a/firmware/funk/nrf24l01p.c +++ b/firmware/funk/nrf24l01p.c @@ -151,8 +151,7 @@ int nrf_rcv_pkt_poll_dec(int maxsize, uint8_t * pkt, uint32_t const key[4]){ if(len <=0) return len; - if(key==NULL) - return len; +// if(key==NULL) return len; cmpcrc=crc16(pkt,len-2); if(key!=NULL) diff --git a/firmware/main.c b/firmware/main.c index 538f541..f193350 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -77,5 +77,5 @@ int main(void) { } int getrelease(void){ - return 0x00000104; + return 0x00000105; };