def output(self):
        """
        output: None -> valid API frame (binary data)

        output will produce a valid API frame for transmission to an
        XBee module.
        """
        # start is one byte long, length is two bytes
        # data is n bytes long (indicated by length)
        # chksum is one byte long
        data = self.len_bytes() + self.data + self.checksum()

        # Only run the escaoe process if it hasn't been already
        if self.escaped and len(self.raw_data) < 1:
            self.raw_data = APIFrame.escape(data)

        if self.escaped:
            data = self.raw_data

        # Never escape start byte
        return APIFrame.START_BYTE + data
output: None -> valid API frame (binary data)

        output will produce a valid API frame for transmission to an
        XBee module.