We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Keithley2600 driver broken after commit 460c93c71506213102e56d3ea0c518723666d56a

### Steps to reproduce
1. Connect Keithley 2600
2. ask it for output status or mode
3. doh

### Expected behaviour
tell me what i asked for

### Actual behaviour
error because parsing fails
issue introduced in  commit 460c93c71506213102e56d3ea0c518723666d56a (@alexcjohnson)


### System
**operating system**
W10
**qcodes branch**
master
**qcodes commit**
177f8201b3778c0071c60d4e4c658449284e1a6c 

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `qcodes/instrument_drivers/tektronix/Keithley_2600.py`
Content:
```
1 from qcodes import VisaInstrument
2 
3 
4 class Keithley_2600(VisaInstrument):
5     """
6     channel: use channel 'a' or 'b'
7 
8     This is the qcodes driver for the Keithley_2600 Source-Meter series,
9     tested with Keithley_2614B
10 
11     Status: beta-version.
12         TODO:
13         - Add all parameters that are in the manual
14         - range and limit should be set according to mode
15         - add ramping and such stuff
16 
17     """
18     def __init__(self, name, address, channel, **kwargs):
19         super().__init__(name, address, terminator='\n', **kwargs)
20         self._channel = channel
21 
22         self.add_parameter('volt', get_cmd='measure.v()',
23                            get_parser=float, set_cmd='source.levelv={:.12f}',
24                            label='Voltage',
25                            unit='V')
26         self.add_parameter('curr', get_cmd='measure.i()',
27                            get_parser=float, set_cmd='source.leveli={:.12f}',
28                            label='Current',
29                            unit='A')
30         self.add_parameter('mode',
31                            get_cmd='source.func',
32                            set_cmd='source.func={:d}',
33                            val_mapping={'current': 0, 'voltage': 1})
34         self.add_parameter('output',
35                            get_cmd='source.output',
36                            set_cmd='source.output={:d}',
37                            val_mapping={'on':  1, 'off': 0})
38         # Source range
39         # needs get after set
40         self.add_parameter('rangev',
41                            get_cmd='source.rangev',
42                            get_parser=float,
43                            set_cmd='source.rangev={:.4f}',
44                            unit='V')
45         # Measure range
46         # needs get after set
47         self.add_parameter('rangei',
48                            get_cmd='source.rangei',
49                            get_parser=float,
50                            set_cmd='source.rangei={:.4f}',
51                            unit='A')
52         # Compliance limit
53         self.add_parameter('limitv',
54                            get_cmd='source.limitv',
55                            get_parser=float,
56                            set_cmd='source.limitv={:.4f}',
57                            unit='V')
58         # Compliance limit
59         self.add_parameter('limiti',
60                            get_cmd='source.limiti',
61                            get_parser=float,
62                            set_cmd='source.limiti={:.4f}',
63                            unit='A')
64 
65         self.connect_message()
66 
67     def get_idn(self):
68         IDN = self.ask_raw('*IDN?')
69         vendor, model, serial, firmware = map(str.strip, IDN.split(','))
70         model = model[6:]
71 
72         IDN = {'vendor': vendor, 'model': model,
73                'serial': serial, 'firmware': firmware}
74         return IDN
75 
76     def reset(self):
77         self.write('reset()')
78 
79     def ask(self, cmd):
80         return super().ask('print(smu{:s}.{:s})'.format(self._channel, cmd))
81 
82     def write(self, cmd):
83         super().write('smu{:s}.{:s}'.format(self._channel, cmd))
84
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/qcodes/instrument_drivers/tektronix/Keithley_2600.py b/qcodes/instrument_drivers/tektronix/Keithley_2600.py
--- a/qcodes/instrument_drivers/tektronix/Keithley_2600.py
+++ b/qcodes/instrument_drivers/tektronix/Keithley_2600.py
@@ -19,20 +19,26 @@
         super().__init__(name, address, terminator='\n', **kwargs)
         self._channel = channel
 
-        self.add_parameter('volt', get_cmd='measure.v()',
-                           get_parser=float, set_cmd='source.levelv={:.12f}',
+        self.add_parameter('volt',
+                           get_cmd='measure.v()',
+                           get_parser=float,
+                           set_cmd='source.levelv={:.12f}',
                            label='Voltage',
                            unit='V')
-        self.add_parameter('curr', get_cmd='measure.i()',
-                           get_parser=float, set_cmd='source.leveli={:.12f}',
+        self.add_parameter('curr',
+                           get_cmd='measure.i()',
+                           get_parser=float,
+                           set_cmd='source.leveli={:.12f}',
                            label='Current',
                            unit='A')
         self.add_parameter('mode',
                            get_cmd='source.func',
+                           get_parser=float,
                            set_cmd='source.func={:d}',
                            val_mapping={'current': 0, 'voltage': 1})
         self.add_parameter('output',
                            get_cmd='source.output',
+                           get_parser=float,
                            set_cmd='source.output={:d}',
                            val_mapping={'on':  1, 'off': 0})
         # Source range

{"golden_diff": "diff --git a/qcodes/instrument_drivers/tektronix/Keithley_2600.py b/qcodes/instrument_drivers/tektronix/Keithley_2600.py\n--- a/qcodes/instrument_drivers/tektronix/Keithley_2600.py\n+++ b/qcodes/instrument_drivers/tektronix/Keithley_2600.py\n@@ -19,20 +19,26 @@\n         super().__init__(name, address, terminator='\\n', **kwargs)\n         self._channel = channel\n \n-        self.add_parameter('volt', get_cmd='measure.v()',\n-                           get_parser=float, set_cmd='source.levelv={:.12f}',\n+        self.add_parameter('volt',\n+                           get_cmd='measure.v()',\n+                           get_parser=float,\n+                           set_cmd='source.levelv={:.12f}',\n                            label='Voltage',\n                            unit='V')\n-        self.add_parameter('curr', get_cmd='measure.i()',\n-                           get_parser=float, set_cmd='source.leveli={:.12f}',\n+        self.add_parameter('curr',\n+                           get_cmd='measure.i()',\n+                           get_parser=float,\n+                           set_cmd='source.leveli={:.12f}',\n                            label='Current',\n                            unit='A')\n         self.add_parameter('mode',\n                            get_cmd='source.func',\n+                           get_parser=float,\n                            set_cmd='source.func={:d}',\n                            val_mapping={'current': 0, 'voltage': 1})\n         self.add_parameter('output',\n                            get_cmd='source.output',\n+                           get_parser=float,\n                            set_cmd='source.output={:d}',\n                            val_mapping={'on':  1, 'off': 0})\n         # Source range\n", "issue": "Keithley2600 driver broken after commit 460c93c71506213102e56d3ea0c518723666d56a\n\r\n### Steps to reproduce\r\n1. Connect Keithley 2600\r\n2. ask it for output status or mode\r\n3. doh\r\n\r\n### Expected behaviour\r\ntell me what i asked for\r\n\r\n### Actual behaviour\r\nerror because parsing fails\r\nissue introduced in  commit 460c93c71506213102e56d3ea0c518723666d56a (@alexcjohnson)\r\n\r\n\r\n### System\r\n**operating system**\r\nW10\r\n**qcodes branch**\r\nmaster\r\n**qcodes commit**\r\n177f8201b3778c0071c60d4e4c658449284e1a6c \n", "before_files": [{"content": "from qcodes import VisaInstrument\n\n\nclass Keithley_2600(VisaInstrument):\n    \"\"\"\n    channel: use channel 'a' or 'b'\n\n    This is the qcodes driver for the Keithley_2600 Source-Meter series,\n    tested with Keithley_2614B\n\n    Status: beta-version.\n        TODO:\n        - Add all parameters that are in the manual\n        - range and limit should be set according to mode\n        - add ramping and such stuff\n\n    \"\"\"\n    def __init__(self, name, address, channel, **kwargs):\n        super().__init__(name, address, terminator='\\n', **kwargs)\n        self._channel = channel\n\n        self.add_parameter('volt', get_cmd='measure.v()',\n                           get_parser=float, set_cmd='source.levelv={:.12f}',\n                           label='Voltage',\n                           unit='V')\n        self.add_parameter('curr', get_cmd='measure.i()',\n                           get_parser=float, set_cmd='source.leveli={:.12f}',\n                           label='Current',\n                           unit='A')\n        self.add_parameter('mode',\n                           get_cmd='source.func',\n                           set_cmd='source.func={:d}',\n                           val_mapping={'current': 0, 'voltage': 1})\n        self.add_parameter('output',\n                           get_cmd='source.output',\n                           set_cmd='source.output={:d}',\n                           val_mapping={'on':  1, 'off': 0})\n        # Source range\n        # needs get after set\n        self.add_parameter('rangev',\n                           get_cmd='source.rangev',\n                           get_parser=float,\n                           set_cmd='source.rangev={:.4f}',\n                           unit='V')\n        # Measure range\n        # needs get after set\n        self.add_parameter('rangei',\n                           get_cmd='source.rangei',\n                           get_parser=float,\n                           set_cmd='source.rangei={:.4f}',\n                           unit='A')\n        # Compliance limit\n        self.add_parameter('limitv',\n                           get_cmd='source.limitv',\n                           get_parser=float,\n                           set_cmd='source.limitv={:.4f}',\n                           unit='V')\n        # Compliance limit\n        self.add_parameter('limiti',\n                           get_cmd='source.limiti',\n                           get_parser=float,\n                           set_cmd='source.limiti={:.4f}',\n                           unit='A')\n\n        self.connect_message()\n\n    def get_idn(self):\n        IDN = self.ask_raw('*IDN?')\n        vendor, model, serial, firmware = map(str.strip, IDN.split(','))\n        model = model[6:]\n\n        IDN = {'vendor': vendor, 'model': model,\n               'serial': serial, 'firmware': firmware}\n        return IDN\n\n    def reset(self):\n        self.write('reset()')\n\n    def ask(self, cmd):\n        return super().ask('print(smu{:s}.{:s})'.format(self._channel, cmd))\n\n    def write(self, cmd):\n        super().write('smu{:s}.{:s}'.format(self._channel, cmd))\n", "path": "qcodes/instrument_drivers/tektronix/Keithley_2600.py"}], "after_files": [{"content": "from qcodes import VisaInstrument\n\n\nclass Keithley_2600(VisaInstrument):\n    \"\"\"\n    channel: use channel 'a' or 'b'\n\n    This is the qcodes driver for the Keithley_2600 Source-Meter series,\n    tested with Keithley_2614B\n\n    Status: beta-version.\n        TODO:\n        - Add all parameters that are in the manual\n        - range and limit should be set according to mode\n        - add ramping and such stuff\n\n    \"\"\"\n    def __init__(self, name, address, channel, **kwargs):\n        super().__init__(name, address, terminator='\\n', **kwargs)\n        self._channel = channel\n\n        self.add_parameter('volt',\n                           get_cmd='measure.v()',\n                           get_parser=float,\n                           set_cmd='source.levelv={:.12f}',\n                           label='Voltage',\n                           unit='V')\n        self.add_parameter('curr',\n                           get_cmd='measure.i()',\n                           get_parser=float,\n                           set_cmd='source.leveli={:.12f}',\n                           label='Current',\n                           unit='A')\n        self.add_parameter('mode',\n                           get_cmd='source.func',\n                           get_parser=float,\n                           set_cmd='source.func={:d}',\n                           val_mapping={'current': 0, 'voltage': 1})\n        self.add_parameter('output',\n                           get_cmd='source.output',\n                           get_parser=float,\n                           set_cmd='source.output={:d}',\n                           val_mapping={'on':  1, 'off': 0})\n        # Source range\n        # needs get after set\n        self.add_parameter('rangev',\n                           get_cmd='source.rangev',\n                           get_parser=float,\n                           set_cmd='source.rangev={:.4f}',\n                           unit='V')\n        # Measure range\n        # needs get after set\n        self.add_parameter('rangei',\n                           get_cmd='source.rangei',\n                           get_parser=float,\n                           set_cmd='source.rangei={:.4f}',\n                           unit='A')\n        # Compliance limit\n        self.add_parameter('limitv',\n                           get_cmd='source.limitv',\n                           get_parser=float,\n                           set_cmd='source.limitv={:.4f}',\n                           unit='V')\n        # Compliance limit\n        self.add_parameter('limiti',\n                           get_cmd='source.limiti',\n                           get_parser=float,\n                           set_cmd='source.limiti={:.4f}',\n                           unit='A')\n\n        self.connect_message()\n\n    def get_idn(self):\n        IDN = self.ask_raw('*IDN?')\n        vendor, model, serial, firmware = map(str.strip, IDN.split(','))\n        model = model[6:]\n\n        IDN = {'vendor': vendor, 'model': model,\n               'serial': serial, 'firmware': firmware}\n        return IDN\n\n    def reset(self):\n        self.write('reset()')\n\n    def ask(self, cmd):\n        return super().ask('print(smu{:s}.{:s})'.format(self._channel, cmd))\n\n    def write(self, cmd):\n        super().write('smu{:s}.{:s}'.format(self._channel, cmd))\n", "path": "qcodes/instrument_drivers/tektronix/Keithley_2600.py"}]}