def METHOD_NAME(self, value) -> list[str]:
    if self.sweep_method != "scan_mask":
        return super().METHOD_NAME(value)
    logger.debug("readValue with scan mask (%s)", value)
    # Actually grab the data only when requesting channel 0.
    # The hardware will return all channels which we will store.
    if value == "data 0":
        self._sweepdata = []
        for line in self.exec_command(
            f"scan {self.start} {self.stop} {self.datapoints} 0b110"
        ):
            data = line.split()
            self._sweepdata.append(
                (f"{data[0]} {data[1]}", f"{data[2]} {data[3]}")
            )
    if value == "data 0":
        return [x[0] for x in self._sweepdata]
    if value == "data 1":
        return [x[1] for x in self._sweepdata]