| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
settings for all, avoiding confusion.
|
| |
|
|
|
|
| |
-fsanitize-address-use-after-scope
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and DEBUG
For GCC always enable all Warnings possible, supporting -Werror (Warning == Error).
in DEBUG mode enable '-fstack-protector-strong -fstack-check' and
all non-thread sanitizer: '-fsanitize=address -fsanitize=pointer-compare -fsanitize=pointer-subtract -fsanitize=undefined -fsanitize=leak'.
Notable: -fsanitize=thread TSAN's lacks ability to properly handle GCC's atomic macros (like helgrind etc), can't check SC-DRF!
|
| |
|
|
|
|
| |
memory footprint
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
undefined reference to `__atomic_store_8'
CMAKE_SHARED_LINKER_FLAGS and CMAKE_EXE_LINKER_FLAGS must include the atomic lib for gcc-8 on Raspberry (buster)
(Added shares linker flags)
Tests on bullseye amd64 didn't show sideeffects yet.
Bring up test w/ ScannerTinyB10.jar is finally successful again.
"sh ../scripts/run-java-scanner10.sh -mac C0:26:DA:01:DA:B1"
Raspberry Buster dist-upgrade 2020-08-25 04:13:00
|
|
|
|
| |
undefined reference to `__atomic_store_8'
|
|
|
|
|
|
| |
library.
Building the native lib on slow systems becomes a burden, hence skip if not required.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Ensure C++ namespace gets properly documented
-- Added tinyb namespace doc in BluetoothAdapter.hpp (first file)
-- Added direct_bt namespace doc in ATTPDUTypes.hpp (first file)
Showing hierarchy and hinting to details and coverage.
- Fix CMakeList for doc target and some doxygen config finetuning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
protocol stack w/o D-Bus bluetoothd.
By dropping BlueZ userspace D-Bus bluetoothd, we target high-performance reliable bluetooth support
with least dependencies for embedded device configurations.
See COPYING, describing which Linux Kernel BlueZ IOCTL information has been included in the source tree.
We claim Linus Torvalds's Linux Kernel license exception regarding kernel syscalls (ioctl):
<https://github.com/torvalds/linux/blob/master/LICENSES/exceptions/Linux-syscall-note>
and hence maintain this project's license.
The new direct_bt feature set is organized as follows
- include/cppunit
- api/direct_bt
- api/ieee11073
- src/direct_bt
- examples/direct_bt
Note that the C++ direct_bt layer is not backward compatible to tinyb.
Since the Java layer still needs to be completed,
it has to be seen whether we will achieve compatibility
or drop the original D-Bus tinyb module altogether
in favor of a more streamlined API and implementation.
Current state allows scanning for LE devices, connecting
and parsing GATT plus receiving notifications and indications.
See examples/direct_bt_scanner/dbt_scanner.cpp.
The Linux Kernel BlueZ is configured via module MgmtComm.[hpp/cpp]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
classes
See scripts/build-x86_64.sh and README.md for build instructions.
See scripts/run-hci_scanner.sh to start new HCI scanner (C++).
New HCI C++ implementation redised in libtinyb_hci.so w/o GLIB/DBus dependencies,
but 'libbluetooth.so' dependency.
Following Class datastructures are complete:
- HCIUtil: Exception types, uint128_t and endian conversions
- General UUID interface and its efficient UUID16, UUID32 + UUID128 implementation.
Conversion 'toString', respecting endianess,
and UUID* -> UUID128 conversion.
Requird member comparison operations due to using interface
- HCIAdapter with its opened HCISession,
as well as its discovered HCIDevices
- HCIAdapter discover includes multiple advertising AD records,
up to 25 according to the spec.
- HCIAdapter parses full AD segment. TODO: Handle few more AD types
API/Impl Details:
- Datastructures utilize 'vector<shares_ptr<T>>' collections.
- Most attributes are specified 'const' -> immutable for efficancy
- Convenient collection access member operations
- etc ..
RESULTS:
- Fast AD scanning of multiple devices w/ UUID and RSSI
- Proper integration into tinyb project
TODO:
- Handle few more AD types
- Test multiple parallel HCISession from HCIAdapter
- HCIAdapter.connect()
- Represent GATT Service, Characteristics and Description
- Catch up with the Java binding step by step
|
| |
|
|
|
|
|
|
| |
get_git_head_revision; Vendor of TinyB-2 is ZAFENA AB
Additionally correct manifest's package loction for bundle etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
via tinyb.dbus.*
Allows alternative interface implementations and delegated wrapper implementations for debug and tracing.
Original D-Bus implementation can be retrieved via:
'BluetoothManager org.tinyb.BluetoothFactory.getDBusBluetoothManager()'
A HCI native implementation will follow up w/o use of D-Bus.
Otherwise the Java API is unchanged and this tinyb can replace previous implementation.
Due to the major API change (despite interface is unchanged but BluetoothManager instantiation)
the jar file has been renamed from 'tinyb.jar' to 'tinyb2.jar'.
Same goes with the version number, which will be set to 'v2.0.0'.
The native library and class definition is kept unchanged using the original names so far.
|
|
|
|
| |
Signed-off-by: Chuck Claunch <[email protected]>
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
| |
Signed-off-by: Andrei Vasiliu <[email protected]>
|
|
|
|
|
|
| |
Downgraded minimum required cmake version to 3.0.0, in order for systems
shipping older cmake versions (namely, Raspbian 8) to build the
project.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added OSGI metadata to the manifest, so the library can be deployed in
OSGI environments. The headers where first generated with the bnd tool,
then manually copied inside the manifest template file with the
appropriate variable substitutions.
Also added a timestamp variable (BUILD_TSTAMP) in the main
CmakeLists.txt for use in the manifest file (and elsewhere, if needed).
Signed-off-by: Alan Alberghini <[email protected]>
[closes #23]
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
| |
Signed-off-by: Andrei Vasiliu <[email protected]>
|
|
|
|
| |
Signed-off-by: Stefan Andritoiu <[email protected]>
|
|
|
|
| |
Signed-off-by: Petre Eftime <[email protected]>
|
|
|
|
|
|
|
| |
Cmake also generates JNI header files, therefore they
are no longer required to be in the repo.
Signed-off-by: Andrei Vasiliu <[email protected]>
|
|
|
|
| |
Signed-off-by: Andrei Vasiliu <[email protected]>
|
|
Signed-off-by: Petre Eftime <[email protected]>
|