-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e7135fc
commit aba8833
Showing
1 changed file
with
16 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,41 @@ | ||
import time | ||
from . import VISAInstrumentDriver | ||
|
||
# TODO: Need to ensure the wait time matches the filter time properly, and implement waiting here | ||
|
||
class Boonton_4240_PM(VISAInstrumentDriver): | ||
""" Boonton 4240 (4242) Two-Channel RF Power Meter | ||
`Manual: <https://boonton.com/portals/0/products/rf%20power%20meters/4240/4240_instructionmanual.pdf>`__ | ||
""" | ||
|
||
def __init__(self, name="Booton 4240 PM", address=None, **kwargs): | ||
VISAInstrumentDriver.__init__(self, name=name, address=address, **kwargs) | ||
|
||
def reset(self): | ||
return self.write("*RST") | ||
|
||
def get_id(self): | ||
def getID(self): | ||
return self.query("*IDN?") | ||
|
||
def get_filter_time(self, channel=1): | ||
def getFilterTime(self, channel=1): | ||
return float(self.query(f"SENS{channel}:FILT:TIM?")) | ||
|
||
def set_filter_time(self, time=0.05, channel=1): | ||
self.time | ||
def setFilterTime(self, time=0.05, channel=1): | ||
self.write(f"SENS{channel}:FILT:TIM {time}") | ||
|
||
def read(self, channel=1, wait_time=5): | ||
for i in range(10): | ||
# Note: this function fails for filter times beyond 1. More investigation required | ||
def read(self, channel=1): | ||
for i in range(3): | ||
try: | ||
response = self.query(f"READ{channel}:CW:POW?", wait_time=wait_time) # Averaging time | ||
response = self.query(f"READ{channel}:CW:POW?") | ||
break | ||
except: | ||
pass | ||
|
||
splitted = response.split(",") | ||
channel = int(splitted[0]) | ||
power = float(splitted[1]) | ||
return power | ||
if len(splitted) == 2: | ||
channel = int(splitted[0]) | ||
power = float(splitted[1]) | ||
return power | ||
return -99.99 | ||
|
||
|