mirror of
https://github.com/Wessel/Roommapper.git
synced 2026-07-16 04:53:58 +02:00
Merge pull request #1 from Wessel/feat-ultrasonic
add c++ code for conversion
This commit is contained in:
57
.vscode/settings.json
vendored
Normal file
57
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"array": "cpp",
|
||||
"string": "cpp",
|
||||
"string_view": "cpp",
|
||||
"ranges": "cpp",
|
||||
"iostream": "cpp",
|
||||
"cctype": "cpp",
|
||||
"clocale": "cpp",
|
||||
"cmath": "cpp",
|
||||
"cstdarg": "cpp",
|
||||
"cstddef": "cpp",
|
||||
"cstdio": "cpp",
|
||||
"cstdlib": "cpp",
|
||||
"cstring": "cpp",
|
||||
"ctime": "cpp",
|
||||
"cwchar": "cpp",
|
||||
"cwctype": "cpp",
|
||||
"atomic": "cpp",
|
||||
"bit": "cpp",
|
||||
"*.tcc": "cpp",
|
||||
"compare": "cpp",
|
||||
"concepts": "cpp",
|
||||
"cstdint": "cpp",
|
||||
"deque": "cpp",
|
||||
"map": "cpp",
|
||||
"set": "cpp",
|
||||
"unordered_map": "cpp",
|
||||
"vector": "cpp",
|
||||
"exception": "cpp",
|
||||
"algorithm": "cpp",
|
||||
"functional": "cpp",
|
||||
"iterator": "cpp",
|
||||
"memory": "cpp",
|
||||
"memory_resource": "cpp",
|
||||
"numeric": "cpp",
|
||||
"optional": "cpp",
|
||||
"random": "cpp",
|
||||
"system_error": "cpp",
|
||||
"tuple": "cpp",
|
||||
"type_traits": "cpp",
|
||||
"utility": "cpp",
|
||||
"fstream": "cpp",
|
||||
"initializer_list": "cpp",
|
||||
"iomanip": "cpp",
|
||||
"iosfwd": "cpp",
|
||||
"istream": "cpp",
|
||||
"limits": "cpp",
|
||||
"new": "cpp",
|
||||
"ostream": "cpp",
|
||||
"sstream": "cpp",
|
||||
"stdexcept": "cpp",
|
||||
"streambuf": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"typeinfo": "cpp"
|
||||
}
|
||||
}
|
||||
91
src/Client/Ultrasonic/Makefile
Normal file
91
src/Client/Ultrasonic/Makefile
Normal file
@@ -0,0 +1,91 @@
|
||||
#
|
||||
# 'make' build executable file 'main'
|
||||
# 'make clean' removes all .o and executable files
|
||||
#
|
||||
|
||||
# define the Cpp compiler to use
|
||||
CXX = g++
|
||||
|
||||
# define any compile-time flags
|
||||
CXXFLAGS := -std=c++17 -Wall -Wextra -g -pthread -MD
|
||||
|
||||
# define library paths in addition to /usr/lib
|
||||
# if I wanted to include libraries not in /usr/lib I'd specify
|
||||
# their path using -Lpath, something like:
|
||||
LFLAGS =
|
||||
|
||||
# define output directory
|
||||
OUTPUT := output
|
||||
|
||||
# define source directory
|
||||
SRC := src
|
||||
|
||||
# define include directory
|
||||
INCLUDE := include
|
||||
|
||||
# define lib directory
|
||||
LIB := lib
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
MAIN := main.exe
|
||||
SOURCEDIRS := $(SRC)
|
||||
INCLUDEDIRS := $(INCLUDE)
|
||||
LIBDIRS := $(LIB)
|
||||
FIXPATH = $(subst /,\,$1)
|
||||
RM := del /q /f
|
||||
MD := mkdir
|
||||
else
|
||||
MAIN := main
|
||||
SOURCEDIRS := $(shell find $(SRC) -type d)
|
||||
INCLUDEDIRS := $(shell find $(INCLUDE) -type d)
|
||||
LIBDIRS := $(shell find $(LIB) -type d)
|
||||
FIXPATH = $1
|
||||
RM = rm -f
|
||||
MD := mkdir -p
|
||||
endif
|
||||
|
||||
# define any directories containing header files other than /usr/include
|
||||
INCLUDES := $(patsubst %,-I%, $(INCLUDEDIRS:%/=%))
|
||||
|
||||
# define the C libs
|
||||
LIBS := $(patsubst %,-L%, $(LIBDIRS:%/=%))
|
||||
|
||||
# define the C source files
|
||||
SOURCES := $(wildcard $(patsubst %,%/*.cpp, $(SOURCEDIRS)))
|
||||
|
||||
# define the C object files
|
||||
OBJECTS := $(SOURCES:.cpp=.o)
|
||||
|
||||
#
|
||||
# The following part of the makefile is generic; it can be used to
|
||||
# build any executable just by changing the definitions above and by
|
||||
# deleting dependencies appended to the file from 'make depend'
|
||||
#
|
||||
|
||||
OUTPUTMAIN := $(call FIXPATH,$(OUTPUT)/$(MAIN))
|
||||
|
||||
all: $(OUTPUT) $(MAIN)
|
||||
@echo Executing 'all' complete!
|
||||
|
||||
$(OUTPUT):
|
||||
$(MD) $(OUTPUT)
|
||||
|
||||
$(MAIN): $(OBJECTS)
|
||||
$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OUTPUTMAIN) $(OBJECTS) $(LFLAGS) $(LIBS)
|
||||
|
||||
# this is a suffix replacement rule for building .o's from .c's
|
||||
# it uses automatic variables $<: the name of the prerequisite of
|
||||
# the rule(a .c file) and $@: the name of the target of the rule (a .o file)
|
||||
# (see the gnu make manual section about automatic variables)
|
||||
.cpp.o:
|
||||
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(RM) $(OUTPUTMAIN)
|
||||
$(RM) $(call FIXPATH,$(OBJECTS))
|
||||
@echo Cleanup complete!
|
||||
|
||||
run: all
|
||||
./$(OUTPUTMAIN)
|
||||
@echo Executing 'run: all' complete!
|
||||
BIN
src/Client/Ultrasonic/Ultrasonic
Executable file
BIN
src/Client/Ultrasonic/Ultrasonic
Executable file
Binary file not shown.
80
src/Client/Ultrasonic/Ultrasonic.cpp
Normal file
80
src/Client/Ultrasonic/Ultrasonic.cpp
Normal file
@@ -0,0 +1,80 @@
|
||||
#include "Ultrasonic.h"
|
||||
|
||||
int main() {
|
||||
// Open the serial port. Change device path as needed (currently set to an standard FTDI USB-UART cable type device)
|
||||
int serial_port = open("/dev/ttyUSB0", O_RDWR);
|
||||
|
||||
// Create new termios struct, we call it 'tty' for convention
|
||||
struct termios tty;
|
||||
|
||||
// Read in existing settings, and handle any error
|
||||
if(tcgetattr(serial_port, &tty) != 0) {
|
||||
printf("Error %i from tcgetattr: %s\n", errno, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
tty.c_cflag &= ~PARENB; // Clear parity bit, disabling parity (most common)
|
||||
tty.c_cflag &= ~CSTOPB; // Clear stop field, only one stop bit used in communication (most common)
|
||||
tty.c_cflag &= ~CSIZE; // Clear all bits that set the data size
|
||||
tty.c_cflag |= CS8; // 8 bits per byte (most common)
|
||||
tty.c_cflag &= ~CRTSCTS; // Disable RTS/CTS hardware flow control (most common)
|
||||
tty.c_cflag |= CREAD | CLOCAL; // Turn on READ & ignore ctrl lines (CLOCAL = 1)
|
||||
|
||||
tty.c_lflag &= ~ICANON;
|
||||
tty.c_lflag &= ~ECHO; // Disable echo
|
||||
tty.c_lflag &= ~ECHOE; // Disable erasure
|
||||
tty.c_lflag &= ~ECHONL; // Disable new-line echo
|
||||
tty.c_lflag &= ~ISIG; // Disable interpretation of INTR, QUIT and SUSP
|
||||
tty.c_iflag &= ~(IXON | IXOFF | IXANY); // Turn off s/w flow ctrl
|
||||
tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL); // Disable any special handling of received bytes
|
||||
|
||||
tty.c_oflag &= ~OPOST; // Prevent special interpretation of output bytes (e.g. newline chars)
|
||||
tty.c_oflag &= ~ONLCR; // Prevent conversion of newline to carriage return/line feed
|
||||
// tty.c_oflag &= ~OXTABS; // Prevent conversion of tabs to spaces (NOT PRESENT ON LINUX)
|
||||
// tty.c_oflag &= ~ONOEOT; // Prevent removal of C-d chars (0x004) in output (NOT PRESENT ON LINUX)
|
||||
|
||||
tty.c_cc[VTIME] = 10; // Wait for up to 1s (10 deciseconds), returning as soon as any data is received.
|
||||
tty.c_cc[VMIN] = 0;
|
||||
|
||||
// Set in/out baud rate to be 9600
|
||||
cfsetispeed(&tty, B9600);
|
||||
cfsetospeed(&tty, B9600);
|
||||
|
||||
// Save tty settings, also checking for error
|
||||
if (tcsetattr(serial_port, TCSANOW, &tty) != 0) {
|
||||
printf("Error %i from tcsetattr: %s\n", errno, strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Write to serial port
|
||||
unsigned char msg[] = { 0x22, 0x00, 0x00, 0x22 };
|
||||
write(serial_port, msg, sizeof(msg));
|
||||
|
||||
// Allocate memory for read buffer, set size according to your needs
|
||||
char read_buf [256];
|
||||
|
||||
// Normally you wouldn't do this memset() call, but since we will just receive
|
||||
// ASCII data for this example, we'll set everything to 0 so we can
|
||||
// call printf() easily.
|
||||
memset(&read_buf, '\0', sizeof(read_buf));
|
||||
|
||||
// Read bytes. The behaviour of read() (e.g. does it block?,
|
||||
// how long does it block for?) depends on the configuration
|
||||
// settings above, specifically VMIN and VTIME
|
||||
int num_bytes = read(serial_port, &read_buf, sizeof(read_buf));
|
||||
|
||||
// n is the number of bytes read. n may be 0 if no bytes were received, and can also be -1 to signal an error.
|
||||
if (num_bytes < 0) {
|
||||
printf("Error reading: %s", strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < num_bytes; ++i)
|
||||
std::cout << read_buf[i];
|
||||
std::cout << std::endl;
|
||||
// printf("Read %i bytes. Received message: %s", num_bytes, read_buf);
|
||||
|
||||
close(serial_port);
|
||||
return 0; // success
|
||||
};
|
||||
166
src/Client/Ultrasonic/Ultrasonic.d
Normal file
166
src/Client/Ultrasonic/Ultrasonic.d
Normal file
@@ -0,0 +1,166 @@
|
||||
Ultrasonic: Ultrasonic.cpp /usr/include/stdc-predef.h Ultrasonic.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/long-double.h \
|
||||
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
|
||||
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h \
|
||||
/usr/lib/gcc/x86_64-linux-gnu/10/include/stdarg.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/timesize.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/typesizes.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/time64.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/FILE.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h /usr/include/string.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
|
||||
/usr/include/strings.h /usr/include/c++/10/iostream \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/c++config.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/os_defines.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/cpu_defines.h \
|
||||
/usr/include/c++/10/pstl/pstl_config.h /usr/include/c++/10/ostream \
|
||||
/usr/include/c++/10/ios /usr/include/c++/10/iosfwd \
|
||||
/usr/include/c++/10/bits/stringfwd.h \
|
||||
/usr/include/c++/10/bits/memoryfwd.h /usr/include/c++/10/bits/postypes.h \
|
||||
/usr/include/c++/10/cwchar /usr/include/wchar.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/floatn.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/floatn-common.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/wchar.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/wint_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \
|
||||
/usr/include/c++/10/exception /usr/include/c++/10/bits/exception.h \
|
||||
/usr/include/c++/10/bits/exception_ptr.h \
|
||||
/usr/include/c++/10/bits/exception_defines.h \
|
||||
/usr/include/c++/10/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/10/typeinfo /usr/include/c++/10/bits/hash_bytes.h \
|
||||
/usr/include/c++/10/new /usr/include/c++/10/bits/nested_exception.h \
|
||||
/usr/include/c++/10/bits/move.h /usr/include/c++/10/type_traits \
|
||||
/usr/include/c++/10/bits/char_traits.h \
|
||||
/usr/include/c++/10/bits/stl_algobase.h \
|
||||
/usr/include/c++/10/bits/functexcept.h \
|
||||
/usr/include/c++/10/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/10/ext/type_traits.h \
|
||||
/usr/include/c++/10/ext/numeric_traits.h \
|
||||
/usr/include/c++/10/bits/stl_pair.h \
|
||||
/usr/include/c++/10/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/10/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/10/bits/concept_check.h \
|
||||
/usr/include/c++/10/debug/assertions.h \
|
||||
/usr/include/c++/10/bits/stl_iterator.h \
|
||||
/usr/include/c++/10/bits/ptr_traits.h /usr/include/c++/10/debug/debug.h \
|
||||
/usr/include/c++/10/bits/predefined_ops.h /usr/include/c++/10/cstdint \
|
||||
/usr/lib/gcc/x86_64-linux-gnu/10/include/stdint.h /usr/include/stdint.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
|
||||
/usr/include/c++/10/bits/localefwd.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/c++locale.h \
|
||||
/usr/include/c++/10/clocale /usr/include/locale.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/10/cctype \
|
||||
/usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/endian.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/endianness.h \
|
||||
/usr/include/c++/10/bits/ios_base.h /usr/include/c++/10/ext/atomicity.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/gthr.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/gthr-default.h \
|
||||
/usr/include/pthread.h /usr/include/sched.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/time_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/sched.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/time.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/timex.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/setjmp.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/atomic_word.h \
|
||||
/usr/include/c++/10/bits/locale_classes.h /usr/include/c++/10/string \
|
||||
/usr/include/c++/10/bits/allocator.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/c++allocator.h \
|
||||
/usr/include/c++/10/ext/new_allocator.h \
|
||||
/usr/include/c++/10/bits/ostream_insert.h \
|
||||
/usr/include/c++/10/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/10/bits/stl_function.h \
|
||||
/usr/include/c++/10/backward/binders.h \
|
||||
/usr/include/c++/10/bits/range_access.h \
|
||||
/usr/include/c++/10/initializer_list \
|
||||
/usr/include/c++/10/bits/iterator_concepts.h \
|
||||
/usr/include/c++/10/concepts /usr/include/c++/10/bits/range_cmp.h \
|
||||
/usr/include/c++/10/bits/basic_string.h \
|
||||
/usr/include/c++/10/ext/alloc_traits.h \
|
||||
/usr/include/c++/10/bits/alloc_traits.h \
|
||||
/usr/include/c++/10/bits/stl_construct.h /usr/include/c++/10/string_view \
|
||||
/usr/include/c++/10/bits/functional_hash.h \
|
||||
/usr/include/c++/10/bits/string_view.tcc \
|
||||
/usr/include/c++/10/ext/string_conversions.h /usr/include/c++/10/cstdlib \
|
||||
/usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/waitstatus.h \
|
||||
/usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/byteswap.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
|
||||
/usr/include/x86_64-linux-gnu/sys/select.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/select.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
|
||||
/usr/include/alloca.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
|
||||
/usr/include/c++/10/bits/std_abs.h /usr/include/c++/10/cstdio \
|
||||
/usr/include/c++/10/cerrno /usr/include/errno.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
|
||||
/usr/include/x86_64-linux-gnu/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/error_t.h \
|
||||
/usr/include/c++/10/bits/charconv.h \
|
||||
/usr/include/c++/10/bits/basic_string.tcc \
|
||||
/usr/include/c++/10/bits/locale_classes.tcc \
|
||||
/usr/include/c++/10/system_error \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/error_constants.h \
|
||||
/usr/include/c++/10/stdexcept /usr/include/c++/10/streambuf \
|
||||
/usr/include/c++/10/bits/streambuf.tcc \
|
||||
/usr/include/c++/10/bits/basic_ios.h \
|
||||
/usr/include/c++/10/bits/locale_facets.h /usr/include/c++/10/cwctype \
|
||||
/usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/ctype_base.h \
|
||||
/usr/include/c++/10/bits/streambuf_iterator.h \
|
||||
/usr/include/x86_64-linux-gnu/c++/10/bits/ctype_inline.h \
|
||||
/usr/include/c++/10/bits/locale_facets.tcc \
|
||||
/usr/include/c++/10/bits/basic_ios.tcc \
|
||||
/usr/include/c++/10/bits/ostream.tcc /usr/include/c++/10/istream \
|
||||
/usr/include/c++/10/bits/istream.tcc /usr/include/fcntl.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/fcntl.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
|
||||
/usr/include/linux/falloc.h /usr/include/x86_64-linux-gnu/bits/stat.h \
|
||||
/usr/include/termios.h /usr/include/x86_64-linux-gnu/bits/termios.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-struct.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-c_cc.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-c_iflag.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-c_oflag.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-baud.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-c_cflag.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-c_lflag.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-tcflow.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/termios-misc.h \
|
||||
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h /usr/include/unistd.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/posix_opt.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/environments.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/confname.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/getopt_core.h \
|
||||
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h
|
||||
11
src/Client/Ultrasonic/Ultrasonic.h
Normal file
11
src/Client/Ultrasonic/Ultrasonic.h
Normal file
@@ -0,0 +1,11 @@
|
||||
// C library headers
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <iostream>
|
||||
|
||||
// Linux headers
|
||||
#include <fcntl.h> // Contains file controls like O_RDWR
|
||||
#include <errno.h> // Error integer and strerror() function
|
||||
#include <termios.h> // Contains POSIX terminal control definitions
|
||||
#include <unistd.h> // write(), read(), close()
|
||||
|
||||
Reference in New Issue
Block a user