示例#1
0
 def ISNewNumber(self, dev, name, values, names, n):
     if (dev != self.name):
         return False
     self.logger.info("ISNewNumber " + dev + " property " + name)
     nvp = self.getNumber(name)
     if not nvp:
         return False
     if name == 'SIMULATOR_SETTINGS':
         cvalues = PyIndiDriver.new_doubleArray(n)
         for i in range(len(values)):
             self.logger.info('  ' + names[i] + ' = ' + str(values[i]))
             PyIndiDriver.doubleArray_setitem(cvalues, i, values[i])
         PyIndiDriver.IUUpdateNumber(nvp, cvalues, names, n)
         nvp.s = PyIndi.IPS_OK
         # Reset our parameters now
         #SetupParms();
         PyIndiDriver.IDSetNumber(nvp, None)
         #saveConfig();
         #IDLog("Frame set to %4.0f,%4.0f %4.0f x %4.0f\n",CcdFrameN[0].value,CcdFrameN[1].value,CcdFrameN[2].value,CcdFrameN[3].value);
         #self.seeing=nvp[0].value
         return True
     cvalues = PyIndiDriver.new_doubleArray(n)
     for i in range(len(values)):
         self.logger.info('  ' + names[i] + ' = ' + str(values[i]))
         PyIndiDriver.doubleArray_setitem(cvalues, i, values[i])
     if super(CCDSimulator, self).ISNewNumber(dev, name, cvalues, names, n):
         return True
     return False
示例#2
0
 def ISNewBLOB (self, dev, name, sizes, blobsizes, blobs, formats, names, n):
     self.logger.info("ISNewBLOB " + dev + " property " + name)
     if (dev != self.name):
         return False
     bvp=self.getBLOB(name)
     if not bvp:
         return False
     if not self.isConnected():
         bvp.s=PyIndi.IPS_ALERT
         PyIndiDriver.IDSetNumber(bvp, "Cannot change property while device is disconnected.")
         return False
     if (bvp.name == "BLOB Test"):
         csizes=PyIndiDriver.new_intArray(n)
         for i in range(len(sizes)):
             PyIndiDriver.intArray_setitem(csizes, i, sizes[i])
             #PyIndiDriver.IDLog('BLOB '+str(i)+' Content:\n##################################\n'+blobs[i]+'\n##################################\n')
         cblobsizes=PyIndiDriver.new_intArray(n)
         for i in range(len(blobsizes)):
             PyIndiDriver.intArray_setitem(cblobsizes, i, blobsizes[i])
         
         PyIndiDriver.IUUpdateBLOB(bvp, csizes, cblobsizes, blobs, formats, names, n);
         bp = PyIndiDriver.IUFindBLOB(bvp, names[0])
         if (not bp):
             return False
         PyIndiDriver.IDLog('Received BLOB with name '+bp.name+', format '+getattr(bp,'format')+', and size '+str(bp.size)+', and bloblen '+str(bp.bloblen)+'\n')
         #PyIndiDriver.IDLog('BLOB Content:\n##################################\n'+str(bp.getblobdata())+'\n##################################\n')
         bp.size=0
         bvp.s = PyIndi.IPS_OK
         PyIndiDriver.IDSetBLOB(bvp, None)
     return True
示例#3
0
 def ISNewNumber (self, dev, name, values, names, n):
     self.logger.info("ISNewNumber " + dev + " property " + name)
     if (dev != self.name):
         return False
     nvp=self.getNumber(name)
     if not nvp:
         return False
     if not self.isConnected():
         nvp.s=PyIndi.IPS_ALERT
         PyIndiDriver.IDSetNumber(nvp, "Cannot change property while device is disconnected.")
         return False
     if (name == "Number Property"):
         cvalues=PyIndiDriver.new_doubleArray(n)
         for i in range(len(values)):
             self.logger.info('  ' + names[i] + ' = ' + str(values[i])) 
             PyIndiDriver.doubleArray_setitem(cvalues, i, values[i])
         PyIndiDriver.IUUpdateNumber(nvp, cvalues, names, n)
         print names
         nvp.s=PyIndi.IPS_OK
         PyIndiDriver.IDSetNumber(nvp, None)
         return True           
     return False