diff --git a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs index 0f7d33ac..7f10e7cc 100644 --- a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs +++ b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs @@ -156,6 +156,11 @@ public class Monitor_Ping /// public const uint Monitor_Ping_c_ConfigBlockRequiresErase = 0x00040000; + /// + /// This flag indicates that the device has nanoBooter. + /// + public const uint Monitor_Ping_c_HasNanoBooter = 0x00080000; + /////////////////////////////////////////////////////////////////////// public uint Source; diff --git a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs index 346f17ed..9fed0699 100644 --- a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs +++ b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs @@ -132,6 +132,11 @@ public BinaryFormatter CreateBinaryFormatter() /// This indicates if the device has a proprietary bootloader. /// public bool HasProprietaryBooter { get; private set; } + + /// + /// This indicates if the target device has nanoBooter. + /// + public bool HasNanoBooter { get; private set; } /// /// This indicates if the target device is IFU capable. @@ -237,6 +242,8 @@ public async Task ConnectAsync( ConfigBlockRequiresErase = (reply.Flags & Commands.Monitor_Ping.Monitor_Ping_c_ConfigBlockRequiresErase).Equals(Commands.Monitor_Ping.Monitor_Ping_c_ConfigBlockRequiresErase); HasProprietaryBooter = (reply.Flags & Commands.Monitor_Ping.Monitor_Ping_c_HasProprietaryBooter).Equals(Commands.Monitor_Ping.Monitor_Ping_c_HasProprietaryBooter); + + HasNanoBooter = (reply.Flags & Commands.Monitor_Ping.c_Ping_Source_NanoBooter).Equals(Commands.Monitor_Ping.Monitor_Ping_c_HasNanoBooter); IsIFUCapable = (reply.Flags & Commands.Monitor_Ping.Monitor_Ping_c_IFUCapable).Equals(Commands.Monitor_Ping.Monitor_Ping_c_IFUCapable);