My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dac_mcp4728.h 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. Arduino library for MicroChip MCP4728 I2C D/A converter.
  3. */
  4. #ifndef mcp4728_h
  5. #define mcp4728_h
  6. #include "Configuration.h"
  7. #include "Configuration_adv.h"
  8. #if ENABLED(DAC_STEPPER_CURRENT)
  9. #include "WProgram.h"
  10. #include "Wire.h"
  11. //#include <Wire.h>
  12. #define defaultVDD 5000
  13. #define BASE_ADDR 0x60
  14. #define RESET 0B00000110
  15. #define WAKE 0B00001001
  16. #define UPDATE 0B00001000
  17. #define MULTIWRITE 0B01000000
  18. #define SINGLEWRITE 0B01011000
  19. #define SEQWRITE 0B01010000
  20. #define VREFWRITE 0B10000000
  21. #define GAINWRITE 0B11000000
  22. #define POWERDOWNWRITE 0B10100000
  23. #define GENERALCALL 0B0000000
  24. #define GAINWRITE 0B11000000
  25. // This is taken from the original lib, makes it easy to edit if needed
  26. #define DAC_DEV_ADDRESS (BASE_ADDR | 0x00)
  27. void mcp4728_init();
  28. uint8_t mcp4728_analogWrite(uint8_t channel, uint16_t value);
  29. uint8_t mcp4728_eepromWrite();
  30. uint8_t mcp4728_setVref_all(uint8_t value);
  31. uint8_t mcp4728_setGain_all(uint8_t value);
  32. uint16_t mcp4728_getValue(uint8_t channel);
  33. uint8_t mcp4728_fastWrite();
  34. uint8_t mcp4728_simpleCommand(byte simpleCommand);
  35. #endif
  36. #endif