#ifndef SERVO_BEHAVIOUR_h #define SERVO_BEHAVIOUR_h #include "Arduino.h" #include "Behaviours.h" #include <Servo.h> class ServoGoto : public Behaviour { Servo _servo; public: ServoGoto(Servo servo, String name = "ServoGoto"); char* args(); String start(String args); }; class ServoWiggle : public Behaviour { Servo _servo; int _start_time = 0; int _wiggle_time = 300; int _num_wiggles = 5; int _wiggles = 0; int _wiggle_angle = 0; //Calculate wiggle time by multiplying the angle by this... int _wiggle_factor = 5; public: ServoWiggle(Servo servo, String name = "ServoWiggle", int slowness=3); char* args(); String start(String args); void update(); }; class ServoRotateReturn : public Behaviour { Servo _servo; int _start_angle = 0; int _end_angle = 180; int _delay = 30; int _num_rotations = 1; int _rotations = 0; int _pause = 500; public: ServoRotateReturn(Servo servo, String name="ServoRotateReturn", int delay=30, int pause=500, int start_angle = 2, int end_angle=178 ); char* args(); String start(String args); void update(); }; #endif