Hi, can you help me plz, i have an error in my code, but i can’t find it.
US.Suspend();
RAM(number, SD, true);
ServoMove(85, servoBase);
for (int i = 85; i >= 0; i = i--)
{
//THE CODE STOP HERE
ServoMove(i, servoBase);
Thread.Sleep(10);
US.Resume();
Thread.Sleep(10);
int ScanDroite_lent1 = usVal;
Thread.Sleep(10);
US.Suspend();
Thread.Sleep(10);
ServoMove((i+1), servoBase);
Thread.Sleep(10);
US.Resume();
Thread.Sleep(10);
int ScanDroite_lent2 = usVal;
Thread.Sleep(10);
US.Suspend();
Thread.Sleep(10);
if (ScanDroite_lent1 > ScanDroite_lent2 && ScanDroite_lent2 - ScanDroite_lent1 < 5)
{
if (orientation == "yx")
{
ListeX[number] = (int)((ScanDroite_lent2 * ScanDroite_lent2 - ScanAvant * ScanAvant) ^ (1 / 2)) + posX;
ListeY[number] = posY + ScanAvant;
}
else
{
ListeY[number] = (int)((ScanDroite_lent2 * ScanDroite_lent2 - ScanAvant * ScanAvant) ^ (1 / 2)) + posY;
ListeX[number] = posX + ScanAvant;
} number++;
}
if (ScanDroite_lent2 < ScanDroite_lent1 && ScanDroite_lent1 - ScanDroite_lent2 < 5)
{
if (orientation == "yx")
{
ListeY[number] = (int)((ScanDroite_lent1 * ScanDroite_lent1 - ScanDoite * ScanDoite) ^ (1 / 2)) + posY;
ListeX[number] = posX + ScanDoite;
}
else
{
ListeX[number] = (int)((ScanDroite_lent1 * ScanDroite_lent1 - ScanDoite * ScanDoite) ^ (1 / 2)) + posX;
ListeY[number] = posY + ScanDoite;
} number++;
}
}
public static void ServoStop(PWM servoBase)
{
servoBase.Set(false);
}
public static void ServoMove(float angle, PWM servoBase)
{
float MinAngle = 0;
float MaxAngle = 180;
double MaxUs = 2.40;
if (angle > MaxAngle)
angle = MaxAngle;
if (angle < MinAngle)
angle = MinAngle;
if (angle == 0)
{
servoBase.SetPulse(20000000, 2450000);
Thread.Sleep(1000);
ServoStop(servoBase);
}
else if (angle == 180)
{
servoBase.SetPulse(20000000, 500000);
Thread.Sleep(1000);
ServoStop(servoBase);
}
else
{
servoBase.SetPulse(20000000, (uint)((MaxUs - (0.0111 * angle)) * 1000000));
Thread.Sleep(1000);
ServoStop(servoBase);
}
}
thx