refined test
git-svn-id: http://moon:8086/svn/projects/HendiControl@213 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
+73
-23
@@ -15,6 +15,14 @@ class HendiCtrl():
|
||||
|
||||
self.ser.timeout = 1.000
|
||||
self.prompt = b':'
|
||||
self.caps = {
|
||||
"name" : self.getSoftwareIdentifier(),
|
||||
"ver" : self.getSoftwareVersion(),
|
||||
"pwr_watts_min" : 500,
|
||||
"pwr_watts_max" : 3500,
|
||||
"pwr_digits_min" : 4095,
|
||||
"pwr_digits_max" : 0
|
||||
}
|
||||
|
||||
def reset(self):
|
||||
self.ser.dtr = True
|
||||
@@ -85,19 +93,11 @@ class HendiCtrl():
|
||||
return None
|
||||
|
||||
def getCapabilties(self):
|
||||
caps = {
|
||||
"name" : self.getSoftwareIdentifier(),
|
||||
"ver" : self.getSoftwareVersion(),
|
||||
"pwr_watts_min" : 500,
|
||||
"pwr_watts_max" : 3500,
|
||||
"pwr_digits_min" : 4095,
|
||||
"pwr_digits_max" : 0
|
||||
}
|
||||
return caps
|
||||
return self.caps
|
||||
|
||||
def getInfo(self):
|
||||
result = {
|
||||
'caps' : self.getCapabilties(),
|
||||
'caps' : self.caps,
|
||||
'state' : self.getState(),
|
||||
'pwr_digits' : self.getPowerDigits(),
|
||||
'Switch_state' : self.getSwitch()
|
||||
@@ -137,30 +137,80 @@ class HendiCtrl():
|
||||
def getSwitch(self):
|
||||
return self.cmd("S?")
|
||||
|
||||
def setPowerWatts(self, power_watts):
|
||||
pwr_watts_min = self.caps['pwr_watts_min']
|
||||
pwr_watts_max = self.caps['pwr_watts_max']
|
||||
pwr_digits_min = self.caps['pwr_digits_min']
|
||||
pwr_digits_max = self.caps['pwr_digits_max']
|
||||
|
||||
pwr_watts_range = pwr_watts_max - pwr_watts_min
|
||||
pwr_digits_range = pwr_digits_max - pwr_digits_min
|
||||
digits_per_watt = pwr_digits_range/pwr_watts_range
|
||||
pwr_digits = pwr_digits_min + digits_per_watt * (power_watts - pwr_watts_min)
|
||||
|
||||
max_digit = max(pwr_digits_max, pwr_digits_min)
|
||||
min_digit = min(pwr_digits_max, pwr_digits_min)
|
||||
pwr_digit = min(max_digit, max(min_digit, pwr_digits)) + 0.5
|
||||
|
||||
self.setPowerDigits(pwr_digits)
|
||||
|
||||
def getPowerWatts(self):
|
||||
pwr_watts_min = self.caps['pwr_watts_min']
|
||||
pwr_watts_max = self.caps['pwr_watts_max']
|
||||
pwr_digits_min = self.caps['pwr_digits_min']
|
||||
pwr_digits_max = self.caps['pwr_digits_max']
|
||||
|
||||
pwr_watts_range = pwr_watts_max - pwr_watts_min
|
||||
pwr_digits_range = pwr_digits_max - pwr_digits_min
|
||||
digits_per_watt = pwr_digits_range/pwr_watts_range
|
||||
|
||||
max_digit = max(pwr_digits_max, pwr_digits_min)
|
||||
min_digit = min(pwr_digits_max, pwr_digits_min)
|
||||
pwr_digit = int(self.getPowerDigits())
|
||||
|
||||
pwr_watts = (pwr_digit - pwr_digits_min)/digits_per_watt + pwr_watts_min
|
||||
|
||||
return int(pwr_watts)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
hendi = HendiCtrl('/dev/ttyUSB0', 115200)
|
||||
|
||||
hendi.firmware_update("HendiCtrl.srec")
|
||||
hendi.reset()
|
||||
time.sleep(0.5)
|
||||
# hendi.firmware_update("HendiCtrl.srec")
|
||||
# hendi.reset()
|
||||
time.sleep(10)
|
||||
|
||||
hendi.getState()
|
||||
hendi.getSoftwareIdentifier()
|
||||
hendi.getSoftwareVersion()
|
||||
hendi.setPower(1234)
|
||||
hendi.setSwitch(1)
|
||||
|
||||
hendi.remoteEnable(True)
|
||||
if hendi.isRemoteEnable():
|
||||
switch_state = 1
|
||||
for p in range(0, 4000, 10):
|
||||
hendi.setPowerDigits(p)
|
||||
hendi.setSwitch(switch_state)
|
||||
switch_state = not switch_state
|
||||
try:
|
||||
hendi.remoteEnable(True)
|
||||
hendi.setSwitch(1)
|
||||
for pwr in range(500, 3500, 100):
|
||||
hendi.setPowerWatts(pwr)
|
||||
time.sleep(0.1)
|
||||
pw = hendi.getPowerWatts()
|
||||
print("power_w", pw)
|
||||
time.sleep(1.0)
|
||||
|
||||
hendi.remoteEnable(False)
|
||||
except:
|
||||
pass
|
||||
|
||||
hendi.setSwitch(0)
|
||||
hendi.remoteEnable(False)
|
||||
|
||||
if 0:
|
||||
hendi.remoteEnable(True)
|
||||
if hendi.isRemoteEnable():
|
||||
hendi.setSwitch(True)
|
||||
for p in range(0, 4096, 100):
|
||||
hendi.setPowerDigits(p)
|
||||
time.sleep(1)
|
||||
|
||||
hendi.setSwitch(False)
|
||||
hendi.remoteEnable(False)
|
||||
|
||||
print ("End of program.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user