Files
hexapod-robot/2011-firefly-mega-ssc32/firmware/2012-ir-radar-gps/hexapodV3/Ultrasone.cpp
T
mangavalk f690f307c1 FireFly 2012 v3: restructured into Data/Converter/IK/Servos classes, IR remote, ultrasonic radar head
From 'hexapodV3 28-april-2012-Backup.rar'. Oud/ is the 2011 code it was based on.
2012-04-28 16:42:59 +02:00

56 lines
1.0 KiB
C++

//Ultrasone.cpp
#include "Ultrasone.h"
void Ultrasone::GetRadar(Data *DataLine)
{
DataLine->HeadTime = 0;
#ifdef DEBUGUS
Serial.print("### Ultrasone Direction/Position: ");
Serial.print(CurrentDirection);
Serial.print(", ");
Serial.println(CurrentPosition);
#endif
if (CurrentDirection == 0) // Left
{
if (CurrentPosition > MaxLeft)
{
CurrentPosition--;
DataLine->HeadAngle = CurrentPosition;
Con.ConvertHead(DataLine);
SSC32.MoveHead(DataLine);
Serial.print("### Ultrasone Distance: ");
Serial.println(DataLine->FireFly.GetUltraSoneDistance());
}
else
CurrentDirection = 1;
}
else if(CurrentDirection == 1) // Right
{
if (CurrentPosition < MaxRight)
{
CurrentPosition++;
DataLine->HeadAngle = CurrentPosition;
Con.ConvertHead(DataLine);
SSC32.MoveHead(DataLine);
Serial.print("### Ultrasone Distance: ");
Serial.println(DataLine->FireFly.GetUltraSoneDistance());
}
else
CurrentDirection = 0;
}
}