Generates reference based on analog input
Dependents: locomotion_pid_action_refactor_EMG
refGen.cpp@5:7186da6f562f, 2017-10-22 (annotated)
- Committer:
- tvlogman
- Date:
- Sun Oct 22 08:06:37 2017 +0000
- Revision:
- 5:7186da6f562f
- Parent:
- 4:38af2aa14a3f
- Child:
- 6:a8a82cee2705
Discarded the filtering again - it's probably more clear to do that outside the function.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tvlogman | 0:5c67195a412d | 1 | #include "refGen.h" |
tvlogman | 0:5c67195a412d | 2 | #include "mbed.h" |
tvlogman | 0:5c67195a412d | 3 | |
tvlogman | 0:5c67195a412d | 4 | // Member function definitions |
tvlogman | 2:35c05e7698f5 | 5 | refGen::refGen(PinName a, float maxAngle):refPin(a), maxAngle(maxAngle), r_direction(false){ |
tvlogman | 0:5c67195a412d | 6 | |
tvlogman | 0:5c67195a412d | 7 | } |
tvlogman | 0:5c67195a412d | 8 | |
tvlogman | 4:38af2aa14a3f | 9 | float refGen :: getReference(){ |
tvlogman | 0:5c67195a412d | 10 | float r; |
tvlogman | 0:5c67195a412d | 11 | if(r_direction == false){ |
tvlogman | 0:5c67195a412d | 12 | // Clockwise rotation yields positive reference |
tvlogman | 3:43d9f8db93b7 | 13 | r = maxAngle*refPin.read(); |
tvlogman | 0:5c67195a412d | 14 | } |
tvlogman | 0:5c67195a412d | 15 | if(r_direction == true){ |
tvlogman | 0:5c67195a412d | 16 | // Counterclockwise rotation yields negative reference |
tvlogman | 0:5c67195a412d | 17 | r = -1*maxAngle*refPin.read(); |
tvlogman | 0:5c67195a412d | 18 | } |
tvlogman | 0:5c67195a412d | 19 | return r; |
tvlogman | 4:38af2aa14a3f | 20 | } |
tvlogman | 5:7186da6f562f | 21 |