1
0
Fork 0
mirror of https://github.com/kidoman/embd synced 2025-07-03 11:57:38 +02:00

spi: finishing touches

This commit is contained in:
kunalpowar 2014-05-22 02:19:01 +05:30
parent 0f23150374
commit 67d316851a
7 changed files with 49 additions and 45 deletions

View file

@ -3,11 +3,10 @@ package mcp3008
import (
"github.com/golang/glog"
"github.com/kidoman/embd"
_ "github.com/kidoman/embd/host/all"
)
type mcp3008 struct {
// MCP3008 represents a mcp3008 8bit DAC
type MCP3008 struct {
mode byte
bus embd.SPIBus
@ -16,18 +15,22 @@ type mcp3008 struct {
var SingleMode byte = 1
var DifferenceMode byte = 0
func New(mode byte, bus embd.SPIBus) *mcp3008 {
return &mcp3008{mode, bus}
func New(mode byte, bus embd.SPIBus) *MCP3008 {
return &MCP3008{mode, bus}
}
func (m *mcp3008) AnalogValueAt(chanNum int) (int, error) {
data := make([]uint8, 3)
data[0] = 1
const (
startBit = 1
)
func (m *MCP3008) AnalogValueAt(chanNum int) (int, error) {
var data [3]uint8
data[0] = startBit
data[1] = uint8(m.mode)<<7 | uint8(chanNum)<<4
data[2] = 0
glog.V(2).Infof("mcp3008: sendingdata buffer %v", data)
if err := m.bus.TransferAndRecieveData(data); err != nil {
if err := m.bus.TransferAndRecieveData(data[:]); err != nil {
return 0, err
}