Helper library to use modem_ref driver.

Dependencies:   WizziCom WizziDebug ram_fs modem_ref

Dependents:   D7A_Localisation D7A_1x_demo_send_file_data_and_forget D7A_1x_demo_CodeUpgradeProtocol D7A_1x_demo_LoRaWAN ... more

Revision:
21:21a74abd5cb5
Parent:
20:8e6a7f4e06a1
Child:
22:dccf7ff5fa7e
--- a/modem_ref_helper.cpp	Thu Dec 21 14:31:07 2017 +0000
+++ b/modem_ref_helper.cpp	Fri Jan 19 10:49:45 2018 +0000
@@ -8,6 +8,7 @@
 
 #define MODEM_VERSION_MAJOR         4
 #define MODEM_VERSION_MINOR         11
+#define MODEM_VERSION_PATCH         0
 
 static WizziCom* g_modem_com;
 static Semaphore g_modem_ready[MAX_USER_NB];
@@ -204,13 +205,15 @@
     PRINT("-----------------------------------------\r\n");
         
     // Check version
-    if (rev.fw_version.major != MODEM_VERSION_MAJOR || rev.fw_version.minor < MODEM_VERSION_MINOR)
+    uint32_t rev_sum1 = (rev.fw_version.major << 24) | (rev.fw_version.minor << 16) | rev.fw_version.patch;
+    uint32_t rev_sum2 = (MODEM_VERSION_MAJOR << 24) | (MODEM_VERSION_MINOR << 16) | MODEM_VERSION_PATCH;
+    if (rev_sum1 < rev_sum2)
     {
-        PRINT("You need a modem at version %d.%d.x or above to use this Driver.\n"
+        PRINT("You need a modem at version %d.%d.%d or above to use this Driver.\n"
               "Please check modem updates on the Dash7Board.\n"
               "Go to your site's version manager.\n"
               "Or choose the right 'modem_ref_helper' revision.\n"
-              , MODEM_VERSION_MAJOR, MODEM_VERSION_MINOR);
+              , MODEM_VERSION_MAJOR, MODEM_VERSION_MINOR, MODEM_VERSION_PATCH);
         /*
         PRINT("You need a modem at version %d.%d.x or above to use this Driver.\n"
               "Please check modem updates by importing:\n"