Exemplo n.º 1
0
int16_t Odometry::calculatePwmTarget(uint8_t motor)
{
  if(motor == MOTOR_RIGHT)
    return mPid_r_.calcPwmTarget(ticksPerSecond(MOTOR_RIGHT));
  else
    return mPid_l_.calcPwmTarget(ticksPerSecond(MOTOR_LEFT));
}
Exemplo n.º 2
0
int16_t Odometry::calculatePwmTarget(uint8_t motor, uint8_t output)
{
  float avg, current;
  if(motor == MOTOR_RIGHT){
    current = ticksPerSecond(MOTOR_RIGHT);
    mRightRing.write(current);
    avg = mRightRing.readAvg();
    //belongs to tabular output
    if(output){
      Serial.print((int) avg);
      Serial.print('\t');
    }
    return mPid_r_.calcPwmTarget(avg);
  }
  else{
    current = ticksPerSecond(MOTOR_LEFT);
    mLeftRing.write(current);
    avg = mLeftRing.readAvg();
    //belongs to tabular output
    if(output){
      Serial.print((int) avg);
      Serial.print('\t');
    }
    return mPid_l_.calcPwmTarget(avg);
  }
}
Exemplo n.º 3
0
LPXLFOPER EXCEL_EXPORT
xlSystemTime(
LPXLFOPER ticksPerSeconda)
{
EXCEL_BEGIN;

	if (XlfExcel::Instance().IsCalledByFuncWiz())
		return XlfOper(true);

XlfOper ticksPerSecondb(
	(ticksPerSeconda));
CellMatrix ticksPerSecondc(
	ticksPerSecondb.AsCellMatrix("ticksPerSecondc"));
DoubleOrNothing ticksPerSecond(
	DoubleOrNothing(ticksPerSecondc,"ticksPerSecond"));

 double t = (clock()+0.0)/CLOCKS_PER_SEC;
double result(
	SystemTime(
		ticksPerSecond)
	);
  t = (clock()+0.0)/CLOCKS_PER_SEC-t;
CellMatrix resultCells(result);
CellMatrix time(1,2);
time(0,0) = "time taken";
time(0,1) = t;
resultCells.PushBottom(time);
return XlfOper(resultCells);
EXCEL_END
}