Step 0:
Verify that your device is compatible with your computer here: http://www.picotech.com/support/kb/PicoScopeSDK-kb247
I'm using a PicoScope 2205A, which is compatible with both 32-bit and 64-bit Linux.
Step 1:
Install drivers and PicoScop software and run it to make sure everything works.
Step 2:
Install the SDK. You can get it from here: http://www.picoapps.com/coders-corner/sdks.html
I'm using the PicoScope 2205A, which currently results in version "R10.5.0.11", released in March 2013
Step 3:
Unzip the archive. There's a file "ps2000pg.en.pdf" which is the programmer's guide, and will walk you through how to use the API. Unfortunately, it only seems to have install instructions for Windows, and there doesn't appear to be a README file anywhere. However, there's a folder called "PS2000Con-Linux" which looks promising, so we'll start there.
Step 4:
First, make 'automake.sh' executable (chmod +x automake.sh). It won't run as is because was saved with DOS line endings, so you'll need to fix it first (most Linux text editors have this ability, or you can simply use the dos2unix command to convert it automatically. Once that's fixed, running it will generate a 'configure' script and run it.
Step 5:
Run "make". This is where it starts to break down for me. "make" fails with the following:
Code: Select all
make all-am
make[1]: Entering directory `/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux'
gcc -DHAVE_CONFIG_H -I. -g -O0 -Wall -MT PS2000con.o -MD -MP -MF .deps/PS2000con.Tpo -c -o PS2000con.o PS2000con.c
PS2000con.c:64:34: fatal error: libps2000-1.0/ps2000.h: No such file or directory
compilation terminated.
make[1]: *** [PS2000con.o] Error 1
make[1]: Leaving directory `/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux'
make: *** [all] Error 2
At this point, it fails like so:
Code: Select all
make all-am
make[1]: Entering directory `/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux'
gcc -g -O0 -Wall -o ps2000con PS2000con.o
PS2000con.o: In function `set_defaults':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:277: undefined reference to `ps2000_set_ets'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:281: undefined reference to `ps2000_set_channel'
PS2000con.o: In function `set_trigger_advanced':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:329: undefined reference to `ps2000SetAdvTriggerChannelConditions'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:330: undefined reference to `ps2000SetAdvTriggerChannelDirections'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:336: undefined reference to `ps2000SetAdvTriggerChannelProperties'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:365: undefined reference to `ps2000SetAdvTriggerDelay'
PS2000con.o: In function `collect_block_immediate':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:395: undefined reference to `ps2000_set_trigger'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:401: undefined reference to `ps2000_get_timebase'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:414: undefined reference to `ps2000_run_block'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:415: undefined reference to `ps2000_ready'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:420: undefined reference to `ps2000_stop'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:426: undefined reference to `ps2000_get_times_and_values'
PS2000con.o: In function `collect_block_triggered':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:514: undefined reference to `ps2000_set_trigger'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:526: undefined reference to `ps2000_get_timebase'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:538: undefined reference to `ps2000_run_block'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:543: undefined reference to `ps2000_ready'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:556: undefined reference to `ps2000_stop'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:561: undefined reference to `ps2000_get_times_and_values'
PS2000con.o: In function `collect_block_advanced_triggered':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:644: undefined reference to `ps2000_get_timebase'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:656: undefined reference to `ps2000_run_block'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:661: undefined reference to `ps2000_ready'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:674: undefined reference to `ps2000_stop'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:679: undefined reference to `ps2000_get_times_and_values'
PS2000con.o: In function `collect_block_ets':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:772: undefined reference to `ps2000_set_trigger'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:783: undefined reference to `ps2000_set_ets'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:788: undefined reference to `ps2000_run_block'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:793: undefined reference to `ps2000_ready'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:805: undefined reference to `ps2000_stop'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:809: undefined reference to `ps2000_get_times_and_values'
PS2000con.o: In function `collect_streaming':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:902: undefined reference to `ps2000_set_trigger'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:911: undefined reference to `ps2000_run_streaming'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:920: undefined reference to `ps2000_get_values'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:960: undefined reference to `ps2000_stop'
PS2000con.o: In function `collect_fast_streaming':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:990: undefined reference to `ps2000_set_trigger'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1001: undefined reference to `ps2000_run_streaming_ns'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1010: undefined reference to `ps2000_get_streaming_last_values'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1022: undefined reference to `ps2000_stop'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1024: undefined reference to `ps2000_get_streaming_values_no_aggregation'
PS2000con.o: In function `collect_fast_streaming_triggered':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1106: undefined reference to `ps2000_run_streaming_ns'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1114: undefined reference to `ps2000_get_streaming_last_values'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1123: undefined reference to `ps2000_stop'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1125: undefined reference to `ps2000_get_streaming_values_no_aggregation'
PS2000con.o: In function `get_info':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1189: undefined reference to `ps2000_get_unit_info'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1291: undefined reference to `ps2000_get_unit_info'
PS2000con.o: In function `set_sig_gen':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1327: undefined reference to `ps2000_set_sig_gen_built_in'
PS2000con.o: In function `set_sig_gen_arb':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1373: undefined reference to `ps2000_set_sig_gen_arbitrary'
PS2000con.o: In function `set_timebase':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1396: undefined reference to `ps2000_get_timebase'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1412: undefined reference to `ps2000_get_timebase'
PS2000con.o: In function `main':
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1471: undefined reference to `ps2000_open_unit'
/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux/PS2000con.c:1608: undefined reference to `ps2000_close_unit'
collect2: error: ld returned 1 exit status
make[1]: *** [ps2000con] Error 1
make[1]: Leaving directory `/home/poe/Desktop/picoscope/R10.5.0.11/PS2000Con-Linux'
make: *** [all] Error 2
Is there any definitive documentation on how to get this up and running? If so, where is it?
Thanks!