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