summaryrefslogtreecommitdiff
path: root/digital
diff options
context:
space:
mode:
Diffstat (limited to 'digital')
-rw-r--r--digital/avr/modules/math/geometry/distance.c3
-rw-r--r--digital/io/src/radar.c5
2 files changed, 3 insertions, 5 deletions
diff --git a/digital/avr/modules/math/geometry/distance.c b/digital/avr/modules/math/geometry/distance.c
index d9228638..b5912aaa 100644
--- a/digital/avr/modules/math/geometry/distance.c
+++ b/digital/avr/modules/math/geometry/distance.c
@@ -64,8 +64,7 @@ distance_segment_point (vect_t *a, vect_t *b, vect_t *p)
if (vect_dot_product (&vab, &vbp) > 0)
return vect_norm (&vbp);
/* Else, region 2. */
- vect_normal (&vab);
- proj = vect_dot_product (&vab, &vbp) / vect_norm (&vab);
+ proj = vect_normal_dot_product (&vab, &vbp) / vect_norm (&vab);
return UTILS_ABS (proj);
}
diff --git a/digital/io/src/radar.c b/digital/io/src/radar.c
index ca815006..6188ff37 100644
--- a/digital/io/src/radar.c
+++ b/digital/io/src/radar.c
@@ -162,8 +162,7 @@ radar_blocking (const vect_t *robot_pos, const vect_t *dest_pos,
+ RADAR_OBSTACLE_RADIUS_MM;
else
length = BOT_SIZE_FRONT + RADAR_STOP_MM + RADAR_OBSTACLE_RADIUS_MM;
- /* To save divisions, multiply limits by vd (and vdn) length. */
- vect_t vdn = vd; vect_normal (&vdn);
+ /* To save divisions, multiply limits by vd length. */
int32_t limit = (uint32_t) d * length;
int32_t limitn = (uint32_t) d * (BOT_SIZE_SIDE + RADAR_CLEARANCE_MM
+ RADAR_OBSTACLE_RADIUS_MM);
@@ -176,7 +175,7 @@ radar_blocking (const vect_t *robot_pos, const vect_t *dest_pos,
int32_t dp = vect_dot_product (&vd, &vo);
if (dp < 0 || dp > limit)
continue;
- int32_t dpn = vect_dot_product (&vdn, &vo);
+ int32_t dpn = vect_normal_dot_product (&vd, &vo);
if (dpn < -limitn || dpn > limitn)
continue;
/* Else, obstacle is blocking. */