init, changed a few things for GEIGERnet-Server, added sounds for receiving RDS message
This commit is contained in:
commit
fe76810459
38 changed files with 1059 additions and 0 deletions
43
helpers.lua
Normal file
43
helpers.lua
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
function ham_radio.validate_frequency(frequency, is_receiver)
|
||||
if frequency == "" then
|
||||
return { result = true, message = '' } -- empty frequency is allowed to disable transmitter/receiver
|
||||
end
|
||||
local transmission_is_allowed = true
|
||||
local num_freq = tonumber(frequency)
|
||||
local freq = tostring(num_freq)
|
||||
if is_receiver == nil and next(ham_radio.find_transmitters(frequency)) then
|
||||
if num_freq >= ham_radio.settings.locked_frequency.min
|
||||
and num_freq <= ham_radio.settings.locked_frequency.max then
|
||||
-- transmitter is in locked frequency range
|
||||
transmission_is_allowed = false
|
||||
end
|
||||
end
|
||||
local result = true
|
||||
local message = ''
|
||||
if freq ~= frequency or num_freq ~= math.floor(num_freq) then
|
||||
result = false
|
||||
message = 'Error: invalid frequency value.'
|
||||
elseif num_freq == nil then
|
||||
result = false
|
||||
message = 'Error: frequency should be numeric.'
|
||||
elseif num_freq < ham_radio.settings.frequency.min or num_freq > ham_radio.settings.frequency.max then
|
||||
result = false
|
||||
message = 'Error: frequency is out of range.'
|
||||
elseif transmission_is_allowed == false then
|
||||
result = false
|
||||
message = 'Error: frequency is occupied by other transmitter.'
|
||||
end
|
||||
return { result = result, message = message }
|
||||
end
|
||||
|
||||
function ham_radio.find_free_frequency(range)
|
||||
local frequency = -1
|
||||
while frequency == -1 do
|
||||
frequency = tostring(math.floor(math.random(range.min, range.max)));
|
||||
local are_there_transmitters = ham_radio.find_transmitters(frequency)
|
||||
if next(are_there_transmitters) then
|
||||
frequency = -1
|
||||
end
|
||||
end
|
||||
return frequency
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue