
Guitar Effector using "mbed application board".
Guitar Effector using "mbed application board".
MyInputUtil.h@4:dbd755f9fca6, 2015-09-24 (annotated)
- Committer:
- vaifreak
- Date:
- Thu Sep 24 11:35:30 2015 +0000
- Revision:
- 4:dbd755f9fca6
- Parent:
- 2:25adc1277b3e
Guitar Effector using "mbed application board".
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vaifreak | 2:25adc1277b3e | 1 | //============================================================================= |
vaifreak | 2:25adc1277b3e | 2 | // @author vaifreak |
vaifreak | 2:25adc1277b3e | 3 | // @brief Button/Pot utility. |
vaifreak | 2:25adc1277b3e | 4 | //============================================================================= |
vaifreak | 2:25adc1277b3e | 5 | #pragma once |
vaifreak | 2:25adc1277b3e | 6 | |
vaifreak | 2:25adc1277b3e | 7 | //--------------------------------------------- |
vaifreak | 2:25adc1277b3e | 8 | // |
vaifreak | 2:25adc1277b3e | 9 | //--------------------------------------------- |
vaifreak | 2:25adc1277b3e | 10 | class MyButton |
vaifreak | 2:25adc1277b3e | 11 | { |
vaifreak | 2:25adc1277b3e | 12 | private: |
vaifreak | 2:25adc1277b3e | 13 | DigitalIn *d_in; |
vaifreak | 2:25adc1277b3e | 14 | |
vaifreak | 2:25adc1277b3e | 15 | public: |
vaifreak | 2:25adc1277b3e | 16 | int val; |
vaifreak | 2:25adc1277b3e | 17 | int val_old; |
vaifreak | 2:25adc1277b3e | 18 | int trig_on; |
vaifreak | 2:25adc1277b3e | 19 | int trig_off; |
vaifreak | 2:25adc1277b3e | 20 | |
vaifreak | 2:25adc1277b3e | 21 | MyButton( PinName pin ) |
vaifreak | 2:25adc1277b3e | 22 | { |
vaifreak | 2:25adc1277b3e | 23 | d_in = new DigitalIn( pin ); |
vaifreak | 2:25adc1277b3e | 24 | } |
vaifreak | 2:25adc1277b3e | 25 | |
vaifreak | 2:25adc1277b3e | 26 | void Update() |
vaifreak | 2:25adc1277b3e | 27 | { |
vaifreak | 2:25adc1277b3e | 28 | val_old = val; |
vaifreak | 2:25adc1277b3e | 29 | val = d_in->read(); |
vaifreak | 2:25adc1277b3e | 30 | |
vaifreak | 2:25adc1277b3e | 31 | trig_on = 0; |
vaifreak | 2:25adc1277b3e | 32 | if( val_old == 0 && val == 1 ) trig_on = 1; |
vaifreak | 2:25adc1277b3e | 33 | |
vaifreak | 2:25adc1277b3e | 34 | trig_off = 0; |
vaifreak | 2:25adc1277b3e | 35 | if( val_old == 1 && val == 0 ) trig_off = 1; |
vaifreak | 2:25adc1277b3e | 36 | } |
vaifreak | 2:25adc1277b3e | 37 | |
vaifreak | 2:25adc1277b3e | 38 | }; |
vaifreak | 2:25adc1277b3e | 39 | |
vaifreak | 2:25adc1277b3e | 40 | //--------------------------------------------- |
vaifreak | 2:25adc1277b3e | 41 | // |
vaifreak | 2:25adc1277b3e | 42 | //--------------------------------------------- |
vaifreak | 2:25adc1277b3e | 43 | #define THRESHOLD 0.02f |
vaifreak | 2:25adc1277b3e | 44 | class MyVolume |
vaifreak | 2:25adc1277b3e | 45 | { |
vaifreak | 2:25adc1277b3e | 46 | private: |
vaifreak | 2:25adc1277b3e | 47 | AnalogIn *a_in; |
vaifreak | 2:25adc1277b3e | 48 | |
vaifreak | 2:25adc1277b3e | 49 | public: |
vaifreak | 2:25adc1277b3e | 50 | float val; |
vaifreak | 2:25adc1277b3e | 51 | float val_old; |
vaifreak | 2:25adc1277b3e | 52 | bool dirtyFlag; |
vaifreak | 2:25adc1277b3e | 53 | |
vaifreak | 2:25adc1277b3e | 54 | MyVolume( PinName pin ) |
vaifreak | 2:25adc1277b3e | 55 | { |
vaifreak | 2:25adc1277b3e | 56 | a_in = new AnalogIn( pin ); |
vaifreak | 2:25adc1277b3e | 57 | } |
vaifreak | 2:25adc1277b3e | 58 | |
vaifreak | 2:25adc1277b3e | 59 | void Update() |
vaifreak | 2:25adc1277b3e | 60 | { |
vaifreak | 2:25adc1277b3e | 61 | dirtyFlag = false; |
vaifreak | 2:25adc1277b3e | 62 | |
vaifreak | 2:25adc1277b3e | 63 | float v = a_in->read(); |
vaifreak | 2:25adc1277b3e | 64 | if( fabsf(v - val_old) > THRESHOLD ) |
vaifreak | 2:25adc1277b3e | 65 | { |
vaifreak | 2:25adc1277b3e | 66 | val_old = val; |
vaifreak | 2:25adc1277b3e | 67 | val = v; |
vaifreak | 2:25adc1277b3e | 68 | dirtyFlag = true; |
vaifreak | 2:25adc1277b3e | 69 | } |
vaifreak | 2:25adc1277b3e | 70 | } |
vaifreak | 2:25adc1277b3e | 71 | |
vaifreak | 2:25adc1277b3e | 72 | }; |
vaifreak | 2:25adc1277b3e | 73 |