Commit Graph

2628 Commits

Author SHA1 Message Date
Szymon Janc a85b65d97e NimBLE release 1.0.0 nimble_1_0_0_rc1_tag nimble_1_0_0_tag 2018-06-04 17:09:38 +02:00
Andrzej Kaczmarek 2d7c900c5a Merge pull request #126 from andrzej-kaczmarek/phy-late-wfr-fix
nimble/phy: Fix late wfr setup
2018-06-04 15:52:31 +02:00
Szymon Janc 6691ddd7d6 Merge pull request #127 from sjanc/license
License
2018-06-04 14:23:16 +02:00
Szymon Janc 41d1722956 Update LICENSE file
This was carrying too many external bundles that are not used in
NimBLE repo.
2018-06-04 14:22:01 +02:00
Andrzej Kaczmarek 5de98708c1 nimble/phy: Fix late wfr setup
wfr is set using CC[0] or CC[2] as reference, but since CPU may be
halted for a brief moment between timer capture and wfr calculations it
may happen that TIMER0 already counted past calculated value and compare
will not occur as expected. This can leave radio stuck in RX state, e.g.
in case we are advertising and waiting for scan/connect req after TX.

To fix this we'll just check if wfr is set past current TIMER0 counter
value and if so, we'll disable radio manually as if wfr fired.

This is similar to 06cfc0b0 but happens for reverse transition.
2018-06-04 14:14:55 +02:00
Szymon Janc fae57bf8dd apps: Add sample for extended advertising 2018-06-04 14:07:44 +02:00
Szymon Janc 014c4c69ce Merge pull request #125 from sjanc/docs
BLE host doxygen
2018-06-04 13:30:56 +02:00
Szymon Janc 87f3bde3ee nimble/host: Add doxygen for ble_hs_id.h 2018-06-04 12:11:28 +02:00
Szymon Janc 9259e078f7 nimble/host: Add doxygen for ble_hs_hci.h 2018-06-04 12:09:29 +02:00
Szymon Janc 65bda05e9a nimble/host: Add doxygen for ble_gatt.h 2018-06-04 11:55:09 +02:00
Szymon Janc 70d464a231 Merge pull request #122 from sjanc/apps
Add sample applications from mynewt-core repository
2018-06-04 11:21:47 +02:00
Andrzej Kaczmarek a17d808af8 Merge pull request #120 from MariuszSkamra/h4_evt_prio
transport: uart: Prioritize events
2018-06-04 11:05:55 +02:00
Szymon Janc 87941b6a5f Merge pull request #121 from sjanc/conn_pub_fix
nimble/ll: Fix reconnection with peers using public address
2018-06-04 10:27:09 +02:00
Szymon Janc f4f763d5db Add sample applications from mynewt-core repository 2018-06-04 09:53:33 +02:00
Szymon Janc 5f8c86c42d nimble/ll: Fix reconnection with peers using public address
Instead of modyfing internal state and abusing use of legacy address
type when using controller based privacy, now we just adjust address
type in HCI event that needs this. This covers both cases where
using host or controller based privacy. Fix not being able to
reconnect to device using public address that previously distributed
IRK key.
2018-06-04 09:16:43 +02:00
Szymon Janc dd19d11f89 nimble/host: Add doxygen from ble_eddystone.h 2018-05-30 15:57:45 +02:00
Szymon Janc aa9ff1642f nimble/host: Add doxygen for ble_att.h 2018-05-30 15:54:02 +02:00
Mariusz Skamra 2db88960e9 transport: uart: Prioritize events
This adds prioritization of events received. This allows to allocate
membuf for LE Advertising events from low prio mempool.
This patch is needed for host to work in high poluted environment,
where advertisements received may block the host from receiving
other more important events from controller.
2018-05-30 13:43:19 +02:00
Andrzej Kaczmarek 050a7108cf Merge pull request #117 from haukepetersen/fix_misc_compile_warnings
fix os/os_trace_api and RIOT related compile warnings
2018-05-28 13:51:07 +02:00
Hauke Petersen 40aaaeb904 controller/ble_*_trace.h: include os_trace_api.h 2018-05-28 13:39:26 +02:00
Hauke Petersen 235c99db00 os/os_trace: remove os_trace_task_* defs 2018-05-28 13:33:41 +02:00
Andrzej Kaczmarek 4cb3213929 Merge pull request #112 from MariuszSkamra/porting_fixes
porting: Fixes for compilation errors
2018-05-28 12:52:07 +02:00
Mariusz Skamra 83001845e4 porting: Add missing npl_freertos_eventq_dflt_get
This fixes compilation error on freertos due to misssing
ble_npl_eventq_dflt_get function.
2018-05-28 12:27:03 +02:00
Andrzej Kaczmarek 23093dbe59 Merge pull request #104 from andrzej-kaczmarek/systemview
Add tracing via SystemView
2018-05-28 12:02:42 +02:00
Andrzej Kaczmarek e0266266d5 Merge pull request #111 from andrzej-kaczmarek/npl-riot
porting: Add NPL for RIOT
2018-05-28 11:38:49 +02:00
Andrzej Kaczmarek 02f987d44d porting: Add local syscfg for RIOT
This is example configuration used by RIOT, mostly due to CI complaining
about this file since it does not follow RIOT style at all (it is
autogenerated by newt).

Other applications built for RIOT can decide simply not to use this file
and provide own instead.
2018-05-28 11:36:33 +02:00
Andrzej Kaczmarek 4d9eee14e9 nimble/ll: Add workaround for initializing LL task on RIOT
This is just a workaround, we need to find some more generic solution
here.
2018-05-28 11:35:51 +02:00
Hauke Petersen 39c32e6be1 porting: Add NPL for RIOT
This patch adds NPL for RIOT, see https://www.riot-os.org/.

Example applications are included in RIOT sources and should be build
from there. RIOT build system will automatically fetch NimBLE sources as
a package.
2018-05-28 11:35:51 +02:00
Szymon Janc 245ef69c65 Merge pull request #115 from MariuszSkamra/hs_dbg_le_evt
debug: Add missing debug logs for LE Meta Events
2018-05-28 11:28:03 +02:00
Mariusz Skamra 95da64b748 debug: Add missing debug logs for LE Meta Events
This adds debug logs for LE Meta Events.
Those are not too heavy to limit the console output.
2018-05-28 11:27:01 +02:00
Łukasz Rymanowski 3d4e20ca33 Merge pull request #116 from kolodgrz/ext_adv_fix_v1
nimble/mesh: Don't send scannable adv events if non-connectable
2018-05-25 16:20:55 +02:00
Grzegorz Kolodziejczyk a48fee607d nimble/mesh: Don't send scannable adv events if non-connectable
Extended advertising events should be send as non-scannable events.
2018-05-25 16:09:07 +02:00
Szymon Janc 86452a4d4f Merge pull request #114 from MariuszSkamra/hs_dbg
debug: Improve logging of unknown LE Meta Event
2018-05-25 11:58:00 +02:00
Andrzej Kaczmarek f6bd8dc1f4 Merge pull request #113 from andrzej-kaczmarek/npl-dev
porting: Fix multiple build errors on non-Mynewt builds
2018-05-24 18:02:38 +02:00
Łukasz Rymanowski 4df446ff40 Merge pull request #108 from rymanluk/ll_assert
nimble/ll: Vendor error event on assert
2018-05-24 16:32:43 +02:00
Łukasz Rymanowski 05bd8129a8 nimble/ll: Vendor error event on assert
With this patch controller will send Vendor Debug event
on asserts.
First octet of this event is Debug event type
1) Debug event type (0x00 - assert information)
2) Assert information (file and line)

Example below shows my test asser in ble_ll_hci.c line 764

> HCI Event: Vendor (0xff) plen 66
   00 72 65 70 6f 73 2f 61 70 61 63 68 65 2d 6d 79 .repos/apache-my
   6e 65 77 74 2d 6e 69 6d 62 6c 65 2f 6e 69 6d 62 newt-nimble/nimb
   6c 65 2f 63 6f 6e 74 72 6f 6c 6c 65 72 2f 73 72 le/controller/sr
   63 2f 62 6c 65 5f 6c 6c 5f 68 63 69 2e 63 fc 02 c/ble_ll_hci.c..
   00 00
2018-05-24 16:25:24 +02:00
Mariusz Skamra 6b5c248897 debug: Improve logging of unknown LE Meta Event
This improves logging with SubEvent opcode to be printed out in
ble_hs_dbg_le_event_disp.
2018-05-24 16:15:51 +02:00
Andrzej Kaczmarek b1855ebb61 porting: Fix unused parameter warning 2018-05-24 16:04:37 +02:00
Andrzej Kaczmarek 75a8801cd8 porting: Update os_mempool
Perhaps we need to figure out better way to sync these files with core,
but for now let's do this manually. Anyway, I do not expect this to
happen very often.
2018-05-24 15:37:19 +02:00
Andrzej Kaczmarek 916cada7b4 nimble/host: Fix build with host flow enabled
Seems like something was broken when merging...
2018-05-24 15:37:19 +02:00
Andrzej Kaczmarek 961fff56db nimble/host: Fix missing NPL usage
Seems like we never tried to build ported NimBLE with some of features
enabled thus there were still some OS calls left.
2018-05-24 15:37:19 +02:00
Andrzej Kaczmarek 421daeff07 nimble/ll: Fix build with ext adv enabled
rand() needs stdlib.h

This failed when building FreeRTOS port.
2018-05-24 15:37:19 +02:00
Andrzej Kaczmarek 66eaa96c2f nimble/ll: Fix build with DTM enabled
#include<> is used to search for system headers so it does not look in
current directory.

This failed when building FreeRTOS port, not sure why does not fail on
Mynewt.
2018-05-24 15:37:19 +02:00
Szymon Janc c155820ccd Merge pull request #109 from sjanc/rat
Add missing license headers and  RAT excludes
2018-05-24 15:13:42 +02:00
Andrzej Kaczmarek f698731f6b Merge pull request #110 from andrzej-kaczmarek/npl-dev
porting: More NPL changes/fixes
2018-05-24 13:49:43 +02:00
Andrzej Kaczmarek daed64e786 porting: Fix FreeRTOS NPL
Make ble_npl_eventq_remove properly handle calling from ISR.
2018-05-24 12:03:43 +02:00
Andrzej Kaczmarek 3c07cb1898 porting: Add convenience init function in FreeRTOS NPL
This adds convenience function for FreeRTOS NPL which initializes
OS-specific things. Currently it creates tasks necessary to run ported
NimBLE.
2018-05-24 12:03:43 +02:00
Andrzej Kaczmarek 86d4b254be porting: Use common FreeRTOS macros for entering/exiting critical sect 2018-05-24 12:03:43 +02:00
Andrzej Kaczmarek 4c70f15a74 porting: Add common function to run default event queue
Now application can just call single function which will run default
event queue instead of creating "standard" loop. Also on some OS it may
be just possible to call some OS-specific API instead, so it's up to app
what to do - this is just a convenience function.
2018-05-24 12:03:43 +02:00
Andrzej Kaczmarek 095288a549 porting: Move default event queue management to common porting code
OS specific code should not care about default event queue thus it will
be created by nimble_port_init() function internally. We'll just add
simple getter in case someone wants to use it.
2018-05-24 12:03:43 +02:00