Resolves issue with channels outside range shown

This commit is contained in:
rcarteraz 2023-06-04 12:32:30 -07:00 committed by Sacha Weatherstone
parent e2a85f629e
commit 82819e1445

View file

@ -263,21 +263,24 @@ export const FrequencyCalculator = (): JSX.Element => {
useEffect(() => { useEffect(() => {
const selectedRegion = RegionData.get(region); const selectedRegion = RegionData.get(region);
const selectedModemPreset = modemPresets.get(modemPreset); const selectedModemPreset = modemPresets.get(modemPreset);
setNumChannels( const calculatedNumChannels = Math.floor(
Math.floor( (selectedRegion.freq_end - selectedRegion.freq_start) /
(selectedRegion.freq_end - selectedRegion.freq_start) / (selectedRegion.spacing + selectedModemPreset.bw / 1000),
(selectedRegion.spacing + selectedModemPreset.bw / 1000),
),
); );
if (channel >= numChannels) { setNumChannels(calculatedNumChannels);
setChannel(numChannels - 1);
let updatedChannel = channel;
if (updatedChannel >= calculatedNumChannels) {
updatedChannel = 0;
} }
setChannel(updatedChannel);
setChannelFrequency( setChannelFrequency(
selectedRegion.freq_start + selectedRegion.freq_start +
selectedModemPreset.bw / 2000 + selectedModemPreset.bw / 2000 +
channel * (selectedModemPreset.bw / 1000), updatedChannel * (selectedModemPreset.bw / 1000),
); );
}, [modemPreset, region, channel]); }, [modemPreset, region, channel]);