diff --git a/stm32/src/actionneurs/fishingNet.cpp b/stm32/src/actionneurs/fishingNet.cpp new file mode 100644 index 0000000000000000000000000000000000000000..01ae42a2a4f2d8e2d17f787aca274d1926a5fc0c --- /dev/null +++ b/stm32/src/actionneurs/fishingNet.cpp @@ -0,0 +1,60 @@ +#include "fishingNet.h" + +#ifdef ROBOTHW + #include "interfaceServosNumeriques.h" +#endif + +FishingNet* FishingNet::getSingleton() +{ + static FishingNet* instance = 0; + if(instance == 0) + instance = new FishingNet(); + + return instance; +} + +FishingNet::FishingNet() +{ + close(); +} + +void FishingNet::moveArm(int __attribute__((__unused__)) destAngle) +{ +#ifdef ROBOTHW + ServosNumeriques::moveTo(destAngle, SERVO_EXT_ID); +#endif +} + +void FishingNet::rotateArm(int __attribute__((__unused__)) destAngle) +{ +#ifdef ROBOTHW + ServosNumeriques::moveTo(destAngle, SERVO_INT_ID); +#endif +} + +void FishingNet::close() +{ + rotateArm(SERVO_INT_RAISED_POS); + moveArm(SERVO_EXT_CLOSED_POS); +} + +void FishingNet::deploy() +{ + moveArm(SERVO_EXT_DEPLOYED_POS); + rotateArm(SERVO_INT_RAISED_POS); +} + +void FishingNet::lowerNet() +{ + rotateArm(SERVO_INT_LOWERED_POS); +} + +void FishingNet::raiseNet() +{ + rotateArm(SERVO_INT_RAISED_POS); +} + +void FishingNet::raiseArm() +{ + moveArm(SERVO_EXT_RAISED_POS); +}