MCP3425 library

Dependents:   mbed_MCP3425

See http://developer.mbed.org/users/yasuyuki/notebook/MCP3425/

Committer:
yasuyuki
Date:
Wed Oct 15 14:37:59 2014 +0000
Revision:
0:b7bc51be525f
first release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yasuyuki 0:b7bc51be525f 1 //**********************
yasuyuki 0:b7bc51be525f 2 // MCP3425.cpp for mbed
yasuyuki 0:b7bc51be525f 3 //
yasuyuki 0:b7bc51be525f 4 // MCP3425 mcp3425(P0_5,P0_4);
yasuyuki 0:b7bc51be525f 5 // or
yasuyuki 0:b7bc51be525f 6 // I2C i2c(P0_5,P0_4);
yasuyuki 0:b7bc51be525f 7 // MCP3425 mcp3425(i2c);
yasuyuki 0:b7bc51be525f 8 //
yasuyuki 0:b7bc51be525f 9 // (C)Copyright 2014 All rights reserved by Y.Onodera
yasuyuki 0:b7bc51be525f 10 // http://einstlab.web.fc2.com
yasuyuki 0:b7bc51be525f 11 //**********************
yasuyuki 0:b7bc51be525f 12
yasuyuki 0:b7bc51be525f 13 #include "mbed.h"
yasuyuki 0:b7bc51be525f 14 #include "MCP3425.h"
yasuyuki 0:b7bc51be525f 15
yasuyuki 0:b7bc51be525f 16 MCP3425::MCP3425 (PinName sda, PinName scl) : _i2c(sda, scl) {
yasuyuki 0:b7bc51be525f 17 init();
yasuyuki 0:b7bc51be525f 18 }
yasuyuki 0:b7bc51be525f 19 MCP3425::MCP3425 (I2C& p_i2c) : _i2c(p_i2c) {
yasuyuki 0:b7bc51be525f 20 init();
yasuyuki 0:b7bc51be525f 21 }
yasuyuki 0:b7bc51be525f 22
yasuyuki 0:b7bc51be525f 23
yasuyuki 0:b7bc51be525f 24 short MCP3425::get()
yasuyuki 0:b7bc51be525f 25 {
yasuyuki 0:b7bc51be525f 26
yasuyuki 0:b7bc51be525f 27 _i2c.read( MCP3425_ADDR, buf, 3);
yasuyuki 0:b7bc51be525f 28
yasuyuki 0:b7bc51be525f 29 ad.byte.HB=buf[0];
yasuyuki 0:b7bc51be525f 30 ad.byte.LB=buf[1];
yasuyuki 0:b7bc51be525f 31 config.UC=buf[2];
yasuyuki 0:b7bc51be525f 32 return ad.S;
yasuyuki 0:b7bc51be525f 33
yasuyuki 0:b7bc51be525f 34 }
yasuyuki 0:b7bc51be525f 35
yasuyuki 0:b7bc51be525f 36
yasuyuki 0:b7bc51be525f 37 void MCP3425::init()
yasuyuki 0:b7bc51be525f 38 {
yasuyuki 0:b7bc51be525f 39
yasuyuki 0:b7bc51be525f 40 config.bit.RDY=1;
yasuyuki 0:b7bc51be525f 41 config.bit.C=0;
yasuyuki 0:b7bc51be525f 42 config.bit.OC=1;
yasuyuki 0:b7bc51be525f 43 config.bit.S=2;
yasuyuki 0:b7bc51be525f 44 config.bit.G=0;
yasuyuki 0:b7bc51be525f 45 // Initiate Continuous 16bits, 15SPS
yasuyuki 0:b7bc51be525f 46 buf[0]=config.UC;
yasuyuki 0:b7bc51be525f 47 _i2c.write(MCP3425_ADDR, buf, 1);
yasuyuki 0:b7bc51be525f 48
yasuyuki 0:b7bc51be525f 49 }
yasuyuki 0:b7bc51be525f 50