docs: def encode(self, pad=106):
          """Encodes this AIT command to binary.
  
          If pad is specified, it indicates the maximum size of the encoded
          command in bytes.  If the encoded command is less than pad, the
          remaining bytes are set to zero.
  
          Commands sent to ISS payloads over 1553 are limited to 64 words
          (128 bytes) with 11 words (22 bytes) of CCSDS overhead (SSP
          52050J, Section 3.2.3.4).  This leaves 53 words (106 bytes) for
          the command itself.
          """
          opcode  = struct.pack('>H', self.defn.opcode)
          offset  = len(opcode)
          size    = max(offset + self.defn.argsize, pad)
          encoded = bytearray(size)
  
          encoded[0:offset] = opcode
          encoded[offset]   = self.defn.argsize
          offset           += 1
          index             = 0
  
          for defn in self.defn.argdefns:
              if defn.fixed:
                  value = defn.value
              else:
                  value  = self.args[index]
                  index += 1
              encoded[defn.slice(offset)] = defn.encode(value)
  
          return encoded