summaryrefslogtreecommitdiffstats
path: root/linz/oekofen_thermo/src/MCP42010.cpp
blob: aa6de2b7adb9acac1e376026025cb17c07fe4705 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "MCP42010.h"

MCP42010::MCP42010(uint8_t ss_pin)
  : _ss_pin(ss_pin), _spiset(10000000, MSBFIRST, SPI_MODE0)
{}

void MCP42010::setup()
{
  pinMode(_ss_pin, OUTPUT);
  SPI.begin();
}

void MCP42010::setPot(MCP42010::Poti pot, uint8_t value)
{
  SPI.beginTransaction(_spiset);
  digitalWrite(_ss_pin, LOW);
  SPI.transfer(0b00010000 | pot);
  SPI.transfer(value);
  digitalWrite(_ss_pin, HIGH);
  SPI.endTransaction();
}