Improvements to Solenoid feature (#7369) 0.7.78
authorDrashna Jaelre <drashna@live.com>
Fri, 15 Nov 2019 22:27:46 +0000 (14:27 -0800)
committerJoel Challis <git@zvecr.com>
Fri, 15 Nov 2019 22:27:46 +0000 (22:27 +0000)
* Error out when Solenid pin is not defined

Instead of defaulting to a (literally) random pin, error out instead.  Because this pin may be used, or because that pin may not be exposed, or may not exist.

* Remove 'SOLENOID_ACTIVE' setting since it's not used

* Update documentation

docs/feature_haptic_feedback.md
drivers/haptic/solenoid.h

index d9e445d..2273633 100644 (file)
@@ -41,11 +41,15 @@ First you will need a build a circuit to drive the solenoid through a mosfet as
 
 [Wiring diagram provided by Adafruit](https://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
 
-Select a pin that has PWM for the signal pin
 
-```
-#define SOLENOID_PIN *pin*
-```
+| Settings                 | Default       | Description                                           |
+|--------------------------|---------------|-------------------------------------------------------|
+|`SOLENOID_PIN`            | *Not defined* |Configures the pin that the Solenoid is connected to.  |
+|`SOLENOID_DEFAULT_DWELL`  | `12` ms       |Configures the default dwell time for the solenoid.    |
+|`SOLENOID_MIN_DWELL`      | `4` ms        |Sets the lower limit for the dwell.                    |
+|`SOLENOID_MAX_DWELL`      | `100` ms      |Sets the upper limit for the dwell.                    |
+
+?> Dwell time is how long the "plunger" stays activated.  The dwell time changes how the solenoid sounds.
 
 Beware that some pins may be powered during bootloader (ie. A13 on the STM32F303 chip) and will result in the solenoid kept in the on state through the whole flashing process. This may overheat and damage the solenoid. If you find that the pin the solenoid is connected to is triggering the solenoid during bootloader/DFU, select another pin.
 
@@ -151,4 +155,4 @@ This will set what sequence HPT_RST will set as the active mode. If not defined,
 
 ### DRV2605L Continuous Haptic Mode
 
-This mode sets continuous haptic feedback with the option to increase or decrease strength. 
\ No newline at end of file
+This mode sets continuous haptic feedback with the option to increase or decrease strength. 
index 53dc626..dd6ecec 100644 (file)
 #    define SOLENOID_MIN_DWELL 4
 #endif
 
-#ifndef SOLENOID_ACTIVE
-#    define SOLENOID_ACTIVE false
-#endif
-
 #ifndef SOLENOID_PIN
-#    define SOLENOID_PIN F6
+#    error SOLENOID_PIN not defined
 #endif
 
 void solenoid_buzz_on(void);