#pragma once
#include <sys/types.h>
#include <bcm2835.h>
class Dac {
public:
void Setup();
void SetXY(int dacX, int dacY);
void SetZ(uint8_t dacZ);
};
#define MCP4726_CMD_WRITEDAC (0x40) // Writes data to the DAC
#define MCP4726_CMD_WRITEDACEEPROM (0x60) // Writes data to the DAC and the EEPROM (persisting the assigned value after reset)
class MCP4725{
public:
MCP4725();
void begin(uint8_t a);
void setVoltage( uint16_t output, bool writeEEPROM );
void setVoltageFast( uint16_t output);
private:
uint8_t _i2caddr;
};
extern Dac xyz;
extern MCP4725 xDac;
extern MCP4725 yDac;