diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 63b5df4..a581427 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 2 -#define VERSION_PATCH_LEVEL 43 +#define VERSION_PATCH_LEVEL 44 //****************** // Protocols diff --git a/Multiprotocol/Telemetry.ino b/Multiprotocol/Telemetry.ino index 4ebe687..bfac28d 100644 --- a/Multiprotocol/Telemetry.ino +++ b/Multiprotocol/Telemetry.ino @@ -177,11 +177,31 @@ static void multi_send_status() { // Protocol next/prev if(multi_protocols[multi_protocols_index+1].protocol != 0) - Serial_write(multi_protocols[multi_protocols_index+1].protocol); // next protocol number + { + if(multi_protocols[multi_protocols_index+1].protocol == PROTO_SCANNER) + {// if next is scanner + if(multi_protocols[multi_protocols_index+2].protocol != 0) + Serial_write(multi_protocols[multi_protocols_index+2].protocol); // skip to next protocol number + else + Serial_write(multi_protocols[multi_protocols_index].protocol); // or end of list + } + else + Serial_write(multi_protocols[multi_protocols_index+1].protocol); // next protocol number + } else Serial_write(multi_protocols[multi_protocols_index].protocol); // end of list if(multi_protocols_index>0) - Serial_write(multi_protocols[multi_protocols_index-1].protocol); // prev protocol number + { + if(multi_protocols[multi_protocols_index-1].protocol==PROTO_SCANNER) + {// if prev is scanner + if(multi_protocols_index > 1) + Serial_write(multi_protocols[multi_protocols_index-2].protocol); // skip to prev protocol number + else + Serial_write(multi_protocols[multi_protocols_index].protocol); // begining of list + } + else + Serial_write(multi_protocols[multi_protocols_index-1].protocol); // prev protocol number + } else Serial_write(multi_protocols[multi_protocols_index].protocol); // begining of list // Protocol