Modified the original DRV2605 library written by Bryce Williams. Team specific uint8_t kick_start_my_heart(int intensity, int duration) function is added to the library, otherwise unchanged. FLY ARMY!!!
Fork of DRV2605 by
- include "mbed.h"
- include "DRV2605.h" DRV2605 haptics(p9, p10); *NEEDE FOR KCIKSTART*
PwmOut base(p26); *NEEDED FOR BOOSTER CIRCUIT, if required*
int main() { base.period(.000001);1MHz base=.5;50% duty cycle
*FOLLOWING NEEDED FOR KICKSTART*
haptics.init(3.3); Motor initialization will cause a 1 second vibration
wait(2);
uint8_t stats=haptics.kick_start_my_heart(10, 1); Intensity range 1-10, duratio range 1-8
printf("dig %X/n",haptics.init(3.3)); }
Revision 1:224404f39d98, committed 2016-12-02
- Comitter:
- hkreuk
- Date:
- Fri Dec 02 00:20:14 2016 +0000
- Parent:
- 0:3b2b4f34aaca
- Commit message:
- To integrate to the Mask, just need DRV2605.cpp and its header file. To haptic feedback, example is provided in main.cpp; ; FLY ARMY!!!
Changed in this revision
| DRV2605.cpp | Show annotated file Show diff for this revision Revisions of this file |
| DRV2605.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/DRV2605.cpp Wed Oct 21 01:02:59 2015 +0000
+++ b/DRV2605.cpp Fri Dec 02 00:20:14 2016 +0000
@@ -64,6 +64,24 @@
i2cWriteByte(GO, 1);
}
+uint8_t DRV2605::kick_start_my_heart(int inten, int dur) { //inten range 1-10, dur range 1-8
+//intensity values(1-123) refer to dvr2605_waveform.pdf, page60
+ int left_over;
+ uint8_t res;
+ for ( int ind=0x04; ind<=(dur+0x003); ind++ ) {
+ i2cWriteByte(ind, inten);
+ left_over=ind;
+ }
+ for (int ind=(left_over+1); ind<=0x0B; ind++) {
+ i2cWriteByte(ind, 0);
+ }
+ res=diagnostics();
+ printf("%X", res);
+ play();
+ return res;
+ }
+
+
uint8_t DRV2605::auto_cal_open_loop(float actuator_peak_voltage){
// Exit Standby Mode; Enter Auto- Cal Mode
mode(AUTO_CAL);
--- a/DRV2605.h Wed Oct 21 01:02:59 2015 +0000
+++ b/DRV2605.h Fri Dec 02 00:20:14 2016 +0000
@@ -169,6 +169,8 @@
*/
void play();
+ uint8_t kick_start_my_heart(int inten, int dur);
+
/**
TODO: Add Closed Loop Calibration
