|
34 | 34 | bandwidth = enums.PICO_BANDWIDTH_LIMITER["PICO_BW_FULL"] |
35 | 35 | status["setChannelA"] = ps.ps6000aSetChannelOn(chandle, channelA, coupling, channelRange, 0, bandwidth) |
36 | 36 | assert_pico_ok(status["setChannelA"]) |
| 37 | +channelA = enums.PICO_CHANNEL["PICO_CHANNEL_B"] |
| 38 | +status["setChannelB"] = ps.ps6000aSetChannelOn(chandle, channelB, coupling, channelRange, 0, bandwidth) |
| 39 | +assert_pico_ok(status["setChannelB"]) |
37 | 40 |
|
38 | | -# set channel B-H off |
39 | | -for x in range(1, 7, 1): |
| 41 | +# set channel C-H off |
| 42 | +for x in range(2, 7, 1): |
40 | 43 | channel = x |
41 | 44 | status["setChannel", x] = ps.ps6000aSetChannelOff(chandle, channel) |
42 | 45 | assert_pico_ok(status["setChannel", x]) |
|
61 | 64 | maxBuffers = 10 |
62 | 65 |
|
63 | 66 | bufferA = ((ctypes.c_int16 * nSamples) * 10)() |
| 67 | +bufferB = ((ctypes.c_int16 * nSamples) * 10)() |
64 | 68 |
|
65 | 69 | print(bufferA) |
66 | 70 | # Set data buffers |
|
75 | 79 | clear = enums.PICO_ACTION["PICO_CLEAR_ALL"] |
76 | 80 | add = enums.PICO_ACTION["PICO_ADD"] |
77 | 81 | action = clear | add # PICO_ACTION["PICO_CLEAR_WAVEFORM_CLEAR_ALL"] | PICO_ACTION["PICO_ADD"] |
78 | | -status["setDataBuffers"] = ps.ps6000aSetDataBuffer(chandle, channelA, ctypes.byref(bufferA[0]), nSamples, dataType, |
| 82 | +actionB = add |
| 83 | +status["setDataBuffersA"] = ps.ps6000aSetDataBuffer(chandle, channelA, ctypes.byref(bufferA[0]), nSamples, dataType, |
79 | 84 | waveform, downSampleMode, action) |
80 | | -assert_pico_ok(status["setDataBuffers"]) |
| 85 | +assert_pico_ok(status["setDataBuffersA"]) |
| 86 | +status["setDataBuffersB"] = ps.ps6000aSetDataBuffer(chandle, channelB, ctypes.byref(bufferA[0]), nSamples, dataType, |
| 87 | + waveform, downSampleMode, actionB) |
| 88 | +assert_pico_ok(status["setDataBuffersB"]) |
81 | 89 |
|
82 | 90 | # Run streaming |
83 | 91 | sampleInterval = ctypes.c_double(1) |
|
90 | 98 | downSampleRatio, downSampleMode) |
91 | 99 | assert_pico_ok(status["runStreaming"]) |
92 | 100 |
|
93 | | -streamData = structs.PICO_STREAMING_DATA_INFO(channelA, downSampleRatio, dataType, 0, 0, 0, 0) |
| 101 | +streamData = (structs.PICO_STREAMING_DATA_INFO * 2)() |
| 102 | +streamData[0] = structs.PICO_STREAMING_DATA_INFO(channelA, downSampleRatio, dataType, 0, 0, 0, 0) |
| 103 | +streamData[1] = structs.PICO_STREAMING_DATA_INFO(channelB, downSampleRatio, dataType, 0, 0, 0, 0) |
94 | 104 |
|
95 | 105 | streamTrigger = structs.PICO_STREAMING_DATA_TRIGGER_INFO(0, 0, 0) |
96 | 106 |
|
97 | 107 | count = 1 |
98 | 108 |
|
99 | | -actionB = add |
| 109 | + |
100 | 110 |
|
101 | 111 | picoOk = PICO_STATUS["PICO_OK"] |
102 | 112 |
|
|
111 | 121 | else: |
112 | 122 | count = count + 1 |
113 | 123 | if count <= maxBuffers: |
114 | | - status["setDataBuffer"] = ps.ps6000aSetDataBuffer(chandle, channelA, ctypes.byref(bufferA[count - 1]), |
| 124 | + status["setDataBufferA"] = ps.ps6000aSetDataBuffer(chandle, channelA, ctypes.byref(bufferA[count - 1]), |
| 125 | + nSamples, dataType, waveform, downSampleMode, actionB) |
| 126 | + assert_pico_ok(status["setDataBufferA"]) |
| 127 | + status["setDataBufferB"] = ps.ps6000aSetDataBuffer(chandle, channelB, ctypes.byref(bufferB[count - 1]), |
115 | 128 | nSamples, dataType, waveform, downSampleMode, actionB) |
116 | | - assert_pico_ok(status["setDataBuffer"]) |
| 129 | + assert_pico_ok(status["setDataBufferB"]) |
117 | 130 | print(count) |
118 | 131 |
|
119 | 132 | print("streaming finished") |
|
130 | 143 | for j in range(0, 9): |
131 | 144 | A = bufferA[j] |
132 | 145 | bufferAmV[j] = adc2mV(A, channelRange, maxADC) |
| 146 | + B = bufferB[j] |
| 147 | + bufferBmV[j] = adc2mV(B, channelRange, maxADC) |
133 | 148 |
|
134 | 149 | # Close the scope |
135 | 150 | status["closeunit"] = ps.ps6000aCloseUnit(chandle) |
|
0 commit comments