|
1 | 1 | package ev3dev4s.sensors.gyroscope.examples
|
2 | 2 |
|
3 |
| -import ev3dev4s.actuators.{Motor, MotorCommand, MotorPort, MotorStopCommand, MotorState} |
| 3 | +import ev3dev4s.actuators.{Motor, MotorCommand, MotorPort, MotorStopCommand} |
4 | 4 | import ev3dev4s.sensors.{Ev3Gyroscope, Ev3KeyPad}
|
5 | 5 | import ev3dev4s.{Ev3System, Log}
|
6 |
| -import ev3dev4s.scala2measure.Degrees |
| 6 | +import ev3dev4s.scala2measure.{Degrees, DegreesPerSecond, DutyCycle, MilliMeters} |
7 | 7 | import ev3dev4s.scala2measure.Conversions._
|
8 |
| -import ev3dev4s.scala2measure.DegreesPerSecond |
9 |
| -import ev3dev4s.scala2measure.DutyCycle |
10 | 8 |
|
11 | 9 | /**
|
12 | 10 | *
|
@@ -100,15 +98,15 @@ object GyroDriveStraight extends Runnable {
|
100 | 98 | val leftIdeal = ((dutyCycle + steerAdjust) / 10.unitless).dutyCyclePercent
|
101 | 99 | val rightIdeal = ((dutyCycle - steerAdjust) / 10.unitless).dutyCyclePercent
|
102 | 100 | (leftIdeal, rightIdeal)
|
103 |
| - //todo for fractions |
104 |
| - //val (leftSteering, rightSteering) = (leftIdeal,rightIdeal) |
105 |
| - //todo for fractions |
106 |
| - //if(leftIdeal != rightIdeal) (leftIdeal,rightIdeal) |
107 |
| - //else if(steerAdjust.v > 0) (leftIdeal+1,rightIdeal) |
108 |
| - //else if(steerAdjust.v < 0) (leftIdeal,rightIdeal+1) |
109 |
| - //else (leftIdeal,rightIdeal) |
110 |
| - //todo speed up very slow movement by 10. Not sure this is usefulif(leftSteering >= 10 && rightSteering >= 10) (leftSteering,rightSteering) |
111 |
| - //todo speed up very slow movement by 10. Not sure this is useful else (leftSteering+10,rightSteering+10) |
| 101 | + // todo for fractions |
| 102 | + // val (leftSteering, rightSteering) = (leftIdeal,rightIdeal) |
| 103 | + // todo for fractions |
| 104 | + // if(leftIdeal != rightIdeal) (leftIdeal,rightIdeal) |
| 105 | + // else if(steerAdjust.v > 0) (leftIdeal+1,rightIdeal) |
| 106 | + // else if(steerAdjust.v < 0) (leftIdeal,rightIdeal+1) |
| 107 | + // else (leftIdeal,rightIdeal) |
| 108 | + // todo speed up very slow movement by 10. Not sure this is useful: if(leftSteering >= 10 && rightSteering >= 10) (leftSteering,rightSteering) |
| 109 | + // todo speed up very slow movement by 10. Not sure this is useful else (leftSteering+10,rightSteering+10) |
112 | 110 | }
|
113 | 111 |
|
114 | 112 | val (leftDutyCycle, rightDutyCycle) = dutyCyclesFromAdjust()
|
@@ -211,7 +209,7 @@ object GyroDriveStraight extends Runnable {
|
211 | 209 |
|
212 | 210 | /**
|
213 | 211 | * Adjust the speed based on the current gyro heading to drive in an arc.
|
214 |
| - * This method assumes the goal absolute postions have already been written |
| 212 | + * This method assumes the goal absolute positions have already been written |
215 | 213 | *
|
216 | 214 | * @param goalHeading that the gyroscope should read during this traverse
|
217 | 215 | * @param averageSpeed degrees/second for moving the robot quickly
|
@@ -273,12 +271,12 @@ object GyroDriveStraight extends Runnable {
|
273 | 271 | //noinspection ScalaUnusedSymbol
|
274 | 272 | object Robot {
|
275 | 273 |
|
276 |
| - val driveWheelDiameter = 11.studs |
277 |
| - val driveWheelCircumference = (driveWheelDiameter.v * Math.PI.toFloat).mm |
| 274 | + val driveWheelDiameter: MilliMeters = 11.studs |
| 275 | + val driveWheelCircumference: MilliMeters = (driveWheelDiameter.v * Math.PI.toFloat).mm |
278 | 276 |
|
279 |
| - val robotWheelbase = 18.studs |
| 277 | + val robotWheelbase: MilliMeters = 18.studs |
280 | 278 |
|
281 |
| - val keypad = Ev3System.keyPad |
| 279 | + val keypad: Ev3KeyPad.type = Ev3System.keyPad |
282 | 280 |
|
283 | 281 | val gyroscope: Ev3Gyroscope = Ev3System.portsToSensors.values.collectFirst { case gyro: Ev3Gyroscope => gyro }.get
|
284 | 282 | val headingMode: gyroscope.HeadingMode = gyroscope.headingMode()
|
|
0 commit comments