Beispiel #1
0
        def run(self):
            DataArray = c_short * self.NUM_CHUNK_SAMPLES
            rawChan = DataArray()
            self.dataNode.deleteData()

            while not self.stopped:
                status = self.deviceLib.acquireChunk(
                    c_char_p(self.addr), byref(rawChan), c_int(self.NUM_CHUNK_SAMPLES))
                if status == -1:
                    print ('Acquisition Failed')
                    return

                Event.stream(0, 'demostream_chan', Float32(self.currTime), Float32(rawChan[0]))
                dataArr = Int16Array(rawChan)
                startTime = Float64(self.currTime)
                endTime = Float64(
                    self.currTime + self.period * self.NUM_CHUNK_SAMPLES)
                dim = Range(startTime, endTime, Float64(self.period))
                self.dataNode.makeSegment(startTime, endTime, dim, dataArr)
                self.currTime += self.period * self.NUM_CHUNK_SAMPLES

                currSecond = time.time()
                if currSecond > self.prevSecond + 2:
                    Event.setevent('DEMOSTREAM_READY')
                    self.prevSecond = currSecond