MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / set_mac_commands

Method set_mac_commands

chirpstack/src/downlink/data.rs:639–675  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

637 }
638
639 async fn set_mac_commands(&mut self) -> Result<()> {
640 let conf = config::get();
641 if conf.network.mac_commands_disabled {
642 return Ok(());
643 }
644
645 // First we set all mac-commands. This does not take the max. payload size in mind, that
646 // will be taken care of in one of the next steps.
647 self._request_custom_channel_reconfiguration().await?;
648 self._request_channel_mask_reconfiguration().await?;
649 self._request_adr_change().await?;
650 self._request_device_status()?;
651 self._request_rejoin_param_setup().await?;
652 self._set_ping_slot_parameters().await?;
653 self._set_rx_parameters().await?;
654 self._set_tx_parameters().await?;
655
656 if let Some(relay_params) = self.device_profile.relay_params.clone() {
657 if relay_params.is_relay {
658 self._update_relay_conf().await?;
659 self._update_filter_list().await?;
660 self._update_uplink_list().await?;
661 self._request_ctrl_uplink_list().await?;
662 self._configure_fwd_limit_req().await?;
663 }
664
665 if relay_params.is_relay_ed {
666 self._update_end_device_conf().await?;
667 }
668 }
669
670 let ds = self.device.get_device_session()?;
671
672 self.mac_commands = filter_mac_commands(ds, &self.mac_commands);
673
674 Ok(())
675 }
676
677 fn _something_to_send(&self) -> bool {
678 // No device-queue item to send, no mac-commands to send, no ACK to send

Callers 2

_handle_responseMethod · 0.80

Tested by

no test coverage detected