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.

Constants

FAKE_DATA

A false status message used for testing and simulation mode, where a PRC-163 radio might not be present.

Public Class Methods

fake_battery_data()

Create stubbed GPS data for running in simulation mode.

# File lib/ravn/hal/device/prc163_radio.rb, line 1112
def self::fake_battery_data
        return FAKE_DATA[ :battery ].merge(
                charge: rand( 100 )
        )
end
fake_gps_data()

Create stubbed GPS data for running in simulation mode.

# File lib/ravn/hal/device/prc163_radio.rb, line 1102
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
fake_rt1_state_data()

Create a stubbed version of the data for RT1 status.

# File lib/ravn/hal/device/prc163_radio.rb, line 1126
def self::fake_rt1_state_data
        return FAKE_DATA[ :rt1_state ].dup
end
fake_rt1_volume_data()

Create a stubbed version of the data for RT1 volume.

# File lib/ravn/hal/device/prc163_radio.rb, line 1132
def self::fake_rt1_volume_data
        return FAKE_DATA[ :rt1_volume ].dup
end
fake_rt2_state_data()

Create a stubbed version of the data for RT2 status.

# File lib/ravn/hal/device/prc163_radio.rb, line 1138
def self::fake_rt2_state_data
        return FAKE_DATA[ :rt2_state ].dup
end
fake_rt2_volume_data()

Create a stubbed version of the data for RT2 volume.

# File lib/ravn/hal/device/prc163_radio.rb, line 1144
def self::fake_rt2_volume_data
        return FAKE_DATA[ :rt2_volume ].dup
end
fake_version_data()

Create stubbed version data for running in simulation mode.

# File lib/ravn/hal/device/prc163_radio.rb, line 1120
def self::fake_version_data
        return FAKE_DATA[ :version ].dup
end

Public Instance Methods

request_battery_info()

Emit a fake battery event.

# File lib/ravn/hal/device/prc163_radio.rb, line 1168
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
request_gps_info()

Emit a fake GPS event.

# File lib/ravn/hal/device/prc163_radio.rb, line 1159
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
request_rt_info()

Emit fake RT status events

# File lib/ravn/hal/device/prc163_radio.rb, line 1177
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
request_version_info()

Emit a fake versions event.

# File lib/ravn/hal/device/prc163_radio.rb, line 1150
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