fairwaves / UHD-Fairwaves

Fairwaves version of the UHD drivers, tweaked to support Fairwaves UmTRX.
http://umtrx.org
24 stars 21 forks source link

Fixes to compile in vc14 #25

Open guruofquality opened 4 years ago

guruofquality commented 4 years ago

With the recent logger fix I was able to build umtrx again, but I needed a few more changes:

diff --git a/host/umtrx_eeprom.cpp b/host/umtrx_eeprom.cpp
index ef6a09d8..083a8fe5 100644
--- a/host/umtrx_eeprom.cpp
+++ b/host/umtrx_eeprom.cpp
@@ -15,6 +15,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //

+#include "umtrx_impl.hpp"
 #include <uhd/usrp/mboard_eeprom.hpp>
 #include <uhd/types/mac_addr.hpp>
 #include <uhd/types/byte_vector.hpp>
diff --git a/host/umtrx_log_adapter.hpp b/host/umtrx_log_adapter.hpp
index c41d2754..df091ba6 100644
--- a/host/umtrx_log_adapter.hpp
+++ b/host/umtrx_log_adapter.hpp
@@ -9,15 +9,23 @@
 #else // UHD_HAS_MSG_HPP
 #include <uhd/utils/log.hpp>

-enum {
+enum _umtrx_uhd_log_level_t {
     _uhd_log_level_status,
     _uhd_log_level_warning,
     _uhd_log_level_error
 };

-#define UHD_MSG(severity) ((_uhd_log_level_##severity==_uhd_log_level_status)?UHD_LOGGER_INFO("UmTRX"): \
-                           (_uhd_log_level_##severity==_uhd_log_level_warning)?UHD_LOGGER_WARNING("UmTRX"): \
-                           UHD_LOGGER_ERROR("UmTRX"))
+static inline uhd::_log::log &_umtrx_get_uhd_logger(const _umtrx_uhd_log_level_t level)
+{
+    switch(level)
+    {
+    case _uhd_log_level_status: return UHD_LOGGER_INFO("UmTRX");
+    case _uhd_log_level_warning: return UHD_LOGGER_WARNING("UmTRX");
+    case _uhd_log_level_error: return UHD_LOGGER_ERROR("UmTRX");
+    }
+}
+
+#define UHD_MSG(severity) (_umtrx_get_uhd_logger(_uhd_log_level_##severity))

 #endif // UHD_HAS_MSG_HPP