Test app for MCP3008 ADCs
C Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE Update license Jan 31, 2017
Makefile
README.md README: edit copy Jan 27, 2017
mcp3008-poll.c Do proper check if fd was opened Jan 28, 2017

README.md

mcp3008-poll

A command line program for reading mcp3008 ADCs.

Developed for testing MCP3008 ADCs connected to an RPi3, but should work with other ADC devices showing up under sysfs.

Fetch with git, build with make.

root@rpi3:~# git clone https://github.com/scottellis/mcp3008-poll
Cloning into 'mcp3008-poll'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 1), reused 6 (delta 1), pack-reused 0
Unpacking objects: 100% (6/6), done.
Checking connectivity... done.

root@rpi3:~# cd mcp3008-poll

root@rpi3:~/mcp3008-poll# make
cc  mcp3008-poll.c -o mcp3008-poll

Run

root@rpi3:~/mcp3008-poll# ./mcp3008-poll -h

Usage: ./mcp3008-poll <options> [adc-list]
  -d<delay-us>       Microsecond delay between reads, default 10000, min 0
  adc-list           Space separated list of ADCs to monitor, 0-7

Example:
        ./mcp3008-poll -d100 0 1

Here are some sample runs with the ADC powered by 3.3v off the RPi3 header connected to SPI0.0

This is appended to config.txt to setup the mcp320x device driver

dtparam=spi=on
dtoverlay=mcp3008:spi0-0-present

The SPI clock is running at 1MHz, the default specified in the mcp3008 overlay.

One channel

root@rpi3:~/mcp3008-poll# ./mcp3008-poll -d0 0

(use ctrl-c to stop)

ADC                0
Read  1036000:   621  ^C

Summary
  Elapsed: 56.93 seconds
    Reads: 1037028
     Rate: 18215.51 Hz

Two channels

root@rpi3:~/mcp3008-poll# ./mcp3008-poll -d0 0 1

(use ctrl-c to stop)

ADC                0      1
Read   626000:   620    621  ^C

Summary
  Elapsed: 69.15 seconds
    Reads: 627694
     Rate: 9077.10 Hz

Three channels

root@rpi3:~/mcp3008-poll# ./mcp3008-poll -d0 0 1 2

(use ctrl-c to stop)

 ADC                0      1      2
 Read   540000:   621    621      0  ^C

Summary
  Elapsed: 89.53 seconds
    Reads: 541640
     Rate: 6049.50 Hz

Four channels

root@rpi3:~/mcp3008-poll# ./mcp3008-poll -d0 0 1 2 3

(use ctrl-c to stop)

ADC                0      1      2      3
Read   446000:   620    621      0      0  ^C

Summary
  Elapsed: 97.90 seconds
    Reads: 446401
     Rate: 4559.73 Hz

Eight channels

root@rpi3:~/mcp3008-poll# ./mcp3008-poll -d0 0 1 2 3 4 5 6 7

(use ctrl-c to stop)

ADC                0      1      2      3      4      5      6      7
Read   202000:   621    621      0      0      0      0      0      0  ^C

Summary
  Elapsed: 88.20 seconds
    Reads: 202710
     Rate: 2298.37 Hz