@@ -5,14 +5,12 @@ import { useDebouncedCallback } from "@mantine/hooks"
55
66import { useDispatch , useSelector } from "react-redux"
77
8- import apmParamDefsCopter from "../../../data/gen_apm_params_def_copter.json"
9- import apmParamDefsPlane from "../../../data/gen_apm_params_def_plane.json"
8+ import { useParamDefinitions } from "../../helpers/paramDefinitions"
109
1110import {
1211 emitGetFailsafeConfig ,
1312 emitSetFailsafeConfigParam ,
1413 selectFailsafeConfig ,
15- selectRefreshingFailsafeConfigData ,
1614} from "../../redux/slices/configSlice"
1715import {
1816 emitSetState ,
@@ -24,21 +22,16 @@ export default function Failsafes() {
2422 const dispatch = useDispatch ( )
2523 const connected = useSelector ( selectConnectedToDrone )
2624 const failsafeConfig = useSelector ( selectFailsafeConfig )
25+ const { paramDefs } = useParamDefinitions ( )
2726 const aircraftTypeString = useSelector ( selectAircraftTypeString )
28- const refreshingFailsafeConfigData = useSelector (
29- selectRefreshingFailsafeConfigData ,
30- )
31-
32- const paramDefs =
33- aircraftTypeString === "Copter" ? apmParamDefsCopter : apmParamDefsPlane
3427
3528 const params = useMemo ( ( ) => {
36- if ( ! failsafeConfig ) {
37- return [ ]
38- }
29+ if ( ! failsafeConfig ) {
30+ return [ ]
31+ }
3932
40- return { ... failsafeConfig }
41- } , [ failsafeConfig , aircraftTypeString ] )
33+ return paramDefs
34+ } , [ failsafeConfig , paramDefs ] )
4235
4336 const debouncedUpdate = useDebouncedCallback ( ( param_id , value ) => {
4437 dispatch ( emitSetFailsafeConfigParam ( { param_id, value } ) )
@@ -53,13 +46,18 @@ export default function Failsafes() {
5346 dispatch ( emitGetFailsafeConfig ( ) )
5447 } , [ connected , dispatch ] )
5548
56- return (
49+ if ( Object . keys ( paramDefs ) . length === 0 ) return (
5750 < div className = "relative size-full" >
5851 < LoadingOverlay
59- visible = { refreshingFailsafeConfigData }
52+ visible = { true }
6053 zIndex = { 1000 }
6154 overlayProps = { { blur : 2 } }
6255 />
56+ </ div >
57+ )
58+
59+ return (
60+ < div className = "relative size-full" >
6361 < div className = "max-w-screen-lg p-4 space-y-16" >
6462 < div className = "space-y-2" >
6563 < h1 className = "text-lg font-bold tracking-wide pb-2" >
@@ -75,7 +73,7 @@ export default function Failsafes() {
7573 description = "Set to 0 to disable."
7674 suffix = "V"
7775 min = { 0 }
78- value = { params . BATT_LOW_VOLT }
76+ value = { failsafeConfig . BATT_LOW_VOLT }
7977 onChange = { ( value ) =>
8078 debouncedUpdate ( "BATT_LOW_VOLT" , Number ( value ) )
8179 }
0 commit comments