@@ -247,6 +247,32 @@ const socketMiddleware = (store) => {
247247 store . dispatch ( setServoPwmOutputs ( outputs ) )
248248 }
249249
250+ function syncSingleParamInParamsSlice ( paramId , value ) {
251+ if ( ! paramId || value === undefined ) {
252+ return
253+ }
254+
255+ store . dispatch (
256+ updateParamValue ( {
257+ param_id : paramId ,
258+ param_value : value ,
259+ } ) ,
260+ )
261+ }
262+
263+ function syncBatchParamsInParamsSlice ( paramsList ) {
264+ if ( ! Array . isArray ( paramsList ) || paramsList . length === 0 ) {
265+ return
266+ }
267+
268+ for ( const param of paramsList ) {
269+ const paramId = param ?. param_id
270+ const paramValue =
271+ param ?. param_value !== undefined ? param . param_value : param ?. value
272+ syncSingleParamInParamsSlice ( paramId , paramValue )
273+ }
274+ }
275+
250276 const incomingMessageHandler = ( msg ) => {
251277 switch ( msg . mavpackettype ) {
252278 case "VFR_HUD" :
@@ -1235,6 +1261,7 @@ const socketMiddleware = (store) => {
12351261 value : msg . value ,
12361262 } ) ,
12371263 )
1264+ syncSingleParamInParamsSlice ( msg . param_id , msg . value )
12381265 } else {
12391266 showErrorNotification ( msg . message )
12401267 }
@@ -1266,6 +1293,7 @@ const socketMiddleware = (store) => {
12661293 ( msg ) => {
12671294 if ( msg . success ) {
12681295 showSuccessNotification ( msg . message )
1296+ syncSingleParamInParamsSlice ( msg . data ?. param_id , msg . data ?. value )
12691297 } else {
12701298 showErrorNotification ( msg . message )
12711299 }
@@ -1279,6 +1307,7 @@ const socketMiddleware = (store) => {
12791307 ( msg ) => {
12801308 if ( msg . success ) {
12811309 showSuccessNotification ( msg . message )
1310+ syncSingleParamInParamsSlice ( msg . data ?. param_id , msg . data ?. value )
12821311 } else {
12831312 showErrorNotification ( msg . message )
12841313 }
@@ -1348,6 +1377,7 @@ const socketMiddleware = (store) => {
13481377 value : msg . value ,
13491378 } ) ,
13501379 )
1380+ syncSingleParamInParamsSlice ( msg . param_id , msg . value )
13511381 } else {
13521382 showErrorNotification ( msg . message )
13531383 }
@@ -1374,6 +1404,7 @@ const socketMiddleware = (store) => {
13741404 } ) ,
13751405 )
13761406 }
1407+ syncBatchParamsInParamsSlice ( msg . data )
13771408 }
13781409 store . dispatch ( setRadioCalibrationModalOpen ( false ) )
13791410 } ,
@@ -1400,6 +1431,7 @@ const socketMiddleware = (store) => {
14001431 value : msg . value ,
14011432 } ) ,
14021433 )
1434+ syncSingleParamInParamsSlice ( msg . param_id , msg . value )
14031435 } else {
14041436 showErrorNotification ( msg . message )
14051437 }
@@ -1424,6 +1456,7 @@ const socketMiddleware = (store) => {
14241456 } ) ,
14251457 )
14261458 }
1459+ syncBatchParamsInParamsSlice ( msg . data )
14271460 }
14281461 } ,
14291462 )
@@ -1457,6 +1490,7 @@ const socketMiddleware = (store) => {
14571490 value : msg . value ,
14581491 } ) ,
14591492 )
1493+ syncSingleParamInParamsSlice ( msg . param_id , msg . value )
14601494 } else {
14611495 showErrorNotification ( msg . message )
14621496 }
@@ -1481,6 +1515,7 @@ const socketMiddleware = (store) => {
14811515 } ) ,
14821516 )
14831517 }
1518+ syncBatchParamsInParamsSlice ( msg . data )
14841519 }
14851520 } ,
14861521 )
0 commit comments