Add function to check if the device is in the bootloader
diff --git a/rmidevice/rmidevice.cpp b/rmidevice/rmidevice.cpp
index 11665a1..0b85b55 100644
--- a/rmidevice/rmidevice.cpp
+++ b/rmidevice/rmidevice.cpp
@@ -292,6 +292,22 @@
return 0;
}
+bool RMIDevice::InBootloader()
+{
+ RMIFunction f01;
+ if (GetFunction(f01, 0x01)) {
+ int rc;
+ unsigned char status;
+
+ rc = Read(f01.GetDataBase(), &status, 1);
+ if (rc < 0)
+ return true;
+
+ return !!(status & 0x40);
+ }
+ return true;
+}
+
long long diff_time(struct timespec *start, struct timespec *end)
{
long long diff;