Generates reference based on analog input

Dependents:   locomotion_pid_action_refactor_EMG

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?

UserRevisionLine numberNew 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