diff --git a/src/modules/syslink/syslink_main.cpp b/src/modules/syslink/syslink_main.cpp index b82e342fd1..c286445ad2 100644 --- a/src/modules/syslink/syslink_main.cpp +++ b/src/modules/syslink/syslink_main.cpp @@ -190,7 +190,7 @@ Syslink::update_params(bool force_set) // reading parameter values into temp variables - uint32_t channel, rate, addr1, addr2; + int32_t channel, rate, addr1, addr2; uint64_t addr = 0; param_get(_param_radio_channel, &channel); @@ -198,7 +198,8 @@ Syslink::update_params(bool force_set) param_get(_param_radio_addr1, &addr1); param_get(_param_radio_addr2, &addr2); - memcpy(&addr, &addr2, 4); memcpy(((char *)&addr) + 4, &addr1, 4); + memcpy(&addr, &addr2, 4); + memcpy(((char *)&addr) + 4, &addr1, 4); hrt_abstime t = hrt_absolute_time(); diff --git a/src/modules/syslink/syslink_main.h b/src/modules/syslink/syslink_main.h index 0382e904f8..d78fa2e1e8 100644 --- a/src/modules/syslink/syslink_main.h +++ b/src/modules/syslink/syslink_main.h @@ -127,7 +127,7 @@ private: int _params_sub; // Current parameter values - uint32_t _channel, _rate; + int32_t _channel, _rate; uint64_t _addr; hrt_abstime _params_update[3]; // Time at which the parameters were updated hrt_abstime _params_ack[3]; // Time at which the parameters were acknowledged by the nrf module