Ravn::HAL::Device::Prc163Radio::
SimulationMode
module
Override a bunch of stuff if an instance is running in simulation mode. Instances get extended with this module if simulation mode is enabled.
- FAKE_DATA
A false status message used for testing and simulation mode, where a PRC-163 radio might not be present.
Create stubbed GPS data for running in simulation mode.
def self::fake_battery_data
return FAKE_DATA[ :battery ].merge(
charge: rand( 100 )
)
end
Create stubbed GPS data for running in simulation mode.
def self::fake_gps_data
return FAKE_DATA[ :gps ].merge(
timestamp: Time.now.utc,
latitude: ( "39.0999" + rand(10).to_s ).to_f,
longitude: ( "-94.5812" + rand(10).to_s ).to_f
)
end
Create a stubbed version of the data for RT1 status.
def self::fake_rt1_state_data
return FAKE_DATA[ :rt1_state ].dup
end
Create a stubbed version of the data for RT1 volume.
def self::fake_rt1_volume_data
return FAKE_DATA[ :rt1_volume ].dup
end
Create a stubbed version of the data for RT2 status.
def self::fake_rt2_state_data
return FAKE_DATA[ :rt2_state ].dup
end
Create a stubbed version of the data for RT2 volume.
def self::fake_rt2_volume_data
return FAKE_DATA[ :rt2_volume ].dup
end
Create stubbed version data for running in simulation mode.
def self::fake_version_data
return FAKE_DATA[ :version ].dup
end
Emit a fake battery event.
def request_battery_info
self.log.warn "Emitting simulated battery event"
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_battery_data
message = Ravn::HAL::Message.new( 'sys.radio.battery', data: )
self.filter_up( message )
end
Emit a fake GPS event.
def request_gps_info
self.log.warn "Emitting simulated GPS event"
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_gps_data
message = self.build_gps_message( data )
self.filter_up( message )
end
Emit fake RT status events
def request_rt_info
self.log.warn "Emitting simulated RT status events"
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_rt1_state_data
message = Ravn::HAL::Message.new( 'sys.radio.channel', data: )
self.filter_up( message )
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_rt1_volume_data
message = Ravn::HAL::Message.new( 'sys.radio.volume', data: )
self.filter_up( message )
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_rt2_state_data
message = Ravn::HAL::Message.new( 'sys.radio.channel', data: )
self.filter_up( message )
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_rt2_volume_data
message = Ravn::HAL::Message.new( 'sys.radio.volume', data: )
self.filter_up( message )
end
Emit a fake versions event.
def request_version_info
self.log.warn "Emitting simulated versions event"
data = Ravn::HAL::Device::Prc163Radio::SimulationMode.fake_version_data
message = Ravn::HAL::Message.new( 'sys.radio.versions', data: )
self.filter_up( message )
end