Browse Source

Log: make find_last_log_page() portable

this makes it work with platforms with a larger 'long'
mission-4.1.18
Andrew Tridgell 13 years ago
parent
commit
2bd451b445
  1. 4
      ArduCopter/Log.pde
  2. 4
      ArduPlane/Log.pde

4
ArduCopter/Log.pde

@ -338,7 +338,7 @@ static int find_last_log_page(int bottom_page) @@ -338,7 +338,7 @@ static int find_last_log_page(int bottom_page)
{
int top_page = 4096;
int look_page;
long check;
int32_t check;
while((top_page - bottom_page) > 1) {
look_page = (top_page + bottom_page) / 2;
@ -347,7 +347,7 @@ static int find_last_log_page(int bottom_page) @@ -347,7 +347,7 @@ static int find_last_log_page(int bottom_page)
//Serial.printf("look page:%d, check:%d\n", look_page, check);
if(check == (long)0xFFFFFFFF)
if(check == (int32_t)~0)
top_page = look_page;
else
bottom_page = look_page;

4
ArduPlane/Log.pde

@ -313,13 +313,13 @@ static int find_last_log_page(int bottom_page) @@ -313,13 +313,13 @@ static int find_last_log_page(int bottom_page)
{
int top_page = 4096;
int look_page;
long check;
int32_t check;
while((top_page - bottom_page) > 1) {
look_page = (top_page + bottom_page) / 2;
DataFlash.StartRead(look_page);
check = DataFlash.ReadLong();
if(check == (long)0xFFFFFFFF)
if(check == (int32_t)~0)
top_page = look_page;
else
bottom_page = look_page;

Loading…
Cancel
Save