Skip to content
  • Caileigh Fitzgerald's avatar
    5745d01b
    Changelog: · 5745d01b
    Caileigh Fitzgerald authored
    - `modem_sim_node`, new msg type `SimStatus.msg`
      - added new status topic for the modem_sim `SimStatus.msg`.
      - added new param for publishing partial packets like the `acomms_driver_node` called: `~publish_partial_packets` (default: True)
      - now `~publish_partial_packets` must be `True` and ReceivedPacket.cst.mode must not be `1` to publish a sim_packet on `packet_rx`. _This needs more testing!_
      - now filling out more CST fields in sim_packet (previously, just `snr_in`). Newly filled fields:
        - `toa`: time of arrival of packet (using arrival_time from bellhop)
        - `noise`: passing `total_noise` in dB for this system
        - `carrier`: `~center_frequency_hz` modem_sim rosparam
        - `bandwidth`: `~bandwidth_hz` modem_sim rosparam
        - `mode`: if `snr_in` <= 0.0, set `mode`:`1` (bad)
        - `rate_num`: `miniframe_rate` from sim_packet
        - `data_rate`: `dataframe_rate` from sim_packet
        - `src`: src, originator of this msg
        - `dest`: dest
        - `packet_type`: `5`, for type FDP mixed rate packets
        - `num_frames`: currently passing the number of `miniframe_bytes`. Need to fix this...
        - `num_data_frames`: currently passing the number of `dataframe_bytes`. Need to fix this...
    
    - `sim_packet_performance_node`
      - added the ability to fail some miniframes like we can with dataframes. Added a rosparam set to True by default `never_fail_miniframes` which will never fail the miniframes (since the metric for failing miniframes is based on the dataframes snr and prob stats and needs work, having the miniframes pass by default allows the sim to handle partial packets and just focus on failing parts of the dataframe)
      - farmed out functionality in `handle_sim(req)` to `get_frame_success(snr, rate, max_frame_count)`.
      - packet_success is now based off all frames good in mini and data frames rather than just the dataframes
    
    - `simple_noise_model_node`
      - created a `spin()` method that is called outside of init.
      - added dynamic reconfigure for the following params:
        - `mean_noise_db`: mean noise in dB for periodic ambient_noise updates
        - `noise_stddev_db`: standard deviation in mean noise dB for periodic ambient_noise updates
        - `update_every_seconds`: how often to publish update to ambient_noise topic (default 10)
    5745d01b
    Changelog:
    Caileigh Fitzgerald authored
    - `modem_sim_node`, new msg type `SimStatus.msg`
      - added new status topic for the modem_sim `SimStatus.msg`.
      - added new param for publishing partial packets like the `acomms_driver_node` called: `~publish_partial_packets` (default: True)
      - now `~publish_partial_packets` must be `True` and ReceivedPacket.cst.mode must not be `1` to publish a sim_packet on `packet_rx`. _This needs more testing!_
      - now filling out more CST fields in sim_packet (previously, just `snr_in`). Newly filled fields:
        - `toa`: time of arrival of packet (using arrival_time from bellhop)
        - `noise`: passing `total_noise` in dB for this system
        - `carrier`: `~center_frequency_hz` modem_sim rosparam
        - `bandwidth`: `~bandwidth_hz` modem_sim rosparam
        - `mode`: if `snr_in` <= 0.0, set `mode`:`1` (bad)
        - `rate_num`: `miniframe_rate` from sim_packet
        - `data_rate`: `dataframe_rate` from sim_packet
        - `src`: src, originator of this msg
        - `dest`: dest
        - `packet_type`: `5`, for type FDP mixed rate packets
        - `num_frames`: currently passing the number of `miniframe_bytes`. Need to fix this...
        - `num_data_frames`: currently passing the number of `dataframe_bytes`. Need to fix this...
    
    - `sim_packet_performance_node`
      - added the ability to fail some miniframes like we can with dataframes. Added a rosparam set to True by default `never_fail_miniframes` which will never fail the miniframes (since the metric for failing miniframes is based on the dataframes snr and prob stats and needs work, having the miniframes pass by default allows the sim to handle partial packets and just focus on failing parts of the dataframe)
      - farmed out functionality in `handle_sim(req)` to `get_frame_success(snr, rate, max_frame_count)`.
      - packet_success is now based off all frames good in mini and data frames rather than just the dataframes
    
    - `simple_noise_model_node`
      - created a `spin()` method that is called outside of init.
      - added dynamic reconfigure for the following params:
        - `mean_noise_db`: mean noise in dB for periodic ambient_noise updates
        - `noise_stddev_db`: standard deviation in mean noise dB for periodic ambient_noise updates
        - `update_every_seconds`: how often to publish update to ambient_noise topic (default 10)
Loading