From e2d2ba2cbdb462bc08c6199b8e7061d9259a3e65 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Fri, 5 Aug 2011 11:31:34 +0200 Subject: [PATCH] Revert "Schnitzel support" This reverts commit eb9051aa7d764624fa66728b065522b6a466dc18. --- firmware/applications/final/mesh.c | 40 ++---------------------------- firmware/funk/mesh.c | 40 +++--------------------------- 2 files changed, 5 insertions(+), 75 deletions(-) diff --git a/firmware/applications/final/mesh.c b/firmware/applications/final/mesh.c index 57843d4..a7b27af 100644 --- a/firmware/applications/final/mesh.c +++ b/firmware/applications/final/mesh.c @@ -120,19 +120,7 @@ char *meshmsgs(void){ return msgtypes; }; -static inline uint32_t popcount(uint32_t *buf, uint8_t n){ - int cnt=0; - do { - unsigned m = *buf++; - m = (m & 0x55555555) + ((m & 0xaaaaaaaa) >> 1); - m = (m & 0x33333333) + ((m & 0xcccccccc) >> 2); - m = (m & 0x0f0f0f0f) + ((m & 0xf0f0f0f0) >> 4); - m = (m & 0x00ff00ff) + ((m & 0xff00ff00) >> 8); - m = (m & 0x0000ffff) + ((m & 0xffff0000) >> 16); - cnt += m; - } while(--n); - return cnt; -} + extern MPKT meshbuffer[MESHBUFSIZE]; //# MENU messages @@ -164,12 +152,6 @@ void m_choose(){ case('T'): strcpy(p,"Time"); break; - case('Z'): - strcpy(p,"Schnitzel"); - break; - case('z'): - strcpy(p,"S-Score"); - break; case('i'): strcpy(p,"Invaders"); break; @@ -206,12 +188,6 @@ void m_choose(){ case('T'): lcdPrintln("Time"); break; - case('Z'): - strcpy(p,"Schnitzel"); - break; - case('z'): - strcpy(p,"S-Score"); - break; case('i'): lcdPrintln("Invaders"); break; @@ -227,19 +203,7 @@ void m_choose(){ lcdPrint(IntToStr(tm->tm_sec,2,F_LONG|F_ZEROS)); lcdNl(); - if(tmm[i]=='Z'){ - lcdPrintln(IntToStrX(uint8ptouint32(meshbuffer[j].pkt+ 6),8)); - lcdPrintln(IntToStrX(uint8ptouint32(meshbuffer[j].pkt+10),8)); - lcdPrintln(IntToStrX(uint8ptouint32(meshbuffer[j].pkt+14),8)); - lcdPrintln(IntToStrX(uint8ptouint32(meshbuffer[j].pkt+18),8)); - lcdPrintln(IntToStrX(uint8ptouint32(meshbuffer[j].pkt+22),8)); - lcdPrintln(IntToStrX(uint8ptouint32(meshbuffer[j].pkt+26),8)); - lcdPrint(IntToStr(popcount(meshbuffer[j].pkt+6,6),3,0)); - lcdPrintln(" pts."); - lcdRefresh(); - getInputWaitRelease(); - continue; - }else if(tmm[i]=='T'){ + if(tmm[i]=='T'){ lcdPrint(IntToStr(tm->tm_mday,2,F_LONG)); lcdPrint("."); lcdPrint(IntToStr(tm->tm_mon+1,2,0)); diff --git a/firmware/funk/mesh.c b/firmware/funk/mesh.c index da86ad0..f7e8de9 100644 --- a/firmware/funk/mesh.c +++ b/firmware/funk/mesh.c @@ -55,8 +55,6 @@ MPKT * meshGetMessage(uint8_t type){ void mesh_cleanup(void){ time_t now=getSeconds(); for(int i=1;i> 1); - m = (m & 0x33333333) + ((m & 0xcccccccc) >> 2); - m = (m & 0x0f0f0f0f) + ((m & 0xf0f0f0f0) >> 4); - m = (m & 0x00ff00ff) + ((m & 0xff00ff00) >> 8); - m = (m & 0x0000ffff) + ((m & 0xffff0000) >> 16); - cnt += m; - } while(--n); - return cnt; -} - uint8_t mesh_recvqloop_work(void){ __attribute__ ((aligned (4))) uint8_t buf[32]; int len; @@ -180,26 +164,9 @@ uint8_t mesh_recvqloop_work(void){ // Store packet in a same/free slot MPKT* mpkt=meshGetMessage(MO_TYPE(buf)); - // Schnitzel - if(MO_TYPE(buf)=='Z'){ - mpkt->flags=MF_USED|MF_LOCK; - MO_TIME_set(mpkt->pkt,getSeconds()); - MO_GEN_set(mpkt->pkt,0x70); - for(int i=6;ipkt[i]|=buf[i]; - - int score=popcount(MO_BODY(mpkt->pkt),6); - - MPKT* reply=meshGetMessage('z'); - - if(MO_TIME(reply->pkt)>=score) - return 1; - - MO_TIME_set(reply->pkt,score); - strcpy((char*)MO_BODY(reply->pkt),GLOBAL(nickname)); - - return 1; - }; + // Skip locked packet + if(mpkt->flags&MF_LOCK) + return 2; // only accept newer/better packets if(mpkt->flags==MF_USED) @@ -212,7 +179,6 @@ uint8_t mesh_recvqloop_work(void){ memcpy(mpkt->pkt,buf,MESHPKTSIZE); mpkt->flags=MF_USED; - return 1; };