Add software
This commit is contained in:
		
							
								
								
									
										20
									
								
								Software/BTLE/host/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								Software/BTLE/host/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
#top dir cmake project
 | 
			
		||||
 | 
			
		||||
cmake_minimum_required(VERSION 2.8)
 | 
			
		||||
project (btle_all)
 | 
			
		||||
 | 
			
		||||
add_subdirectory(btle-tools)
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Create uninstall target
 | 
			
		||||
########################################################################
 | 
			
		||||
 | 
			
		||||
configure_file(
 | 
			
		||||
    ${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
 | 
			
		||||
    ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
 | 
			
		||||
@ONLY)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
add_custom_target(uninstall
 | 
			
		||||
    ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										3
									
								
								Software/BTLE/host/btle-tools/52-hackrf.rules
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								Software/BTLE/host/btle-tools/52-hackrf.rules
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="660", GROUP="plugdev"
 | 
			
		||||
ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="660", GROUP="plugdev"
 | 
			
		||||
ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="nxp-dfu-%k", MODE="660", GROUP="plugdev"
 | 
			
		||||
							
								
								
									
										89
									
								
								Software/BTLE/host/btle-tools/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								Software/BTLE/host/btle-tools/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,89 @@
 | 
			
		||||
# Copyright 2012 Jared Boone
 | 
			
		||||
# Copyright 2013 Benjamin Vernoux
 | 
			
		||||
#
 | 
			
		||||
# This file is part of HackRF and bladeRF
 | 
			
		||||
#
 | 
			
		||||
# 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, 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; see the file COPYING.  If not, write to
 | 
			
		||||
# the Free Software Foundation, Inc., 51 Franklin Street,
 | 
			
		||||
# Boston, MA 02110-1301, USA.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Based heavily upon the libftdi cmake setup.
 | 
			
		||||
 | 
			
		||||
cmake_minimum_required(VERSION 2.8)
 | 
			
		||||
project(btle-tools C)
 | 
			
		||||
set(MAJOR_VERSION 0)
 | 
			
		||||
set(MINOR_VERSION 5)
 | 
			
		||||
set(PACKAGE btle-tools)
 | 
			
		||||
set(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION})
 | 
			
		||||
set(VERSION ${VERSION_STRING})
 | 
			
		||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake/modules)
 | 
			
		||||
 | 
			
		||||
if(MSVC)
 | 
			
		||||
# include_directories(getopt)
 | 
			
		||||
add_definitions(/D _CRT_SECURE_NO_WARNINGS)
 | 
			
		||||
else()
 | 
			
		||||
add_definitions(-Wall)
 | 
			
		||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu90")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# Find needed packages.
 | 
			
		||||
IF (USE_BLADERF MATCHES 1)
 | 
			
		||||
  MESSAGE(STATUS "Use BLADERF")
 | 
			
		||||
  find_package(LIBBLADERF REQUIRED)
 | 
			
		||||
  include_directories(${LIBBLADERF_INCLUDE_DIR})
 | 
			
		||||
  set(USE_RFBOARD "USE_BLADERF")
 | 
			
		||||
ELSE (USE_BLADERF MATCHES 1)
 | 
			
		||||
  MESSAGE(STATUS "Use HACKRF")
 | 
			
		||||
  find_package(LIBHACKRF REQUIRED)
 | 
			
		||||
  include_directories(${LIBHACKRF_INCLUDE_DIR})
 | 
			
		||||
  set(USE_RFBOARD "USE_HACKRF")
 | 
			
		||||
ENDIF (USE_BLADERF MATCHES 1)
 | 
			
		||||
 | 
			
		||||
CONFIGURE_FILE (
 | 
			
		||||
  "${PROJECT_SOURCE_DIR}/include/common.h.in"
 | 
			
		||||
  "${PROJECT_SOURCE_DIR}/src/common.h"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_subdirectory(src)
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Create uninstall target
 | 
			
		||||
########################################################################
 | 
			
		||||
 | 
			
		||||
if(NOT btle_all_SOURCE_DIR)
 | 
			
		||||
configure_file(
 | 
			
		||||
    ${PROJECT_SOURCE_DIR}/../cmake/cmake_uninstall.cmake.in
 | 
			
		||||
    ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
 | 
			
		||||
@ONLY)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
add_custom_target(uninstall
 | 
			
		||||
    ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
 | 
			
		||||
)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# Install udev rules
 | 
			
		||||
########################################################################
 | 
			
		||||
option(INSTALL_UDEV_RULES "Install udev rules for HackRF" OFF)
 | 
			
		||||
if (INSTALL_UDEV_RULES)
 | 
			
		||||
    install (
 | 
			
		||||
        FILES 52-hackrf.rules
 | 
			
		||||
        DESTINATION "/etc/udev/rules.d"
 | 
			
		||||
        COMPONENT "udev"
 | 
			
		||||
        )
 | 
			
		||||
else (INSTALL_UDEV_RULES)
 | 
			
		||||
    message (STATUS "Udev rules not being installed, install them with -DINSTALL_UDEV_RULES=ON")
 | 
			
		||||
endif (INSTALL_UDEV_RULES)
 | 
			
		||||
							
								
								
									
										7
									
								
								Software/BTLE/host/btle-tools/include/common.h.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Software/BTLE/host/btle-tools/include/common.h.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
#ifndef HAVE_COMMON_H
 | 
			
		||||
#define HAVE_COMMON_H
 | 
			
		||||
 | 
			
		||||
#define @USE_RFBOARD@
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										63
									
								
								Software/BTLE/host/btle-tools/src/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								Software/BTLE/host/btle-tools/src/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
# Copyright 2012 Jared Boone
 | 
			
		||||
# Copyright 2013 Benjamin Vernoux
 | 
			
		||||
#
 | 
			
		||||
# This file is part of HackRF and BladeRF.
 | 
			
		||||
#
 | 
			
		||||
# 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, 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; see the file COPYING.  If not, write to
 | 
			
		||||
# the Free Software Foundation, Inc., 51 Franklin Street,
 | 
			
		||||
# Boston, MA 02110-1301, USA.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Based heavily upon the libftdi cmake setup.
 | 
			
		||||
set(INSTALL_DEFAULT_BINDIR "bin" CACHE STRING "Appended to CMAKE_INSTALL_PREFIX")
 | 
			
		||||
 | 
			
		||||
if(MSVC)
 | 
			
		||||
add_library(libgetopt_static STATIC
 | 
			
		||||
    ../getopt/getopt.c
 | 
			
		||||
)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
add_executable(btle_tx btle_tx.c)
 | 
			
		||||
install(TARGETS btle_tx RUNTIME DESTINATION ${INSTALL_DEFAULT_BINDIR})
 | 
			
		||||
 | 
			
		||||
add_executable(btle_rx btle_rx.c)
 | 
			
		||||
install(TARGETS btle_rx RUNTIME DESTINATION ${INSTALL_DEFAULT_BINDIR})
 | 
			
		||||
 | 
			
		||||
IF (USE_BLADERF MATCHES 1)
 | 
			
		||||
include_directories(${LIBBLADERF_INCLUDE_DIR})
 | 
			
		||||
LIST(APPEND TOOLS_LINK_LIBS ${LIBBLADERF_LIBRARIES})
 | 
			
		||||
ELSE (USE_BLADERF MATCHES 1)
 | 
			
		||||
include_directories(${LIBHACKRF_INCLUDE_DIR})
 | 
			
		||||
LIST(APPEND TOOLS_LINK_LIBS ${LIBHACKRF_LIBRARIES})
 | 
			
		||||
ENDIF (USE_BLADERF MATCHES 1)
 | 
			
		||||
 | 
			
		||||
IF(NOT DEFINED C_INLINE)
 | 
			
		||||
   ADD_DEFINITIONS("-Dinline=")
 | 
			
		||||
ENDIF(NOT DEFINED C_INLINE)
 | 
			
		||||
 | 
			
		||||
if(MSVC)
 | 
			
		||||
LIST(APPEND TOOLS_LINK_LIBS libgetopt_static)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_link_libraries(btle_tx ${TOOLS_LINK_LIBS} m)
 | 
			
		||||
 | 
			
		||||
IF (USE_BLADERF MATCHES 1)
 | 
			
		||||
target_link_libraries(btle_rx ${TOOLS_LINK_LIBS} m -lpthread)
 | 
			
		||||
ELSE (USE_BLADERF MATCHES 1)
 | 
			
		||||
target_link_libraries(btle_rx ${TOOLS_LINK_LIBS} m)
 | 
			
		||||
ENDIF (USE_BLADERF MATCHES 1)
 | 
			
		||||
 | 
			
		||||
# MESSAGE(STATUS "1")
 | 
			
		||||
# MESSAGE(STATUS ${LIBBLADERF_LIBRARIES})
 | 
			
		||||
# MESSAGE(STATUS "2")
 | 
			
		||||
							
								
								
									
										2421
									
								
								Software/BTLE/host/btle-tools/src/btle_rx.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2421
									
								
								Software/BTLE/host/btle-tools/src/btle_rx.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										4256
									
								
								Software/BTLE/host/btle-tools/src/btle_tx.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4256
									
								
								Software/BTLE/host/btle-tools/src/btle_tx.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										96
									
								
								Software/BTLE/host/btle-tools/src/gauss_cos_sin_table.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								Software/BTLE/host/btle-tools/src/gauss_cos_sin_table.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
// Lookup table to speedup the program
 | 
			
		||||
// Xianjun Jiao (putaoshu@msn.com)
 | 
			
		||||
 | 
			
		||||
const int8_t gauss_coef_int8[16] = {
 | 
			
		||||
0, 0, 0, 0, 2, 11, 32, 53, 60, 53, 32, 11, 2, 0, 0, 0, };
 | 
			
		||||
 | 
			
		||||
const int8_t cos_table_int8[1024] = {
 | 
			
		||||
127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 
 | 
			
		||||
126, 126, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122, 122, 122, 
 | 
			
		||||
122, 121, 121, 121, 121, 120, 120, 120, 120, 119, 119, 119, 118, 118, 118, 118, 117, 117, 117, 116, 116, 116, 115, 115, 
 | 
			
		||||
115, 114, 114, 114, 113, 113, 113, 112, 112, 112, 111, 111, 111, 110, 110, 109, 109, 109, 108, 108, 107, 107, 106, 106, 
 | 
			
		||||
106, 105, 105, 104, 104, 103, 103, 102, 102, 102, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 95, 95, 
 | 
			
		||||
94, 94, 93, 93, 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 86, 86, 85, 85, 84, 84, 83, 82, 82, 81, 
 | 
			
		||||
81, 80, 79, 79, 78, 78, 77, 76, 76, 75, 74, 74, 73, 72, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 
 | 
			
		||||
65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 
 | 
			
		||||
49, 48, 47, 46, 46, 45, 44, 44, 43, 42, 41, 41, 40, 39, 38, 38, 37, 36, 35, 35, 34, 33, 32, 32, 
 | 
			
		||||
31, 30, 29, 29, 28, 27, 26, 26, 25, 24, 23, 22, 22, 21, 20, 19, 19, 18, 17, 16, 16, 15, 14, 13, 
 | 
			
		||||
12, 12, 11, 10, 9, 9, 8, 7, 6, 5, 5, 4, 3, 2, 2, 1, 0, -1, -2, -2, -3, -4, -5, -5, 
 | 
			
		||||
-6, -7, -8, -9, -9, -10, -11, -12, -12, -13, -14, -15, -16, -16, -17, -18, -19, -19, -20, -21, -22, -22, -23, -24, 
 | 
			
		||||
-25, -26, -26, -27, -28, -29, -29, -30, -31, -32, -32, -33, -34, -35, -35, -36, -37, -38, -38, -39, -40, -41, -41, -42, 
 | 
			
		||||
-43, -44, -44, -45, -46, -46, -47, -48, -49, -49, -50, -51, -51, -52, -53, -54, -54, -55, -56, -56, -57, -58, -58, -59, 
 | 
			
		||||
-60, -61, -61, -62, -63, -63, -64, -65, -65, -66, -67, -67, -68, -69, -69, -70, -71, -71, -72, -72, -73, -74, -74, -75, 
 | 
			
		||||
-76, -76, -77, -78, -78, -79, -79, -80, -81, -81, -82, -82, -83, -84, -84, -85, -85, -86, -86, -87, -88, -88, -89, -89, 
 | 
			
		||||
-90, -90, -91, -91, -92, -93, -93, -94, -94, -95, -95, -96, -96, -97, -97, -98, -98, -99, -99, -100, -100, -101, -101, -102, 
 | 
			
		||||
-102, -102, -103, -103, -104, -104, -105, -105, -106, -106, -106, -107, -107, -108, -108, -109, -109, -109, -110, -110, -111, -111, -111, -112, 
 | 
			
		||||
-112, -112, -113, -113, -113, -114, -114, -114, -115, -115, -115, -116, -116, -116, -117, -117, -117, -118, -118, -118, -118, -119, -119, -119, 
 | 
			
		||||
-120, -120, -120, -120, -121, -121, -121, -121, -122, -122, -122, -122, -122, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, 
 | 
			
		||||
-125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127, -127, -127, 
 | 
			
		||||
-127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126, 
 | 
			
		||||
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124, -124, -123, 
 | 
			
		||||
-123, -123, -123, -123, -122, -122, -122, -122, -122, -121, -121, -121, -121, -120, -120, -120, -120, -119, -119, -119, -118, -118, -118, -118, 
 | 
			
		||||
-117, -117, -117, -116, -116, -116, -115, -115, -115, -114, -114, -114, -113, -113, -113, -112, -112, -112, -111, -111, -111, -110, -110, -109, 
 | 
			
		||||
-109, -109, -108, -108, -107, -107, -106, -106, -106, -105, -105, -104, -104, -103, -103, -102, -102, -102, -101, -101, -100, -100, -99, -99, 
 | 
			
		||||
-98, -98, -97, -97, -96, -96, -95, -95, -94, -94, -93, -93, -92, -91, -91, -90, -90, -89, -89, -88, -88, -87, -86, -86, 
 | 
			
		||||
-85, -85, -84, -84, -83, -82, -82, -81, -81, -80, -79, -79, -78, -78, -77, -76, -76, -75, -74, -74, -73, -72, -72, -71, 
 | 
			
		||||
-71, -70, -69, -69, -68, -67, -67, -66, -65, -65, -64, -63, -63, -62, -61, -61, -60, -59, -58, -58, -57, -56, -56, -55, 
 | 
			
		||||
-54, -54, -53, -52, -51, -51, -50, -49, -49, -48, -47, -46, -46, -45, -44, -44, -43, -42, -41, -41, -40, -39, -38, -38, 
 | 
			
		||||
-37, -36, -35, -35, -34, -33, -32, -32, -31, -30, -29, -29, -28, -27, -26, -26, -25, -24, -23, -22, -22, -21, -20, -19, 
 | 
			
		||||
-19, -18, -17, -16, -16, -15, -14, -13, -12, -12, -11, -10, -9, -9, -8, -7, -6, -5, -5, -4, -3, -2, -2, -1, 
 | 
			
		||||
0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 16, 16, 17, 18, 
 | 
			
		||||
19, 19, 20, 21, 22, 22, 23, 24, 25, 26, 26, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 
 | 
			
		||||
37, 38, 38, 39, 40, 41, 41, 42, 43, 44, 44, 45, 46, 46, 47, 48, 49, 49, 50, 51, 51, 52, 53, 54, 
 | 
			
		||||
54, 55, 56, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63, 63, 64, 65, 65, 66, 67, 67, 68, 69, 69, 70, 
 | 
			
		||||
71, 71, 72, 72, 73, 74, 74, 75, 76, 76, 77, 78, 78, 79, 79, 80, 81, 81, 82, 82, 83, 84, 84, 85, 
 | 
			
		||||
85, 86, 86, 87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 93, 93, 94, 94, 95, 95, 96, 96, 97, 97, 98, 
 | 
			
		||||
98, 99, 99, 100, 100, 101, 101, 102, 102, 102, 103, 103, 104, 104, 105, 105, 106, 106, 106, 107, 107, 108, 108, 109, 
 | 
			
		||||
109, 109, 110, 110, 111, 111, 111, 112, 112, 112, 113, 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 
 | 
			
		||||
117, 118, 118, 118, 118, 119, 119, 119, 120, 120, 120, 120, 121, 121, 121, 121, 122, 122, 122, 122, 122, 123, 123, 123, 
 | 
			
		||||
123, 123, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 
 | 
			
		||||
126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, };
 | 
			
		||||
 | 
			
		||||
const int8_t sin_table_int8[1024] = {
 | 
			
		||||
0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 16, 16, 17, 18, 
 | 
			
		||||
19, 19, 20, 21, 22, 22, 23, 24, 25, 26, 26, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 
 | 
			
		||||
37, 38, 38, 39, 40, 41, 41, 42, 43, 44, 44, 45, 46, 46, 47, 48, 49, 49, 50, 51, 51, 52, 53, 54, 
 | 
			
		||||
54, 55, 56, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63, 63, 64, 65, 65, 66, 67, 67, 68, 69, 69, 70, 
 | 
			
		||||
71, 71, 72, 72, 73, 74, 74, 75, 76, 76, 77, 78, 78, 79, 79, 80, 81, 81, 82, 82, 83, 84, 84, 85, 
 | 
			
		||||
85, 86, 86, 87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 93, 93, 94, 94, 95, 95, 96, 96, 97, 97, 98, 
 | 
			
		||||
98, 99, 99, 100, 100, 101, 101, 102, 102, 102, 103, 103, 104, 104, 105, 105, 106, 106, 106, 107, 107, 108, 108, 109, 
 | 
			
		||||
109, 109, 110, 110, 111, 111, 111, 112, 112, 112, 113, 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 
 | 
			
		||||
117, 118, 118, 118, 118, 119, 119, 119, 120, 120, 120, 120, 121, 121, 121, 121, 122, 122, 122, 122, 122, 123, 123, 123, 
 | 
			
		||||
123, 123, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 
 | 
			
		||||
126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 
 | 
			
		||||
127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 
 | 
			
		||||
125, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 121, 121, 121, 121, 120, 120, 120, 
 | 
			
		||||
120, 119, 119, 119, 118, 118, 118, 118, 117, 117, 117, 116, 116, 116, 115, 115, 115, 114, 114, 114, 113, 113, 113, 112, 
 | 
			
		||||
112, 112, 111, 111, 111, 110, 110, 109, 109, 109, 108, 108, 107, 107, 106, 106, 106, 105, 105, 104, 104, 103, 103, 102, 
 | 
			
		||||
102, 102, 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 95, 95, 94, 94, 93, 93, 92, 91, 91, 90, 
 | 
			
		||||
90, 89, 89, 88, 88, 87, 86, 86, 85, 85, 84, 84, 83, 82, 82, 81, 81, 80, 79, 79, 78, 78, 77, 76, 
 | 
			
		||||
76, 75, 74, 74, 73, 72, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 
 | 
			
		||||
60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 49, 48, 47, 46, 46, 45, 44, 44, 
 | 
			
		||||
43, 42, 41, 41, 40, 39, 38, 38, 37, 36, 35, 35, 34, 33, 32, 32, 31, 30, 29, 29, 28, 27, 26, 26, 
 | 
			
		||||
25, 24, 23, 22, 22, 21, 20, 19, 19, 18, 17, 16, 16, 15, 14, 13, 12, 12, 11, 10, 9, 9, 8, 7, 
 | 
			
		||||
6, 5, 5, 4, 3, 2, 2, 1, 0, -1, -2, -2, -3, -4, -5, -5, -6, -7, -8, -9, -9, -10, -11, -12, 
 | 
			
		||||
-12, -13, -14, -15, -16, -16, -17, -18, -19, -19, -20, -21, -22, -22, -23, -24, -25, -26, -26, -27, -28, -29, -29, -30, 
 | 
			
		||||
-31, -32, -32, -33, -34, -35, -35, -36, -37, -38, -38, -39, -40, -41, -41, -42, -43, -44, -44, -45, -46, -46, -47, -48, 
 | 
			
		||||
-49, -49, -50, -51, -51, -52, -53, -54, -54, -55, -56, -56, -57, -58, -58, -59, -60, -61, -61, -62, -63, -63, -64, -65, 
 | 
			
		||||
-65, -66, -67, -67, -68, -69, -69, -70, -71, -71, -72, -72, -73, -74, -74, -75, -76, -76, -77, -78, -78, -79, -79, -80, 
 | 
			
		||||
-81, -81, -82, -82, -83, -84, -84, -85, -85, -86, -86, -87, -88, -88, -89, -89, -90, -90, -91, -91, -92, -93, -93, -94, 
 | 
			
		||||
-94, -95, -95, -96, -96, -97, -97, -98, -98, -99, -99, -100, -100, -101, -101, -102, -102, -102, -103, -103, -104, -104, -105, -105, 
 | 
			
		||||
-106, -106, -106, -107, -107, -108, -108, -109, -109, -109, -110, -110, -111, -111, -111, -112, -112, -112, -113, -113, -113, -114, -114, -114, 
 | 
			
		||||
-115, -115, -115, -116, -116, -116, -117, -117, -117, -118, -118, -118, -118, -119, -119, -119, -120, -120, -120, -120, -121, -121, -121, -121, 
 | 
			
		||||
-122, -122, -122, -122, -122, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -126, 
 | 
			
		||||
-126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, 
 | 
			
		||||
-127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, 
 | 
			
		||||
-126, -126, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -122, -122, -122, -122, 
 | 
			
		||||
-122, -121, -121, -121, -121, -120, -120, -120, -120, -119, -119, -119, -118, -118, -118, -118, -117, -117, -117, -116, -116, -116, -115, -115, 
 | 
			
		||||
-115, -114, -114, -114, -113, -113, -113, -112, -112, -112, -111, -111, -111, -110, -110, -109, -109, -109, -108, -108, -107, -107, -106, -106, 
 | 
			
		||||
-106, -105, -105, -104, -104, -103, -103, -102, -102, -102, -101, -101, -100, -100, -99, -99, -98, -98, -97, -97, -96, -96, -95, -95, 
 | 
			
		||||
-94, -94, -93, -93, -92, -91, -91, -90, -90, -89, -89, -88, -88, -87, -86, -86, -85, -85, -84, -84, -83, -82, -82, -81, 
 | 
			
		||||
-81, -80, -79, -79, -78, -78, -77, -76, -76, -75, -74, -74, -73, -72, -72, -71, -71, -70, -69, -69, -68, -67, -67, -66, 
 | 
			
		||||
-65, -65, -64, -63, -63, -62, -61, -61, -60, -59, -58, -58, -57, -56, -56, -55, -54, -54, -53, -52, -51, -51, -50, -49, 
 | 
			
		||||
-49, -48, -47, -46, -46, -45, -44, -44, -43, -42, -41, -41, -40, -39, -38, -38, -37, -36, -35, -35, -34, -33, -32, -32, 
 | 
			
		||||
-31, -30, -29, -29, -28, -27, -26, -26, -25, -24, -23, -22, -22, -21, -20, -19, -19, -18, -17, -16, -16, -15, -14, -13, 
 | 
			
		||||
-12, -12, -11, -10, -9, -9, -8, -7, -6, -5, -5, -4, -3, -2, -2, -1, };
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								Software/BTLE/host/btle-tools/src/packets.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Software/BTLE/host/btle-tools/src/packets.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
# Simulate BTLE Connection establishment according to BTLE/doc/TI-BLE-INTRODUCTION.pdf
 | 
			
		||||
# Turn on your BLE sniffer dongle at channel 37 to see the procedure
 | 
			
		||||
 | 
			
		||||
37-ADV_IND-TxAdd-0-RxAdd-0-AdvA-90D7EBB19299-AdvData-0201050702031802180418-Space-1000
 | 
			
		||||
 | 
			
		||||
37-CONNECT_REQ-TxAdd-0-RxAdd-0-InitA-001830EA965F-AdvA-90D7EBB19299-AA-60850A1B-CRCInit-A77B22-WinSize-02-WinOffset-000F-Interval-0050-Latency-0000-Timeout-07D0-ChM-1FFFFFFFFF-Hop-9-SCA-5-Space-1000
 | 
			
		||||
 | 
			
		||||
9-LL_DATA-AA-60850A1B-LLID-1-NESN-0-SN-0-MD-0-DATA-X-CRCInit-A77B22-Space-1000
 | 
			
		||||
 | 
			
		||||
r1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										55
									
								
								Software/BTLE/host/btle-tools/src/packets_discovery.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								Software/BTLE/host/btle-tools/src/packets_discovery.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
#  example
 | 
			
		||||
#  ./btle_tx 37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-FLAGS-02-LOCAL_NAME09-CA-TXPOWER-03-SERVICE03-180D1810-SERVICE_DATA-180D40-MANUF_DATA-0001FF-CONN_INTERVAL-0006 (-SERVICE_SOLI14-1811)
 | 
			
		||||
#  FLAGS: 0x01 LE Limited Discoverable Mode; 0x02 LE General Discoverable Mode
 | 
			
		||||
#  SERVICE:
 | 
			
		||||
#  0x02 16-bit Service UUIDs More 16-bit UUIDs available
 | 
			
		||||
#  0x03 16-bit Service UUIDs Complete list of 16-bit UUIDs available
 | 
			
		||||
#  0x04 32-bit Service UUIDs More 32-bit UUIDs available
 | 
			
		||||
#  0x05 32-bit Service UUIDs Complete list of 32-bit UUIDs available
 | 
			
		||||
#  0x06 128-bit Service UUIDs More 128-bit UUIDs available
 | 
			
		||||
#  0x07 128-bit Service UUIDs Complete list of 128-bit UUIDs available
 | 
			
		||||
 | 
			
		||||
# 37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-FLAGS-02-LOCAL_NAME09-Jxj-TXPOWER-03-SERVICE03-180D1810-SERVICE_DATA-180D40-MANUF_DATA-004CFF-CONN_INTERVAL-0006
 | 
			
		||||
 | 
			
		||||
# r30
 | 
			
		||||
 | 
			
		||||
37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-SDR Bluetooth Low Energy
 | 
			
		||||
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040500-LOCAL_NAME09-CA0000 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040501-LOCAL_NAME09-CA0001 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040502-LOCAL_NAME09-CA0002 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040503-LOCAL_NAME09-CA0003 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040504-LOCAL_NAME09-CA0004 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040505-LOCAL_NAME09-CA0005 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-CA0006 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040507-LOCAL_NAME09-CA0007 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040508-LOCAL_NAME09-CA0008 11950 22.626 113.823 1
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040509-LOCAL_NAME09-CA0009 11950 22.626 113.823 1
 | 
			
		||||
 | 
			
		||||
r4000
 | 
			
		||||
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-01234567890123456789012345678
 | 
			
		||||
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-FLAGS-02-LOCAL_NAME09-01234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-110203040506-FLAGS-02-LOCAL_NAME09-11234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-210203040506-FLAGS-02-LOCAL_NAME09-21234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-310203040506-FLAGS-02-LOCAL_NAME09-31234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-410203040506-FLAGS-02-LOCAL_NAME09-41234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-510203040506-FLAGS-02-LOCAL_NAME09-51234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-610203040506-FLAGS-02-LOCAL_NAME09-61234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-710203040506-FLAGS-02-LOCAL_NAME09-71234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-810203040506-FLAGS-02-LOCAL_NAME09-81234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-910203040506-FLAGS-02-LOCAL_NAME09-91234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-a10203040506-FLAGS-02-LOCAL_NAME09-a1234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-b10203040506-FLAGS-02-LOCAL_NAME09-b1234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-c10203040506-FLAGS-02-LOCAL_NAME09-c1234567890123456789012345
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-d10203040506-FLAGS-02-LOCAL_NAME09-d1234567890123456789012345
 | 
			
		||||
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-FLAGS-02-SERVICE03-180D-SERVICE_DATA-180D40-SPACE-500
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-110203040506-FLAGS-02-SERVICE03-1819-SERVICE_DATA-181940-SPACE-100
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-210203040506-FLAGS-02-SERVICE03-181c-SERVICE_DATA-181c40-SPACE-500
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-310203040506-FLAGS-02-SERVICE03-180a-SERVICE_DATA-180a40-SPACE-500
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-410203040506-FLAGS-02-SERVICE03-1800-SERVICE_DATA-180040-SPACE-500
 | 
			
		||||
#37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-410203040506-FLAGS-02-SERVICE03-1801-SERVICE_DATA-180140-SPACE-500
 | 
			
		||||
# r30
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5
									
								
								Software/BTLE/host/btle-tools/src/packets_ibeacon.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								Software/BTLE/host/btle-tools/src/packets_ibeacon.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
37-iBeacon-AdvA-010203040506-UUID-B9407F30F5F8466EAFF925556B57FE6D-Major-0008-Minor-0009-TxPower-C5-Space-100
 | 
			
		||||
 | 
			
		||||
r10
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										46
									
								
								Software/BTLE/host/btle-tools/src/scramble_table.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								Software/BTLE/host/btle-tools/src/scramble_table.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
// Scramble table definition
 | 
			
		||||
// Xianjun Jiao (putaoshu@msn.com)
 | 
			
		||||
 | 
			
		||||
const uint8_t scramble_table[40][42] = {
 | 
			
		||||
{64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, },
 | 
			
		||||
{137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, },
 | 
			
		||||
{210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, },
 | 
			
		||||
{27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, },
 | 
			
		||||
{100, 121, 135, 63, 110, 148, 190, 10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, },
 | 
			
		||||
{173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, },
 | 
			
		||||
{246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, },
 | 
			
		||||
{63, 110, 148, 190, 10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, },
 | 
			
		||||
{8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, },
 | 
			
		||||
{193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, },
 | 
			
		||||
{154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, },
 | 
			
		||||
{83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, },
 | 
			
		||||
{44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, },
 | 
			
		||||
{229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, 110, 148, 190, 10, 237, 57, 53, },
 | 
			
		||||
{190, 10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, },
 | 
			
		||||
{119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, },
 | 
			
		||||
{208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, },
 | 
			
		||||
{25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, 110, },
 | 
			
		||||
{66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, },
 | 
			
		||||
{139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, },
 | 
			
		||||
{244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, },
 | 
			
		||||
{61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, },
 | 
			
		||||
{102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, },
 | 
			
		||||
{175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, },
 | 
			
		||||
{152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, },
 | 
			
		||||
{81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, 110, 148, 190, 10, 237, 57, 53, 131, 173, 139, 137, },
 | 
			
		||||
{10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, },
 | 
			
		||||
{195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, },
 | 
			
		||||
{188, 195, 31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, },
 | 
			
		||||
{117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, },
 | 
			
		||||
{46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, 110, 148, 190, 10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, },
 | 
			
		||||
{231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, 110, 148, 190, 10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, },
 | 
			
		||||
{96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, },
 | 
			
		||||
{169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, },
 | 
			
		||||
{242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, 91, 23, 19, 129, 100, 121, 135, 63, 110, 148, 190, 10, 237, 57, 53, 131, 173, 139, 137, 64, 178, 188, 195, 31, 55, 74, 95, 133, 246, 156, 154, },
 | 
			
		||||
{59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, 4, 146, 229, 29, 254, 184, 81, 250, 42, 180, 231, 212, 12, 182, 46, 38, 2, 201, 242, 14, 127, 220, 40, 125, 21, 218, 115, 106, 6, },
 | 
			
		||||
{68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, },
 | 
			
		||||
{141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, },
 | 
			
		||||
{214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, },
 | 
			
		||||
{31, 55, 74, 95, 133, 246, 156, 154, 193, 214, 197, 68, 32, 89, 222, 225, 143, 27, 165, 175, 66, 123, 78, 205, 96, 235, 98, 34, 144, 44, 239, 240, 199, 141, 210, 87, 161, 61, 167, 102, 176, 117, },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								Software/BTLE/host/btle-tools/src/scramble_table_ch37.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Software/BTLE/host/btle-tools/src/scramble_table_ch37.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// Scramble table definition for channel 37
 | 
			
		||||
// Xianjun Jiao (putaoshu@msn.com)
 | 
			
		||||
 | 
			
		||||
const uint8_t scramble_table_ch37[42] = {
 | 
			
		||||
141, 210, 87, 161, 61, 167, 102, 176, 117, 49, 17, 72, 150, 119, 248, 227, 70, 233, 171, 208, 158, 83, 51, 216, 
 | 
			
		||||
186, 152, 8, 36, 203, 59, 252, 113, 163, 244, 85, 104, 207, 169, 25, 108, 93, 76, };
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										32
									
								
								Software/BTLE/host/cmake/cmake_uninstall.cmake.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Software/BTLE/host/cmake/cmake_uninstall.cmake.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
# http://www.vtk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
 | 
			
		||||
 | 
			
		||||
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
 | 
			
		||||
  MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
 | 
			
		||||
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
 | 
			
		||||
 | 
			
		||||
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
 | 
			
		||||
STRING(REGEX REPLACE "\n" ";" files "${files}")
 | 
			
		||||
FOREACH(file ${files})
 | 
			
		||||
  MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
 | 
			
		||||
  IF(EXISTS "$ENV{DESTDIR}${file}")
 | 
			
		||||
    EXEC_PROGRAM(
 | 
			
		||||
      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
 | 
			
		||||
      OUTPUT_VARIABLE rm_out
 | 
			
		||||
      RETURN_VALUE rm_retval
 | 
			
		||||
      )
 | 
			
		||||
    IF(NOT "${rm_retval}" STREQUAL 0)
 | 
			
		||||
      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
 | 
			
		||||
    ENDIF(NOT "${rm_retval}" STREQUAL 0)
 | 
			
		||||
  ELSEIF(IS_SYMLINK "$ENV{DESTDIR}${file}")
 | 
			
		||||
    EXEC_PROGRAM(
 | 
			
		||||
      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
 | 
			
		||||
      OUTPUT_VARIABLE rm_out
 | 
			
		||||
      RETURN_VALUE rm_retval
 | 
			
		||||
      )
 | 
			
		||||
    IF(NOT "${rm_retval}" STREQUAL 0)
 | 
			
		||||
      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
 | 
			
		||||
    ENDIF(NOT "${rm_retval}" STREQUAL 0)
 | 
			
		||||
  ELSE(EXISTS "$ENV{DESTDIR}${file}")
 | 
			
		||||
    MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
 | 
			
		||||
  ENDIF(EXISTS "$ENV{DESTDIR}${file}")
 | 
			
		||||
ENDFOREACH(file)
 | 
			
		||||
							
								
								
									
										54
									
								
								Software/BTLE/host/cmake/modules/FindLIBBLADERF.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								Software/BTLE/host/cmake/modules/FindLIBBLADERF.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
# - Find BLADERF
 | 
			
		||||
# Find the native BLADERF includes and library
 | 
			
		||||
# This module defines
 | 
			
		||||
#  LIBBLADERF_INCLUDE_DIR, where to find rtlsdr.h, etc.
 | 
			
		||||
#  LIBBLADERF_LIBRARIES, the libraries needed to use BLADERF.
 | 
			
		||||
#  LIBBLADERF_FOUND, If false, do not try to use BLADERF.
 | 
			
		||||
# also defined, but not for general use are
 | 
			
		||||
#  LIBBLADERF_LIBRARY, where to find the BLADERF library.
 | 
			
		||||
 | 
			
		||||
#MESSAGE("LIBBLADERF_DIR set to ${LIBBLADERF_DIR}" )
 | 
			
		||||
 | 
			
		||||
FIND_PATH(LIBBLADERF_INCLUDE_DIR libbladeRF.h
 | 
			
		||||
  ${LIBBLADERF_DIR}/include
 | 
			
		||||
  /usr/local/include/libbladeRF
 | 
			
		||||
  /usr/include
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
FIND_LIBRARY(LIBBLADERF_LIBRARY
 | 
			
		||||
  NAMES bladeRF
 | 
			
		||||
  PATHS ${LIBBLADERF_DIR}/libs
 | 
			
		||||
  "${LIBBLADERF_DIR}\\win32\\lib"
 | 
			
		||||
  /usr/pkgs64/lib
 | 
			
		||||
  /usr/lib64
 | 
			
		||||
  /usr/lib
 | 
			
		||||
  /usr/local/lib
 | 
			
		||||
  /usr/lib/x86_64-linux-gnu
 | 
			
		||||
  NO_DEFAULT_PATH
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
IF (LIBBLADERF_LIBRARY AND LIBBLADERF_INCLUDE_DIR)
 | 
			
		||||
  SET(LIBBLADERF_LIBRARIES ${LIBBLADERF_LIBRARY})
 | 
			
		||||
  SET(LIBBLADERF_FOUND "YES")
 | 
			
		||||
ELSE (LIBBLADERF_LIBRARY AND LIBBLADERF_INCLUDE_DIR)
 | 
			
		||||
  SET(LIBBLADERF_FOUND "NO")
 | 
			
		||||
ENDIF (LIBBLADERF_LIBRARY AND LIBBLADERF_INCLUDE_DIR)
 | 
			
		||||
 | 
			
		||||
IF (LIBBLADERF_FOUND)
 | 
			
		||||
  IF (NOT LIBBLADERF_FIND_QUIETLY)
 | 
			
		||||
    MESSAGE(STATUS "Found BLADERF: ${LIBBLADERF_LIBRARIES}")
 | 
			
		||||
  ENDIF (NOT LIBBLADERF_FIND_QUIETLY)
 | 
			
		||||
ELSE (LIBBLADERF_FOUND)
 | 
			
		||||
  IF (LIBBLADERF_FIND_REQUIRED)
 | 
			
		||||
    MESSAGE(FATAL_ERROR "Could not find BLADERF library")
 | 
			
		||||
  ENDIF (LIBBLADERF_FIND_REQUIRED)
 | 
			
		||||
ENDIF (LIBBLADERF_FOUND)
 | 
			
		||||
 | 
			
		||||
# Deprecated declarations.
 | 
			
		||||
GET_FILENAME_COMPONENT (NATIVE_BLADERF_LIB_PATH ${LIBBLADERF_LIBRARY} PATH)
 | 
			
		||||
 | 
			
		||||
MARK_AS_ADVANCED(
 | 
			
		||||
  LIBBLADERF_LIBRARY
 | 
			
		||||
  LIBBLADERF_INCLUDE_DIR
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										55
									
								
								Software/BTLE/host/cmake/modules/FindLIBHACKRF.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								Software/BTLE/host/cmake/modules/FindLIBHACKRF.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
# - Try to find the libhackrf library
 | 
			
		||||
# Once done this defines
 | 
			
		||||
#
 | 
			
		||||
#  LIBHACKRF_FOUND - system has libhackrf
 | 
			
		||||
#  LIBHACKRF_INCLUDE_DIR - the libhackrf include directory
 | 
			
		||||
#  LIBHACKRF_LIBRARIES - Link these to use libhackrf
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2013  Benjamin Vernoux
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if (LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES)
 | 
			
		||||
 | 
			
		||||
  # in cache already
 | 
			
		||||
  set(LIBHACKRF_FOUND TRUE)
 | 
			
		||||
 | 
			
		||||
else (LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES)
 | 
			
		||||
  IF (NOT WIN32)
 | 
			
		||||
    # use pkg-config to get the directories and then use these values
 | 
			
		||||
    # in the FIND_PATH() and FIND_LIBRARY() calls
 | 
			
		||||
    find_package(PkgConfig)
 | 
			
		||||
    pkg_check_modules(PC_LIBHACKRF QUIET libhackrf)
 | 
			
		||||
  ENDIF(NOT WIN32)
 | 
			
		||||
 | 
			
		||||
  FIND_PATH(LIBHACKRF_INCLUDE_DIR
 | 
			
		||||
    NAMES hackrf.h
 | 
			
		||||
    HINTS $ENV{LIBHACKRF_DIR}/include ${PC_LIBHACKRF_INCLUDEDIR}
 | 
			
		||||
    PATHS /usr/local/include/libhackrf /usr/include/libhackrf /usr/local/include
 | 
			
		||||
    /usr/include ${CMAKE_SOURCE_DIR}/../libhackrf/src
 | 
			
		||||
    /opt/local/include/libhackrf
 | 
			
		||||
    ${LIBHACKRF_INCLUDE_DIR}
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  set(libhackrf_library_names hackrf)
 | 
			
		||||
 | 
			
		||||
  FIND_LIBRARY(LIBHACKRF_LIBRARIES
 | 
			
		||||
    NAMES ${libhackrf_library_names}
 | 
			
		||||
    HINTS $ENV{LIBHACKRF_DIR}/lib ${PC_LIBHACKRF_LIBDIR}
 | 
			
		||||
    PATHS /usr/local/lib /usr/lib /opt/local/lib ${PC_LIBHACKRF_LIBDIR} ${PC_LIBHACKRF_LIBRARY_DIRS} ${CMAKE_SOURCE_DIR}/../libhackrf/src
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  if(LIBHACKRF_INCLUDE_DIR)
 | 
			
		||||
    set(CMAKE_REQUIRED_INCLUDES ${LIBHACKRF_INCLUDE_DIR})
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  if(LIBHACKRF_LIBRARIES)
 | 
			
		||||
    set(CMAKE_REQUIRED_LIBRARIES ${LIBHACKRF_LIBRARIES})
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  include(FindPackageHandleStandardArgs)
 | 
			
		||||
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBHACKRF DEFAULT_MSG LIBHACKRF_LIBRARIES LIBHACKRF_INCLUDE_DIR)
 | 
			
		||||
 | 
			
		||||
  MARK_AS_ADVANCED(LIBHACKRF_INCLUDE_DIR LIBHACKRF_LIBRARIES)
 | 
			
		||||
 | 
			
		||||
endif (LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES)
 | 
			
		||||
							
								
								
									
										246
									
								
								Software/BTLE/host/cmake/modules/FindThreads.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										246
									
								
								Software/BTLE/host/cmake/modules/FindThreads.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,246 @@
 | 
			
		||||
# Updated FindThreads.cmake that supports pthread-win32
 | 
			
		||||
# Downloaded from http://www.vtk.org/Bug/bug_view_advanced_page.php?bug_id=6399
 | 
			
		||||
 | 
			
		||||
# - This module determines the thread library of the system.
 | 
			
		||||
#
 | 
			
		||||
# The following variables are set
 | 
			
		||||
#  CMAKE_THREAD_LIBS_INIT     - the thread library
 | 
			
		||||
#  CMAKE_USE_SPROC_INIT       - are we using sproc?
 | 
			
		||||
#  CMAKE_USE_WIN32_THREADS_INIT - using WIN32 threads?
 | 
			
		||||
#  CMAKE_USE_PTHREADS_INIT    - are we using pthreads
 | 
			
		||||
#  CMAKE_HP_PTHREADS_INIT     - are we using hp pthreads
 | 
			
		||||
#
 | 
			
		||||
# If use of pthreads-win32 is desired, the following variables
 | 
			
		||||
# can be set.
 | 
			
		||||
#
 | 
			
		||||
#  THREADS_USE_PTHREADS_WIN32 -
 | 
			
		||||
#    Setting this to true searches for the pthreads-win32
 | 
			
		||||
#    port (since CMake 2.8.0)
 | 
			
		||||
#
 | 
			
		||||
#  THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME
 | 
			
		||||
#      C  = no exceptions (default)
 | 
			
		||||
#         (NOTE: This is the default scheme on most POSIX thread
 | 
			
		||||
#          implementations and what you should probably be using)
 | 
			
		||||
#      CE = C++ Exception Handling
 | 
			
		||||
#      SE = Structure Exception Handling (MSVC only)
 | 
			
		||||
#      (NOTE: Changing this option from the default may affect
 | 
			
		||||
#       the portability of your application.  See pthreads-win32
 | 
			
		||||
#       documentation for more details.)
 | 
			
		||||
#
 | 
			
		||||
#======================================================
 | 
			
		||||
# Example usage where threading library
 | 
			
		||||
# is provided by the system:
 | 
			
		||||
#
 | 
			
		||||
#   find_package(Threads REQUIRED)
 | 
			
		||||
#   add_executable(foo foo.cc)
 | 
			
		||||
#   target_link_libraries(foo ${CMAKE_THREAD_LIBS_INIT})
 | 
			
		||||
#
 | 
			
		||||
# Example usage if pthreads-win32 is desired on Windows
 | 
			
		||||
# or a system provided thread library:
 | 
			
		||||
#
 | 
			
		||||
#   set(THREADS_USE_PTHREADS_WIN32 true)
 | 
			
		||||
#   find_package(Threads REQUIRED)
 | 
			
		||||
#   include_directories(${THREADS_PTHREADS_INCLUDE_DIR})
 | 
			
		||||
#
 | 
			
		||||
#   add_executable(foo foo.cc)
 | 
			
		||||
#   target_link_libraries(foo ${CMAKE_THREAD_LIBS_INIT})
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
INCLUDE (CheckIncludeFiles)
 | 
			
		||||
INCLUDE (CheckLibraryExists)
 | 
			
		||||
SET(Threads_FOUND FALSE)
 | 
			
		||||
 | 
			
		||||
IF(WIN32 AND NOT CYGWIN AND THREADS_USE_PTHREADS_WIN32)
 | 
			
		||||
  SET(_Threads_ptwin32 true)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
# Do we have sproc?
 | 
			
		||||
IF(CMAKE_SYSTEM MATCHES IRIX)
 | 
			
		||||
  CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h"  CMAKE_HAVE_SPROC_H)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
IF(CMAKE_HAVE_SPROC_H)
 | 
			
		||||
  # We have sproc
 | 
			
		||||
  SET(CMAKE_USE_SPROC_INIT 1)
 | 
			
		||||
 | 
			
		||||
ELSEIF(_Threads_ptwin32)
 | 
			
		||||
 | 
			
		||||
  IF(NOT DEFINED THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME)
 | 
			
		||||
    # Assign the default scheme
 | 
			
		||||
    SET(THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME "C")
 | 
			
		||||
  ELSE()
 | 
			
		||||
    # Validate the scheme specified by the user
 | 
			
		||||
    IF(NOT THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME STREQUAL "C" AND
 | 
			
		||||
       NOT THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME STREQUAL "CE" AND
 | 
			
		||||
       NOT THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME STREQUAL "SE")
 | 
			
		||||
         MESSAGE(FATAL_ERROR "See documentation for FindPthreads.cmake, only C, CE, and SE modes are allowed")
 | 
			
		||||
    ENDIF()
 | 
			
		||||
    IF(NOT MSVC AND THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME STREQUAL "SE")
 | 
			
		||||
      MESSAGE(FATAL_ERROR "Structured Exception Handling is only allowed for MSVC")
 | 
			
		||||
    ENDIF(NOT MSVC AND THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME STREQUAL "SE")
 | 
			
		||||
  ENDIF()
 | 
			
		||||
 | 
			
		||||
  FIND_PATH(THREADS_PTHREADS_INCLUDE_DIR pthread.h)
 | 
			
		||||
 | 
			
		||||
  # Determine the library filename
 | 
			
		||||
  IF(MSVC)
 | 
			
		||||
    SET(_Threads_pthreads_libname
 | 
			
		||||
        pthreadV${THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME}2)
 | 
			
		||||
  ELSEIF(MINGW)
 | 
			
		||||
    SET(_Threads_pthreads_libname
 | 
			
		||||
        pthreadG${THREADS_PTHREADS_WIN32_EXCEPTION_SCHEME}2)
 | 
			
		||||
  ELSE()
 | 
			
		||||
    MESSAGE(FATAL_ERROR "This should never happen")
 | 
			
		||||
  ENDIF()
 | 
			
		||||
 | 
			
		||||
  # Use the include path to help find the library if possible
 | 
			
		||||
  SET(_Threads_lib_paths "")
 | 
			
		||||
  IF(THREADS_PTHREADS_INCLUDE_DIR)
 | 
			
		||||
     GET_FILENAME_COMPONENT(_Threads_root_dir
 | 
			
		||||
                            ${THREADS_PTHREADS_INCLUDE_DIR} PATH)
 | 
			
		||||
     SET(_Threads_lib_paths ${_Threads_root_dir}/lib)
 | 
			
		||||
  ENDIF()
 | 
			
		||||
  FIND_LIBRARY(THREADS_PTHREADS_WIN32_LIBRARY
 | 
			
		||||
               NAMES ${_Threads_pthreads_libname}
 | 
			
		||||
               PATHS ${_Threads_lib_paths}
 | 
			
		||||
               DOC "The Portable Threads Library for Win32"
 | 
			
		||||
               NO_SYSTEM_PATH
 | 
			
		||||
               )
 | 
			
		||||
 | 
			
		||||
  IF(THREADS_PTHREADS_INCLUDE_DIR AND THREADS_PTHREADS_WIN32_LIBRARY)
 | 
			
		||||
    MARK_AS_ADVANCED(THREADS_PTHREADS_INCLUDE_DIR)
 | 
			
		||||
    SET(CMAKE_THREAD_LIBS_INIT ${THREADS_PTHREADS_WIN32_LIBRARY})
 | 
			
		||||
    SET(CMAKE_HAVE_THREADS_LIBRARY 1)
 | 
			
		||||
    SET(Threads_FOUND TRUE)
 | 
			
		||||
  ENDIF()
 | 
			
		||||
 | 
			
		||||
  MARK_AS_ADVANCED(THREADS_PTHREADS_WIN32_LIBRARY)
 | 
			
		||||
 | 
			
		||||
ELSE()
 | 
			
		||||
  # Do we have pthreads?
 | 
			
		||||
  CHECK_INCLUDE_FILES("pthread.h" CMAKE_HAVE_PTHREAD_H)
 | 
			
		||||
  IF(CMAKE_HAVE_PTHREAD_H)
 | 
			
		||||
 | 
			
		||||
    #
 | 
			
		||||
    # We have pthread.h
 | 
			
		||||
    # Let's check for the library now.
 | 
			
		||||
    #
 | 
			
		||||
    SET(CMAKE_HAVE_THREADS_LIBRARY)
 | 
			
		||||
    IF(NOT THREADS_HAVE_PTHREAD_ARG)
 | 
			
		||||
 | 
			
		||||
      # Do we have -lpthreads
 | 
			
		||||
      CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE)
 | 
			
		||||
      IF(CMAKE_HAVE_PTHREADS_CREATE)
 | 
			
		||||
        SET(CMAKE_THREAD_LIBS_INIT "-lpthreads")
 | 
			
		||||
        SET(CMAKE_HAVE_THREADS_LIBRARY 1)
 | 
			
		||||
        SET(Threads_FOUND TRUE)
 | 
			
		||||
      ENDIF()
 | 
			
		||||
 | 
			
		||||
      # Ok, how about -lpthread
 | 
			
		||||
      CHECK_LIBRARY_EXISTS(pthread pthread_create "" CMAKE_HAVE_PTHREAD_CREATE)
 | 
			
		||||
      IF(CMAKE_HAVE_PTHREAD_CREATE)
 | 
			
		||||
        SET(CMAKE_THREAD_LIBS_INIT "-lpthread")
 | 
			
		||||
        SET(Threads_FOUND TRUE)
 | 
			
		||||
        SET(CMAKE_HAVE_THREADS_LIBRARY 1)
 | 
			
		||||
      ENDIF()
 | 
			
		||||
 | 
			
		||||
      IF(CMAKE_SYSTEM MATCHES "SunOS.*")
 | 
			
		||||
        # On sun also check for -lthread
 | 
			
		||||
        CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE)
 | 
			
		||||
        IF(CMAKE_HAVE_THR_CREATE)
 | 
			
		||||
          SET(CMAKE_THREAD_LIBS_INIT "-lthread")
 | 
			
		||||
          SET(CMAKE_HAVE_THREADS_LIBRARY 1)
 | 
			
		||||
          SET(Threads_FOUND TRUE)
 | 
			
		||||
        ENDIF()
 | 
			
		||||
      ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
 | 
			
		||||
 | 
			
		||||
    ENDIF(NOT THREADS_HAVE_PTHREAD_ARG)
 | 
			
		||||
 | 
			
		||||
    IF(NOT CMAKE_HAVE_THREADS_LIBRARY)
 | 
			
		||||
      # If we did not found -lpthread, -lpthread, or -lthread, look for -pthread
 | 
			
		||||
      IF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
 | 
			
		||||
        MESSAGE(STATUS "Check if compiler accepts -pthread")
 | 
			
		||||
        TRY_RUN(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
 | 
			
		||||
          ${CMAKE_BINARY_DIR}
 | 
			
		||||
          ${CMAKE_ROOT}/Modules/CheckForPthreads.c
 | 
			
		||||
          CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
 | 
			
		||||
          COMPILE_OUTPUT_VARIABLE OUTPUT)
 | 
			
		||||
 | 
			
		||||
        IF(THREADS_HAVE_PTHREAD_ARG)
 | 
			
		||||
          IF(THREADS_PTHREAD_ARG MATCHES "^2$")
 | 
			
		||||
            SET(Threads_FOUND TRUE)
 | 
			
		||||
            MESSAGE(STATUS "Check if compiler accepts -pthread - yes")
 | 
			
		||||
          ELSE()
 | 
			
		||||
            MESSAGE(STATUS "Check if compiler accepts -pthread - no")
 | 
			
		||||
            FILE(APPEND
 | 
			
		||||
              ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
 | 
			
		||||
              "Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n")
 | 
			
		||||
          ENDIF()
 | 
			
		||||
        ELSE()
 | 
			
		||||
          MESSAGE(STATUS "Check if compiler accepts -pthread - no")
 | 
			
		||||
          FILE(APPEND
 | 
			
		||||
            ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
 | 
			
		||||
            "Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n")
 | 
			
		||||
        ENDIF()
 | 
			
		||||
 | 
			
		||||
      ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
 | 
			
		||||
 | 
			
		||||
      IF(THREADS_HAVE_PTHREAD_ARG)
 | 
			
		||||
        SET(Threads_FOUND TRUE)
 | 
			
		||||
        SET(CMAKE_THREAD_LIBS_INIT "-pthread")
 | 
			
		||||
      ENDIF()
 | 
			
		||||
 | 
			
		||||
    ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY)
 | 
			
		||||
  ENDIF(CMAKE_HAVE_PTHREAD_H)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
IF(CMAKE_THREAD_LIBS_INIT)
 | 
			
		||||
  SET(CMAKE_USE_PTHREADS_INIT 1)
 | 
			
		||||
  SET(Threads_FOUND TRUE)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
IF(CMAKE_SYSTEM MATCHES "Windows"
 | 
			
		||||
   AND NOT THREADS_USE_PTHREADS_WIN32)
 | 
			
		||||
  SET(CMAKE_USE_WIN32_THREADS_INIT 1)
 | 
			
		||||
  SET(Threads_FOUND TRUE)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
IF(CMAKE_USE_PTHREADS_INIT)
 | 
			
		||||
  IF(CMAKE_SYSTEM MATCHES "HP-UX-*")
 | 
			
		||||
    # Use libcma if it exists and can be used.  It provides more
 | 
			
		||||
    # symbols than the plain pthread library.  CMA threads
 | 
			
		||||
    # have actually been deprecated:
 | 
			
		||||
    #   http://docs.hp.com/en/B3920-90091/ch12s03.html#d0e11395
 | 
			
		||||
    #   http://docs.hp.com/en/947/d8.html
 | 
			
		||||
    # but we need to maintain compatibility here.
 | 
			
		||||
    # The CMAKE_HP_PTHREADS setting actually indicates whether CMA threads
 | 
			
		||||
    # are available.
 | 
			
		||||
    CHECK_LIBRARY_EXISTS(cma pthread_attr_create "" CMAKE_HAVE_HP_CMA)
 | 
			
		||||
    IF(CMAKE_HAVE_HP_CMA)
 | 
			
		||||
      SET(CMAKE_THREAD_LIBS_INIT "-lcma")
 | 
			
		||||
      SET(CMAKE_HP_PTHREADS_INIT 1)
 | 
			
		||||
      SET(Threads_FOUND TRUE)
 | 
			
		||||
    ENDIF(CMAKE_HAVE_HP_CMA)
 | 
			
		||||
    SET(CMAKE_USE_PTHREADS_INIT 1)
 | 
			
		||||
  ENDIF()
 | 
			
		||||
 | 
			
		||||
  IF(CMAKE_SYSTEM MATCHES "OSF1-V*")
 | 
			
		||||
    SET(CMAKE_USE_PTHREADS_INIT 0)
 | 
			
		||||
    SET(CMAKE_THREAD_LIBS_INIT )
 | 
			
		||||
  ENDIF()
 | 
			
		||||
 | 
			
		||||
  IF(CMAKE_SYSTEM MATCHES "CYGWIN_NT*")
 | 
			
		||||
    SET(CMAKE_USE_PTHREADS_INIT 1)
 | 
			
		||||
    SET(Threads_FOUND TRUE)
 | 
			
		||||
    SET(CMAKE_THREAD_LIBS_INIT )
 | 
			
		||||
    SET(CMAKE_USE_WIN32_THREADS_INIT 0)
 | 
			
		||||
  ENDIF()
 | 
			
		||||
ENDIF(CMAKE_USE_PTHREADS_INIT)
 | 
			
		||||
 | 
			
		||||
INCLUDE(FindPackageHandleStandardArgs)
 | 
			
		||||
IF(_Threads_ptwin32)
 | 
			
		||||
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG
 | 
			
		||||
    THREADS_PTHREADS_WIN32_LIBRARY THREADS_PTHREADS_INCLUDE_DIR)
 | 
			
		||||
ELSE()
 | 
			
		||||
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND)
 | 
			
		||||
ENDIF()
 | 
			
		||||
							
								
								
									
										38
									
								
								Software/BTLE/host/cmake/modules/FindUSB1.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								Software/BTLE/host/cmake/modules/FindUSB1.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
# - Try to find the freetype library
 | 
			
		||||
# Once done this defines
 | 
			
		||||
#
 | 
			
		||||
#  LIBUSB_FOUND - system has libusb
 | 
			
		||||
#  LIBUSB_INCLUDE_DIR - the libusb include directory
 | 
			
		||||
#  LIBUSB_LIBRARIES - Link these to use libusb
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2006, 2008  Laurent Montel, <montel@kde.org>
 | 
			
		||||
#
 | 
			
		||||
# Redistribution and use is allowed according to the terms of the BSD license.
 | 
			
		||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
 | 
			
		||||
 | 
			
		||||
  # in cache already
 | 
			
		||||
  set(LIBUSB_FOUND TRUE)
 | 
			
		||||
 | 
			
		||||
else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
 | 
			
		||||
  IF (NOT WIN32)
 | 
			
		||||
    # use pkg-config to get the directories and then use these values
 | 
			
		||||
    # in the FIND_PATH() and FIND_LIBRARY() calls
 | 
			
		||||
    find_package(PkgConfig)
 | 
			
		||||
    pkg_check_modules(PC_LIBUSB libusb-1.0)
 | 
			
		||||
  ENDIF(NOT WIN32)
 | 
			
		||||
 | 
			
		||||
  FIND_PATH(LIBUSB_INCLUDE_DIR libusb.h
 | 
			
		||||
    PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS})
 | 
			
		||||
 | 
			
		||||
  FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0
 | 
			
		||||
    PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS})
 | 
			
		||||
 | 
			
		||||
  include(FindPackageHandleStandardArgs)
 | 
			
		||||
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBUSB DEFAULT_MSG LIBUSB_LIBRARIES LIBUSB_INCLUDE_DIR)
 | 
			
		||||
 | 
			
		||||
  MARK_AS_ADVANCED(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)
 | 
			
		||||
 | 
			
		||||
endif (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
 | 
			
		||||
		Reference in New Issue
	
	Block a user