Fixed Sonar

Dependencies:   C12832 Servo mbed-rtos-edited mbed

Fork of NervousPuppy by Sean Doyle

nervousPuppy.h

Committer:
SeanDoyle
Date:
2015-01-15
Revision:
4:2b47356f4b7d
Parent:
3:74dfce05dd99
Child:
5:cbb5d7460309

File content as of revision 4:2b47356f4b7d:

#include "mbed.h"
#include "rtos.h"
#include "Servo.h"
#include "C12832.h"
#include <math.h>
#include <string>

#define Cos(a) cos(PI/180*(a))
#define Sin(a) sin(PI/180*(a))
#define PI 3.1415926

class nervousPuppy{
    public:

        nervousPuppy();
        
        bool isLonely();
        bool isScared();
        bool shutdown();
        
        void detectPlayer();
        float getPlayerDistance();
        void setPlayerDistance(float dist);
        
        float calculateAngle(string axis);
        void changePosition(string servo,float angle); 
        
    private:
        
        Mutex lockForDistance; //Not sure why needed
        float playerDistance, playerError;
        bool scared, lonely;
        const float LONELY = 0.10f; //Placeholder number
        const float SCARED = 0.088f; //Placeholder number
        const float RADIUS = 2.0f; //Placeholder number
        const float SHUTDOWN = 0.0f; //Placeholder number
        const float PULSE_RATE = 10; //Placeholder number - Pulses per second
        const float SERVO_TILT_LIMIT = 45; //Placeholder number - max angle servo can tilt by
        const float SERVO_ROTATE_LIMIT = 45; //Placeholder number - max angle servo can rotate by
};