/trunk/menu.c |
---|
74,7 → 74,7 |
u8 MenuItem = 0; |
u8 MaxMenuItem = 23; |
u8 MaxMenuItem = 24; |
void Menu_Putchar(char c) |
{ |
485,6 → 485,28 |
LCD_printfxy(0,1,"Not connected"); |
} |
break; |
case 24: |
{ |
static u8 index = 1, ret = 0; |
if(Keys & KEY3) // next step |
{ |
if(index < 4) index++; |
else index = 1; |
} |
if(Keys & KEY4) |
{ |
WPL_Store.Index = index; |
ret = PointList_ReadFromFile(&WPL_Store); |
} |
LCD_printfxy(0,0,"Load WPL" ); |
LCD_printfxy(0,1,"Name: %s", WPL_Store.Name); |
// 12345678901234567890 |
LCD_printfxy(0,2,"Points Index "); |
LCD_printfxy(0,3," %3d %3d LOAD", PointList_GetCount(), index); |
} |
break; |
default: |
//MaxMenuItem = MenuItem - 1; |
MenuItem = 0; |
/trunk/waypoints.c |
---|
500,6 → 500,11 |
u8 IsPointSection = 0; |
u8 WPNumber = 0; |
// clear point list first |
PointList_Clear(); |
pWPL_Store->Name[0] = 0; // clear current list name |
// user absolute path, i.e. leading / |
if(pWPL_Store->Index == 0) // index 0 looks for a default WPL file in the root |
{ |
522,8 → 527,6 |
UART1_PutString("ERROR: Reading waypoint file!\r\n"); |
return(retval); |
} |
// clear point list first |
PointList_Clear(); |
// read all lines from file |
while(fgets_(wpline, LINE_MAX, fp) != 0) |
{ |
673,8 → 676,12 |
else if (strcmp(name, "NAME") == 0) |
{ |
u8 len = strlen(value); |
if(len > 11) |
value[11] = 0; |
if(value[len-1] == '\r') |
{ |
value[len-1] = 0; |
len--; |
} |
if(len > 11) value[11] = 0; |
memcpy(pWPL_Store->Name, value, 12); |
} |
else |