@@ -823,21 +823,25 @@ def setup_instrument(
823823 self .task_name , self .instrument , ModelPriority = priority
824824 )
825825
826- @default_args (transmitterBaudRate = - 8e6 , transmitterNumBuffers = 100 )
826+ @default_args (
827+ transmitterBaudRate = - 8e6 , transmitterNumBuffers = 100 , transmitterPacketSize = None
828+ )
827829 def setup_transmitter (
828830 self ,
829831 transmitterBaudRate : float ,
830832 instrumentBaudRate : float ,
831833 transmitterNumBuffers : int ,
834+ transmitterPacketSize : Optional [float ] = None ,
832835 priority : int = 798 ,
833836 ** kwargs ,
834837 ) -> None :
835838 """Set up the transmitter model for downlinking data.
836839
837840 Args:
838841 transmitterBaudRate: [baud] Rate of data downlink. Should be negative.
839- instrumentBaudRate: [bits] Image size, used to set packet size.
842+ instrumentBaudRate: [bits] Image size, used to set packet size if ``transmitterPacketSize`` is not specified .
840843 transmitterNumBuffers: Number of transmitter buffers
844+ transmitterPacketSize: [bits] Minimum data amount to be downlinked for a partition. If ``None``, set as ``instrumentBaudRate``.
841845 priority: Model priority.
842846 kwargs: Passed to other setup functions.
843847 """
@@ -846,8 +850,11 @@ def setup_transmitter(
846850 self .transmitter = spaceToGroundTransmitter .SpaceToGroundTransmitter ()
847851 self .transmitter .ModelTag = "transmitter" + self .satellite .name
848852 self .transmitter .nodeBaudRate = transmitterBaudRate # baud
849- # set packet size equal to the size of a single image
850- self .transmitter .packetSize = - instrumentBaudRate # bits
853+ if transmitterPacketSize is None :
854+ # set packet size equal to the size of a single image
855+ self .transmitter .packetSize = - instrumentBaudRate # bits
856+ else :
857+ self .transmitter .packetSize = transmitterPacketSize # bits
851858 self .transmitter .numBuffers = transmitterNumBuffers
852859 self .simulator .AddModelToTask (
853860 self .task_name , self .transmitter , ModelPriority = priority
0 commit comments