Skip to content

feat: uart#2

Merged
rabbitsaviola merged 41 commits intogangheivt:mainfrom
HalfSweet:main
Mar 31, 2025
Merged

feat: uart#2
rabbitsaviola merged 41 commits intogangheivt:mainfrom
HalfSweet:main

Conversation

@HalfSweet
Copy link
Copy Markdown
Collaborator

No description provided.

Colin-Suckow and others added 30 commits March 16, 2025 20:34
Signed-off-by: Colin Suckow <colin@suckow.dev>
In some environments, the parse_file function in the
tools/generate_native_sdk/parse_c_decl.py script
does not add the -ffreestanding parameter to the
gcc call, which causes the __STDC_HOSTED__
macro to be incorrectly set to 1.
If we add -ffreestanding, then this compiler
predefined macro will be set to 0

Signed-off-by: HaoranJiang <halfsweet@halfsweet.cn>
- Unify Python dependencies into a single file, including editable
- Update brew requirements file (e.g. brew GCC is NOT usable)

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Classic API will eventually be deleted, for now, merge all stub calls
into a single place.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Same as when using PBL_LOG_D macro.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Because this always expands to irrelevant location (macro generates
an inlined function, which is expanded in nimble_npl_log.h). NimBLE
could be modified so that BLE_NPL_LOG() passes these parameters
down to the implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
So we can tune at configure time the default log level. Default it to
info, so things are not too verbose by default.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
So we only log if needed.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Correct settings are already present in syscfg.h.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Function is not referenced anywhere in the code.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
PebbleOS may try to stop advertising at times when NimBLE has
already done that (e.g. when connected). Upper layer state
machine may be corrected in the future if we converge to a single
BLE host stack.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
this is now handled inside the pairing service, changing it here
broke the gatt clients

Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
exposed pebble_pairing_service_get_connectivity_send_notification
to be able to send a notification implicitly later as part of
handling new subscriptions.

Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
I handled EDONE wrong, this gets called when we're done reading,
it's just that in our case we're only reading one thing.

Signed-off-by: Liam McLoughlin <lmcloughlin@google.com>
```plaintext
tools/gdb_scripts/gdb_utils.py:72: SyntaxWarning: invalid escape sequence '\s'
  ADDR_REGEX = re.compile("^\s*(0x[a-fA-F0-9]{7,8})")
```

Signed-off-by: Noah Pendleton <noah.pendleton@gmail.com>
xTimerGetExpiryTime has been backported.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
When building NimBLE controller we need ISR capable timers. FreeRTOS
provides them. Note that this comes with the cost of an extra task to
handle the timer queue. Ideally we should use FreeRTOS timers everywhere
or, improve the NT API to be ISR capable.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
gmarull and others added 11 commits March 21, 2025 18:23
If FreeRTOS timers are enabled, just use them. On some configurations
this is required because Pebble NT API is not callable from ISR context.
We should converge to a single timer implementation, but this allows to
make some progress.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Otherwise the invalid tag makes old app to crash.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This needs to be updated once we have proper support for new platforms.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Otherwise uninitialized fields can contain random values.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
- RD triggers LE request security if not already encrypted
- WR triggers LE request security if:
  - Bit 1 is not set and not already encrypted
  - Bit 2 is set

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
@HalfSweet HalfSweet marked this pull request as ready for review March 26, 2025 06:51
@rabbitsaviola rabbitsaviola merged commit d2df064 into gangheivt:main Mar 31, 2025
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants