Fix DRV2065L register usage: we were accidentally setting control2 when we meant control3.

custom
Robin Howard 1 year ago
parent 354ba0325a
commit e39754ba10
  1. 1
      src/drivers/haptics.cpp
  2. 26
      src/drivers/include/haptics.hpp

@ -10,6 +10,7 @@
#include <cstdint> #include <cstdint>
#include <initializer_list> #include <initializer_list>
#include <mutex> #include <mutex>
#include <variant>
#include "assert.h" #include "assert.h"
#include "driver/gpio.h" #include "driver/gpio.h"

@ -214,7 +214,7 @@ class Haptics {
}; };
struct ControlMask { struct ControlMask {
// Control1 // FeedbackControl
static constexpr uint8_t kNErmLra = 0b10000000; static constexpr uint8_t kNErmLra = 0b10000000;
// Control3 // Control3
static constexpr uint8_t kErmOpenLoop = 0b00100000; static constexpr uint8_t kErmOpenLoop = 0b00100000;
@ -257,12 +257,12 @@ class Haptics {
// A bunch of different options, not grouped // A bunch of different options, not grouped
// in any particular sensible way // in any particular sensible way
kControl1 = 0x1A, kFeedbackControl = 0x1A,
kControl2 = 0x1B, kControl1 = 0x1B,
kControl3 = 0x1C, kControl2 = 0x1C,
kControl4 = 0x1D, kControl3 = 0x1D,
kControl5 = 0x1E, kControl4 = 0x1E,
kControl6 = 0x1F, kControl5 = 0x1F,
kSupplyVoltageMonitor = 0x21, // "VBAT" kSupplyVoltageMonitor = 0x21, // "VBAT"
kLraResonancePeriod = 0x22, kLraResonancePeriod = 0x22,
@ -295,12 +295,12 @@ class Haptics {
kOverdriveClampVoltage = 0x8C, kOverdriveClampVoltage = 0x8C,
kAutoCalibrationCompensationResult = 0x0C, kAutoCalibrationCompensationResult = 0x0C,
kAutoCalibrationBackEmfResult = 0x6C, kAutoCalibrationBackEmfResult = 0x6C,
kControl1 = 0x36, kFeedbackControl = 0x36,
kControl2 = 0x93, kControl1 = 0x93,
kControl3 = 0xF5, kControl2 = 0xF5,
kControl4 = 0xA0, kControl3 = 0xA0,
kControl5 = 0x20, kControl4 = 0x20,
kControl6 = 0x80, kControl5 = 0x80,
kSupplyVoltageMonitor = 0, kSupplyVoltageMonitor = 0,
kLraResonancePeriod = 0, kLraResonancePeriod = 0,
}; };

Loading…
Cancel
Save