Add propagation test packet
This commit is contained in:
parent
f70fb16ee4
commit
6dddb7639e
|
@ -19,9 +19,9 @@ MPKT meshbuffer[MESHBUFSIZE];
|
||||||
|
|
||||||
struct NRF_CFG oldconfig;
|
struct NRF_CFG oldconfig;
|
||||||
|
|
||||||
static int meshgen_gt(char gen){
|
static int mesh_gt(char curgen, char newgen){
|
||||||
unsigned char dif=meshgen-gen;
|
unsigned char dif=curgen-newgen;
|
||||||
if(meshgen==0)
|
if(curgen==0)
|
||||||
return 1;
|
return 1;
|
||||||
return (dif>128);
|
return (dif>128);
|
||||||
};
|
};
|
||||||
|
@ -53,6 +53,7 @@ int mesh_sanity(uint8_t * pkt){
|
||||||
};
|
};
|
||||||
if(MO_TYPE(pkt)!='A' &&
|
if(MO_TYPE(pkt)!='A' &&
|
||||||
MO_TYPE(pkt)!='a' &&
|
MO_TYPE(pkt)!='a' &&
|
||||||
|
MO_TYPE(pkt)!='B' &&
|
||||||
MO_TYPE(pkt)!='E' &&
|
MO_TYPE(pkt)!='E' &&
|
||||||
MO_TYPE(pkt)!='F' &&
|
MO_TYPE(pkt)!='F' &&
|
||||||
MO_TYPE(pkt)!='G' &&
|
MO_TYPE(pkt)!='G' &&
|
||||||
|
@ -213,7 +214,7 @@ uint8_t mesh_recvqloop_work(void){
|
||||||
|
|
||||||
// New mesh generation?
|
// New mesh generation?
|
||||||
if(MO_TYPE(buf)=='T'){
|
if(MO_TYPE(buf)=='T'){
|
||||||
if(meshgen_gt(MO_GEN(buf))){
|
if(mesh_gt(meshgen,MO_GEN(buf))){
|
||||||
meshgen=MO_GEN(buf);
|
meshgen=MO_GEN(buf);
|
||||||
_timet=0;
|
_timet=0;
|
||||||
meshincctr=0;
|
meshincctr=0;
|
||||||
|
@ -241,6 +242,15 @@ uint8_t mesh_recvqloop_work(void){
|
||||||
// Store packet in a same/free slot
|
// Store packet in a same/free slot
|
||||||
MPKT* mpkt=meshGetMessage(MO_TYPE(buf));
|
MPKT* mpkt=meshGetMessage(MO_TYPE(buf));
|
||||||
|
|
||||||
|
// Propagation test
|
||||||
|
if(MO_TYPE(buf)=='B'){
|
||||||
|
if(! mesh_gt(MO_BODY(mpkt->pkt)[0],MO_BODY(buf)[0]) )
|
||||||
|
return 0;
|
||||||
|
(*(
|
||||||
|
(uint32_t*)(MO_BODY(buf)+6)
|
||||||
|
))++;
|
||||||
|
MO_TIME_set(mpkt->pkt,0);
|
||||||
|
};
|
||||||
#if 0
|
#if 0
|
||||||
// Schnitzel
|
// Schnitzel
|
||||||
if(MO_TYPE(buf)=='Z'){
|
if(MO_TYPE(buf)=='Z'){
|
||||||
|
|
Loading…
Reference in New Issue