Commit Graph

48 Commits

Author SHA1 Message Date
Scott Shawcroft dc76306cfa
Enable a BLE workflow
nRF CircuitPython boards will now provide the file transfer
service defined here: https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer

USB capable boards will only advertise if previously bonded to a
device or if the reset button is pressed during the fast blue
flashes on start up. When pressed, the board will restart again but
the blue period will not flash.

Boards without USB will always advertise.

When previously bonded, the advertisement is private so that no
other peers can connect. If advertising publicly, the tx power is
lowered to reduce the likelihood of bonding from a distance.

This PR also fixes issues with loading identities of bonded peers
so that our address can now be resolved and we can resolve others'
addresses when scanning.
2021-06-24 12:59:14 -07:00
Scott Shawcroft 65813ef358
Fix ble_hci builds 2021-05-19 14:14:32 -07:00
Scott Shawcroft ee7a701487
Switch to start_advertising arg 2021-05-19 12:21:48 -07:00
Jeff Epler e95e921ca1 codeformat: Fix filename matching
In #4683, tannewt noticed that uncrustify was not running on some
file in common-hal.

I investigated and found that it was not being run on a bunch of paths.

Rather than make incremental changes, I rewrote list_files to work
bsaed on regular expressions; these regular expressions are created from
the same git-style glob patterns.

I spot-checked some specific filenames after this change, and all looks good:

```
$ python3 tools/codeformat.py -v --dry-run tests/basics/int_small.py ports/raspberrypi/common-hal/pulseio/PulseIn.c extmod/virtpin.c tests/thread/thread_exit1.py  ports/raspberrypi/background.h extmod/re1.5/recursiveloop.c
tools/codeformat.py -v --dry-run tests/basics/int_small.py ports/raspberrypi/common-hal/pulseio/PulseIn.c extmod/virtpin.c tests/thread/thread_exit1.py ports/raspberrypi/background.h extmod/re1.5/recursiveloop.c
uncrustify -c /home/jepler/src/circuitpython/tools/uncrustify.cfg -lC --no-backup extmod/virtpin.c ports/raspberrypi/background.h ports/raspberrypi/common-hal/pulseio/PulseIn.c
black --fast --line-length=99 -v tests/thread/thread_exit1.py
```
recursiveloop and int_small are excluded, while PulseIn, virtpin,
and background are included.

Testing running from a subdirectory (not _specifically_ supported though):
```
(cd ports && python3 ../tools/codeformat.py -v --dry-run raspberrypi/common-hal/pulseio/PulseIn.c ../extmod/virtpin.c)
../tools/codeformat.py -v --dry-run raspberrypi/common-hal/pulseio/PulseIn.c ../extmod/virtpin.c
uncrustify -c /home/jepler/src/circuitpython/tools/uncrustify.cfg -lC --no-backup ../extmod/virtpin.c raspberrypi/common-hal/pulseio/PulseIn.
```

As a side-effect, a bunch more files are re-formatted now. :-P
2021-04-30 10:48:08 -05:00
Scott Shawcroft 76033d5115
Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
Scott Shawcroft 68d5839f64
Port changes to ble_hci code 2021-04-19 15:10:33 -07:00
microDev a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
Dan Halbert fb33c4e1c0 -ftree-vrp better diagnostics on -Os builds; -fno-inline-functions for -O2; fix struct init in HCI bleio 2020-12-15 12:23:56 -05:00
Jeff Epler dc9bc8fc9a Fix flexible array declaration 2020-12-15 09:58:47 -06:00
Dan Halbert 9f9ab44acc Avoid "error: flexible array member in a struct with no named members" 2020-12-15 10:11:16 -05:00
Dan Halbert 97947b4fe9 shrink bast_pro_mini_m0; use proper flex-array syntax 2020-12-14 22:07:54 -05:00
Dan Halbert 1d05ad6b22 no _bleio for litex; ESP32S2 defines BIT() already 2020-10-15 16:34:19 -04:00
Dan Halbert f51e75c1d2 cxd56 needed more precise include for __packed; needed SRC_C += on some ports 2020-10-15 15:24:24 -04:00
Scott Shawcroft 76f431df70
Fix ble_hci 2020-10-08 11:02:14 -07:00
Jeff Epler 7151ee85ce _bleio: add missing break statement 2020-09-12 16:30:12 -05:00
Dan Halbert b27d511251 address review; use constructor for HCI Adapter 2020-08-30 14:06:48 -04:00
Dan Halbert 6553628fcb rename hci_include/README.dm to avoid triggering sphinx warning 2020-08-21 11:51:17 -04:00
Dan Halbert 097f93a630 improve HCI packet error handling 2020-08-21 10:17:59 -04:00
Dan Halbert 490380a504 remove debugging uart code 2020-08-20 20:41:05 -04:00
Dan Halbert 0e30dd8bcc merge from upstream; working; includes debug_out code for debugging via Saleae for posterity 2020-08-20 20:29:57 -04:00
Dan Halbert dfe50d08d5 Fix a few bugs 2020-08-18 16:10:09 -04:00
Dan Halbert da48ab0568 add generic services 2020-08-16 23:17:08 -04:00
Dan Halbert 1c8e11b2cb bug in char get_value; raise NotImpl; better arg validation 2020-08-14 23:38:58 -04:00
Dan Halbert d0ffdda5bb fix reset logic to not do pin ops or heap ops at bad times 2020-08-13 17:47:35 -04:00
Dan Halbert 44c9c43cd1 ble_uart_echo_test works 2020-08-13 00:03:39 -04:00
Dan Halbert 06f3b4048a fix #3228 for nrf; still needs to be fixed for HCI; tested 2020-08-11 16:21:16 -04:00
Dan Halbert 92cf56004f blue_uart_echo_test from Bluefruit app is working 2020-08-10 22:33:20 -04:00
Dan Halbert 74034d6b9d characteristic/cccd r/w; not tested 2020-08-10 19:46:18 -04:00
Dan Halbert 0f4b969d62 discovery of Nordic UART service working 2020-08-08 00:29:37 -04:00
Dan Halbert ac95106b88 service discovery works; need to work on char and descriptor discovery 2020-08-04 18:24:37 -04:00
Dan Halbert a995a5c58f wip: partial discovery responses; compiles; not tested 2020-08-03 21:02:57 -04:00
Dan Halbert 0a60aee3e4 wip: compiles 2020-08-02 11:36:38 -04:00
Dan Halbert a76ad3415c wip: implementing functionality 2020-07-30 22:07:55 -04:00
Dan Halbert e6bd99a5ee wip 2020-07-28 18:18:41 -04:00
Dan Halbert 0619966c19 wip 2020-07-28 14:28:09 -04:00
Dan Halbert 9572f306d3 ATT WIP 2020-07-28 11:56:00 -04:00
Dan Halbert f6f45c82a1 wip: ATT protocol 2020-07-23 18:54:26 -04:00
Dan Halbert 90ae1efa00 revamp ACLDATA reassembly 2020-07-17 21:28:24 -04:00
Dan Halbert 6494bbdc64 snapshot 2020-07-16 23:14:49 -04:00
Dan Halbert b08b0264cc back to working; check for extended advertising support 2020-07-15 09:46:13 -04:00
Dan Halbert f6869c69c5 wip: advertising; not tested 2020-07-12 19:45:23 -04:00
Dan Halbert f03045b97e address working; improved pkt dump 2020-07-08 23:15:48 -04:00
Dan Halbert a5ab2829eb use zephyr include files; wip: compiles 2020-07-08 09:33:41 -04:00
Dan Halbert 11cb3e3b4b hci skeleton done; not working yet 2020-06-30 23:19:40 -04:00
Dan Halbert f879114c43 do HCI pin init in Python, not here 2020-06-26 19:27:05 -04:00
Dan Halbert 1bc2e979eb wip; compiles; much commented out 2020-06-26 17:23:20 -04:00
Dan Halbert 57bac9a1fc update submodules 2020-06-26 12:42:54 -04:00
Dan Halbert 759929c24a hci early wip; refactor supervisor bluetooth.c for nrf: tested 2020-06-25 20:57:17 -04:00