But what if you just rely on IS_SPX and IS_LAP packets? You can refresh info only when u cross split or finish line. This goes both for gaps in the position list and for the PB comparison. The same way Airio does and it is good enough for me

// You can request information about the current layout with this IS_TINY :
// ReqI : non-zero (returned in the reply)
// SubT : TINY_AXI (AutoX Info)
struct IS_AXI // AutoX Info
{
byte Size; // 40
byte Type; // ISP_AXI
byte ReqI; // 0 unless this is a reply to an TINY_AXI request
byte Zero;
byte AXStart; // autocross start position
byte NumCP; // number of checkpoints
word NumO; // number of objects
char LName[32]; // the name of the layout last loaded (if loaded locally)
};