From 713931338a9449491ef2d3b1b33001c94315d809 Mon Sep 17 00:00:00 2001
From: jaysonkelly <jaysonkelly@gmail.com>
Date: Sat, 21 Jan 2017 20:32:47 -0700
Subject: [PATCH] Default DAC values for RigidBoard V2

---
 Marlin/pins_RIGIDBOARD_V2.h | 1 +
 Marlin/stepper_dac.cpp      | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Marlin/pins_RIGIDBOARD_V2.h b/Marlin/pins_RIGIDBOARD_V2.h
index 3fb575142b..3085577f11 100644
--- a/Marlin/pins_RIGIDBOARD_V2.h
+++ b/Marlin/pins_RIGIDBOARD_V2.h
@@ -44,3 +44,4 @@
 #define DAC_STEPPER_GAIN     1 // value of 1 here sets gain of 2
 #define DAC_DISABLE_PIN     42 // set low to enable DAC
 #define DAC_OR_ADDRESS    0x01
+#define DAC_STEPPER_DFLT { 70, 80, 90, 80 } // Default values for drive strength percent
diff --git a/Marlin/stepper_dac.cpp b/Marlin/stepper_dac.cpp
index 4ce2abc614..798768ebfa 100644
--- a/Marlin/stepper_dac.cpp
+++ b/Marlin/stepper_dac.cpp
@@ -49,7 +49,7 @@
 
   bool dac_present = false;
   const uint8_t dac_order[NUM_AXIS] = DAC_STEPPER_ORDER;
-  uint16_t dac_channel_pct[XYZE];
+  uint16_t dac_channel_pct[XYZE] = DAC_STEPPER_DFLT;
 
   int dac_init() {
     #if PIN_EXISTS(DAC_DISABLE)
@@ -64,6 +64,11 @@
 
     mcp4728_setVref_all(DAC_STEPPER_VREF);
     mcp4728_setGain_all(DAC_STEPPER_GAIN);
+    
+    if (mcp4728_getDrvPct(0) < 1 || mcp4728_getDrvPct(1) < 1 || mcp4728_getDrvPct(2) < 1 || mcp4728_getDrvPct(3) < 1 ) {
+      mcp4728_setDrvPct(dac_channel_pct);
+      mcp4728_eepromWrite();
+    }
 
     return 0;
   }
-- 
GitLab