Merge pull request #7 from astro/master
debug menu: browse mesh pkt details
This commit is contained in:
commit
af90e5646d
|
@ -165,12 +165,72 @@ void getsp(void) {
|
||||||
dx=DoString(0,dy,"Done.");
|
dx=DoString(0,dy,"Done.");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void m_time_details(int select) {
|
||||||
|
getInputWaitRelease();
|
||||||
|
|
||||||
|
while(getInputWaitTimeout(50) != BTN_LEFT){
|
||||||
|
lcdClear();
|
||||||
|
MPKT *mpkt = &meshbuffer[select];
|
||||||
|
uint8_t *pkt = mpkt->pkt;
|
||||||
|
|
||||||
|
if (!mpkt->flags & MF_USED)
|
||||||
|
lcdPrint("<unused>");
|
||||||
|
else {
|
||||||
|
lcdPrint("Type: ");
|
||||||
|
char c[2] = {0, 0};
|
||||||
|
c[0] = mpkt->pkt[0];
|
||||||
|
lcdPrint(c);
|
||||||
|
lcdNl();
|
||||||
|
|
||||||
|
lcdPrint("Gen: ");
|
||||||
|
lcdPrintInt(MO_GEN(pkt) & 0xff);
|
||||||
|
lcdNl();
|
||||||
|
|
||||||
|
lcdPrint("Time: ");
|
||||||
|
lcdPrintInt(MO_TIME(pkt) & 0xffff);
|
||||||
|
lcdNl();
|
||||||
|
lcdPrint("Body: ");
|
||||||
|
lcdNl();
|
||||||
|
|
||||||
|
int x = 0;
|
||||||
|
for(uint8_t *body = MO_BODY(pkt); body < pkt + 32; body++) {
|
||||||
|
if (*body >= ' ' && *body < 128) {
|
||||||
|
if (x > 12) {
|
||||||
|
lcdNl();
|
||||||
|
x = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
char c[2] = {*body, 0};
|
||||||
|
lcdPrint(c);
|
||||||
|
x++;
|
||||||
|
} else {
|
||||||
|
if (x > 10) {
|
||||||
|
lcdNl();
|
||||||
|
x = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
lcdPrint("\\");
|
||||||
|
lcdPrintInt(*body & 0xff);
|
||||||
|
x += 2;
|
||||||
|
if (*body > 9)
|
||||||
|
x++;
|
||||||
|
if (*body > 99)
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lcdRefresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void m_time(void){
|
void m_time(void){
|
||||||
struct tm* tm;
|
struct tm* tm;
|
||||||
|
int select=0;
|
||||||
char c[2]={0,0};
|
char c[2]={0,0};
|
||||||
getInputWaitRelease();
|
getInputWaitRelease();
|
||||||
delayms(100);
|
delayms(100);
|
||||||
do{
|
while(1) {
|
||||||
lcdClear();
|
lcdClear();
|
||||||
tm= mygmtime(getSeconds());
|
tm= mygmtime(getSeconds());
|
||||||
lcdPrint(IntToStr(tm->tm_hour,2,F_LONG));
|
lcdPrint(IntToStr(tm->tm_hour,2,F_LONG));
|
||||||
|
@ -199,6 +259,12 @@ void m_time(void){
|
||||||
};
|
};
|
||||||
lcdPrintln(">");
|
lcdPrintln(">");
|
||||||
|
|
||||||
|
lcdPrint(" ");
|
||||||
|
for(int i=0; i<MESHBUFSIZE; i++) {
|
||||||
|
lcdPrint(i == select ? "^" : " ");
|
||||||
|
}
|
||||||
|
lcdNl();
|
||||||
|
|
||||||
lcdPrint("Gen:");
|
lcdPrint("Gen:");
|
||||||
lcdPrintInt(meshgen);
|
lcdPrintInt(meshgen);
|
||||||
lcdNl();
|
lcdNl();
|
||||||
|
@ -209,8 +275,30 @@ void m_time(void){
|
||||||
lcdPrintInt(meshnice);
|
lcdPrintInt(meshnice);
|
||||||
lcdNl();
|
lcdNl();
|
||||||
lcdRefresh();
|
lcdRefresh();
|
||||||
delayms_queue(50);
|
|
||||||
}while ((getInputRaw())==BTN_NONE);
|
uint8_t key = getInputWaitTimeout(50);
|
||||||
|
switch(key) {
|
||||||
|
case BTN_UP:
|
||||||
|
select--;
|
||||||
|
if (select < 0)
|
||||||
|
select = MESHBUFSIZE - 1;
|
||||||
|
break;
|
||||||
|
case BTN_DOWN:
|
||||||
|
select++;
|
||||||
|
if (select >= MESHBUFSIZE)
|
||||||
|
select = 0;
|
||||||
|
break;
|
||||||
|
case BTN_RIGHT:
|
||||||
|
case BTN_ENTER:
|
||||||
|
m_time_details(select);
|
||||||
|
break;
|
||||||
|
case BTN_LEFT:
|
||||||
|
// Exit
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (key != BTN_NONE)
|
||||||
|
getInputWaitRelease();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void ChkFunk(){
|
void ChkFunk(){
|
||||||
|
|
Loading…
Reference in New Issue