/* * ultrasonic.h * * Copyright 2015 Edward V. Emelianov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #pragma once #ifndef __ULTRASONIC_H__ #define __ULTRASONIC_H__ #include void tim2_init(); int start_ultrasonic(); int ultrasonic_get(uint32_t *L); // Sensor mode typedef enum{ US_MODE_OFF // sensor is off ,US_MODE_TRIG // sensor triggered ,US_MODE_WAIT // wait for pulse ,US_MODE_MEASUREMENT // measurement in process ,US_MODE_READY // measurements done } usmode; // trigger time: after trigger event ends, timer will be configured for capture - 20us #define TRIG_T (200) // trigger length - 10us #define TRIG_L (10) // max length of measurement (to detect signal absence) #define MAX_MSRMNT_LEN (65535) #endif // __ULTRASONIC_H__