aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revamp MgmtDefaultParam: Usability for read (new) and write, add ↵Sven Gothel2022-04-084-91/+126
| | | | 'BTManager::readDefaultSysParam(const uint16_t dev_id)'
* *::setDefaultConnParam(): Fix API doc, remove copy/paste fragmentSven Gothel2022-04-083-3/+3
|
* Bump jaulib v0.7.13Sven Gothel2022-03-041-0/+0
|
* API doc: Fix DiscoveryPolicy::PAUSE_CONNECTED_UNTIL_READY and ↵Sven Gothel2022-02-093-10/+4
| | | | | | | | | | | PAUSE_CONNECTED_UNTIL_PAIRED, which is without GATT service discovery .. GATT service discovery is not included anymore, since user is required to call BTDevice::getGattServices() to initiate MTU exchange and the GATT service discovery. See new to old: - commit 1443d3a084342fffacd405fae3c44ef290bd438e - commit ab9f3dec2d06b9e39241c497e8aa00aaa23966c3
* Trial: DBT[Client|Server]00: Have Client <-> Server handshake on success, ↵Sven Gothel2022-02-095-46/+89
| | | | | | | | | | | | | | | | | | | | | | | | | allowing server to countdown servingConnectionsLeft to determine to stop or continue advertising The TestDBTClientServer10 starts client and server instances then waits for a successful completion or a timeout will abort the test. A successful completion requires both, client and server, to have determined this state and stop discover and advertising respectively. The server's processDisconnectedDevice() shall re-enable advertising in case more connections are to be served. For example a SMP failure would disconnect the client from the server without a successful test completion. Hence the server needs to determine a successful test, which is now being signaled via a GATT command by the client. Here the client writes a specific value to a GATT characteristic, which is recognized by the server and returned to the client. If done, client and server countdown their counter of tests left. This renders the client server test more robust as required for certain BT adapter setups w/ failing connections. Here the test will continue until success or timeout.
* BaseDBTClientServer: Cleanup/Setup: Also stop advertising and discovery ↵Sven Gothel2022-02-091-0/+6
| | | | (unchecked) before power-off to ensure proper state if tests fail.
* BaseDBTClientServer: Set DEBUG props before BTFactory.initDirectBTLibrary(); ↵Sven Gothel2022-02-092-14/+7
| | | | | | TestDBTClientServer00: Move DBTUtils.printVersionInfo() to test01 DEBUG props must be set before loading the native lib, otherwise they are ignored.
* TestDBTClientServer10: Double test timeout 20s -> 40s for certaing slow SMP ↵Sven Gothel2022-02-081-2/+2
| | | | | | | | | key negotiations, mostly test01_FullCycle_EncOnlyNo1 Usually the test runs within 5s - 10s and connection w/ SMP key negotiation below 5s. However, on none reset adapter with potential wrong key seeding an initial negotiation test may take a bit over 20s (yeah .. to be further analyzed).
* DBTPeripheral00/DBTServer00: Issue device.remove() in ↵Sven Gothel2022-02-082-0/+4
| | | | | | processDisconnectedDevice(..) device.remove() shall ensure to clear all device references from its BTAdapter to avoid leaks.
* BDAddressAndType: Document equals(..) methodSven Gothel2022-02-081-0/+6
|
* BT[Adapter|Device].java: Document equals(..) methodSven Gothel2022-02-083-13/+31
|
* Refactor TestDBTClientServer* (reuse tasks); Adding server-adapter for ↵Sven Gothel2022-02-078-162/+348
| | | | client-mode discovery test post client connection
* Bump README v2.6.2v2.6.2Sven Gothel2022-02-071-1/+3
|
* Adjust *build-doc.shSven Gothel2022-02-072-4/+4
|
* Adopt jaulib detailed git version info: Using VERSION_COMMITS and ↵Sven Gothel2022-02-0712-38/+44
| | | | VERSION_SHA1_SHORT. VERSION_LONG reflects post-tag and dirty.
* Fix commit ecaa2cf69208586da5305cd0289820a88859eb6b: Eclipse erroneous added ↵Sven Gothel2022-02-071-4/+0
| | | | junit packages to import
* Bump jaulib v0.7.12-1Sven Gothel2022-02-071-0/+0
|
* Doxygen: Add 'trial' source path, disable CALL_GRAPH (CALLER_GRAPH is ↵Sven Gothel2022-02-073-8/+35
| | | | enough), add \example TestDBTClientServer*.java
* README: bump 2.6.1v2.6.1Sven Gothel2022-02-071-1/+1
|
* BTDevice: Replace EInfoReport when disconnected w/ empty one (avoid ↵Sven Gothel2022-02-074-2/+32
| | | | accumulation across connects w/o removeDevice), incl in unit test
* Fix trial/java/CMakeLists.txt: Use proper environment variable USER for ↵v2.6.0Sven Gothel2022-02-071-1/+1
| | | | capsh command
* Added online unit testing using actual BT adapter, testing client with ↵Sven Gothel2022-02-0715-4/+2346
| | | | | | | | | | | | | | | server functionality Building with enabled *trial* and *testing* , i.e. live testing with 2 Bluetooth adapter is provided via the *cmake* build argument `-DBUILD_TRIAL=ON`, see above. The *trial* tests utilize one or more actual Bluetooth adapter, hence using the *capsh* launch for the required permissions as described above. Therefor, *sudo* will be called and a user interaction to enter the *sudo* password may occur. The *trial* tests cover *Direct-BT*'s Bluetooth functionality, having its *master/client* and *slave/server peripheral* facilities communicating via actual adapter, supporting regression testing of the API, its implementation and adapter.
* L2CAPServer::accept(): Use WORDY_ and IRQ_PRINT on accept failure, which is ↵Sven Gothel2022-02-071-2/+2
| | | | not necessarily an error (disconnect, etc)
* BTDevice::update(EInfoReport ..): Always update name on EIR scanned data if ↵Sven Gothel2022-02-071-1/+1
| | | | | | given Otherwise a non removed device instance (after disconnect) would not take the (newly) discovered name.
* Fix DBTAdapter.removeAllStatusListener(): Remove DBTDevice listener and have ↵Sven Gothel2022-02-072-31/+13
| | | | | | | | | (re-added) DBTAdapter update DBTDevice.isConnected Completes commit bac686561fdaf10813738d489f01b557a3812259. This change set allows using BTAdapter.removeAllStatusListener() while having the internal functionality preserved.
* dbt_repeater: Simplify myChangedAdapterSetFunc(..)Sven Gothel2022-02-061-12/+4
|
* BTAdapter/HCIHandler: Reflect: Advertising is active until either disabled ↵Sven Gothel2022-02-064-5/+48
| | | | | | | | | | | via stopAdvertising() or _a_connection_ has been made. This fix set's HCIHandler's 'advertisingEnabled' flags to 'false' after a 'connection complete' event had occured. Further, HCIHandler::le_enable_adv(..) overrides a potential erroneous HCI failure when: - disabling advertising when already disabled, or - enabling advertising when already enabled as stated in spec 'BT Core Spec v5.2: Vol 4 HCI, Part E HCI Functional: 7.8.9 LE Set Advertising Enable command'
* BTFactory: Expose getManifest() .. helper function to retrieve a Manifest ↵Sven Gothel2022-02-061-1/+4
| | | | instance
* DBTAdapter: Fix removeAllStatusListener(): Re-add internal listener to ↵Sven Gothel2022-02-062-3/+8
| | | | maintain functionality.
* DBTAdapter: Use BTUtils.println(..) instead of System.err.println(..)Sven Gothel2022-02-061-11/+11
|
* DBT[Adapter|Manager].java: Add 'final' qualifier to public methodsSven Gothel2022-02-062-40/+40
|
* BTAdapter.java: API doc: Replace HTML tag with Markup listSven Gothel2022-02-061-24/+19
|
* BTAdapter/HCIHandler: API doc: Replace HTML tag with Markup listSven Gothel2022-02-062-43/+31
|
* FwdGattServerHandler::close(): Shall not disconnect fwdServer (esp in same ↵Sven Gothel2022-02-052-2/+25
| | | | | | | | | thread), let client app (dbt_repeater00) manage forwarding disconnect client -> server dbt_repeater00: On client disconnect reset the server connection: - disconnect connection to server - power-cycle the adapter to server - start-discovery
* BTGattHandler: Refine debug verbositySven Gothel2022-02-051-6/+12
|
* BTGattHandler: Fix API doc (minor)Sven Gothel2022-02-051-6/+6
|
* Add BTGattHandler::NativeGattCharLister::mtuResponse(..) for high level ↵Sven Gothel2022-02-054-5/+85
| | | | info; Fix FwdGattServerHandler::replyExchangeMTUReq(..) mtu minimum
* dbt_repeater00: Fixed intendation for message (post from[*] -> to[*])Sven Gothel2022-02-051-3/+3
| | | | Note: The asterix '*' is added to mark the server EUI48
* BTGattHandler::NativeGattCharListener: Add optional low- and high-level user ↵Sven Gothel2022-02-054-31/+475
| | | | notification callbacks, allowing better protocol tracking for DBGattServer::Mode:FWD (repeater)
* Add invocation example to dbt_peripheral00.cpp and dbt_repeater00.cpp (and ↵Sven Gothel2022-02-056-0/+40
| | | | remark on their Java counterpart, if existing)
* README.md: Add Ubuntu 20.04 and explicitly mention Debian + Ubuntu w/ ↵Sven Gothel2022-02-031-2/+7
| | | | versions (install and capsh issue)
* Bump READMESven Gothel2022-02-021-0/+8
|
* Adding dbt_repeater00, example implementing a GATT repeaterSven Gothel2022-02-024-0/+962
| | | | | | , i.e. forwarding client requests to a GATT server and passing the results back. Code uses DBGattServer::Mode::FWD
* Introduce BTGattHandler::GattServerHandler and DBGattServer::Mode for ↵Sven Gothel2022-02-026-947/+1500
| | | | | | | | | | | | | | alternate GATT Server operational mode New DBGattServer::Mode are - NOP - no-op, - DB - user database GATT server as before using a list of DBGattService, - FWD - proxy: forwarding all GATT requests to another remote GATT server and returning the results Each DBGattServer::Mode has a corresponding BTGattHandler::GattServerHandler implementation to act upon the different GATT requests from a connected client. All three modes are fully implemented.
* BTDevice.cpp: Adopt to mtx_data -> mtx_eir change, drop sync_data if redundantSven Gothel2022-02-021-6/+4
|
* BTAdapter::mgmtEvDeviceConnectedHCI: No last_discovery update; ↵Sven Gothel2022-02-021-3/+1
| | | | mgmtEvDeviceFoundHCI: Update last_discovery on re-discovered device
* scripts/run-java-example.sh: Escape cmd args to preserve quoting like ↵Sven Gothel2022-02-021-11/+12
| | | | run-native-example.sh
* BTAdapter/BTGattChar: API doc typo fix and removal of unused/unimpl declarationSven Gothel2022-02-022-2/+1
|
* Custom GATT Processing: MTU and remote GATT Services shall be processed at ↵Sven Gothel2022-02-029-174/+288
| | | | | | | | | | | | | request only via BTDevice::getGattServices() This reverts MTU/GATT-Services 'push up' from getGattServices() -> connectGATT() of commit ab9f3dec2d06b9e39241c497e8aa00aaa23966c3. Objective of this revert and hence removal of the unconditional MTU/GATT-Services query is to allow user to use custom operations. Hence only getGattServices() will trigger the 'auto config' mechanism on the user's request.
* BTAdapter::startAdvertising(): Set default adv_interval from 1.28s -> 400ms ↵Sven Gothel2022-02-028-24/+23
| | | | avoiding long delays (detection + connect), use in peripheral00 example;