00001 #include "sonar_rangefinder.h"
00002
00003
00004 static short sonar_left_pin, sonar_center_pin, sonar_right_pin;
00005 static short sonar_left_pulse = 0, sonar_center_pulse = 0, sonar_right_pulse = 0;
00006 static const short MAX_RANGE = 18500;
00007
00008 void initializeSonarRangefinders(int left_pin, int center_pin, int right_pin) {
00009 sonar_left_pin = left_pin;
00010 sonar_center_pin = center_pin;
00011 sonar_right_pin = right_pin;
00012 }
00013
00014
00015 int getSonarLeft() {
00016 PULSOUT(sonar_left_pin, 5);
00017 sonar_left_pulse = PULSIN(sonar_left_pin, 1);
00018 if(sonar_left_pulse > MAX_RANGE) { sonar_left_pulse = MAX_RANGE; }
00019 return sonar_left_pulse;
00020 }
00021
00022
00023 int getSonarCenter() {
00024 PULSOUT(sonar_center_pin, 5);
00025 sonar_center_pulse = PULSIN(sonar_center_pin, 1);
00026 if(sonar_center_pulse > MAX_RANGE) { sonar_center_pulse = MAX_RANGE; }
00027 return sonar_center_pulse;
00028 }
00029
00030
00031 int getSonarRight() {
00032 PULSOUT(sonar_right_pin, 5);
00033 sonar_right_pulse = PULSIN(sonar_right_pin, 1);
00034 if(sonar_right_pulse > MAX_RANGE) { sonar_right_pulse = MAX_RANGE; }
00035 return sonar_right_pulse;
00036 }