summaryrefslogtreecommitdiff
path: root/digital/beacon/src
diff options
context:
space:
mode:
authorFlorent Duchon2012-05-17 02:17:47 +0200
committerFlorent Duchon2012-12-24 17:47:57 +0100
commita2a799c4ec81435c16e27ec3051a94c609dd550e (patch)
tree0f8593c7ec16d860e818ae7249a0f3db0398480e /digital/beacon/src
parentcac1bee81c06a82bfe14c23bdacc5cb37820be2f (diff)
digital/beacon: angle filtering
Diffstat (limited to 'digital/beacon/src')
-rw-r--r--digital/beacon/src/laser.c11
-rw-r--r--digital/beacon/src/laser.h6
2 files changed, 11 insertions, 6 deletions
diff --git a/digital/beacon/src/laser.c b/digital/beacon/src/laser.c
index f5fca7ff..09f9368e 100644
--- a/digital/beacon/src/laser.c
+++ b/digital/beacon/src/laser.c
@@ -152,14 +152,13 @@ ISR(TIMER3_COMPB_vect)
}
else
{
- angle_to_send = laser_get_angle_raw() + (laser.angle_id << 9);
+ if(laser_get_angle_degree() < ANGLE_RANGE_MAX)
+ {
+ angle_to_send = laser_get_angle_raw() + (laser.angle_id << 9);
#ifdef LOL_NUMBER_2
- angle_to_send = (CODEWHEEL_CPR/4 - laser_get_angle_raw()) + (laser.angle_id << 9);
+ angle_to_send = (CODEWHEEL_CPR/4 - laser_get_angle_raw()) + (laser.angle_id << 9);
#endif
- network_send_data(NETWORK_ANGLE_RAW,angle_to_send);
- if((laser_get_angle_degree() > 30) && (laser_get_angle_degree() < 70))
- {
- uprintf("angle[%d] = %f\r\n",laser.angle_id,laser_get_angle_degree());
+ network_send_data(NETWORK_ANGLE_RAW,angle_to_send);
laser.angle_id++;
}
}
diff --git a/digital/beacon/src/laser.h b/digital/beacon/src/laser.h
index f58cb3c8..721b7d96 100644
--- a/digital/beacon/src/laser.h
+++ b/digital/beacon/src/laser.h
@@ -30,6 +30,12 @@
#define SENDING_ENGAGED TIMSK3&(1<<OCIE3B)
#define LASER_CONFIRMATION_OFFSET 10
+#ifdef LOL_NUMBER_3
+#define ANGLE_RANGE_MAX 180
+#else
+#define ANGLE_RANGE_MAX 90
+#endif
+
typedef enum
{
LASER_FIRST_RISING_EDGE,