Commit Graph

232 Commits

Author SHA1 Message Date
Nick Moore
4a093294ac hugely simplified version of the touchio.TouchIn.get_raw_reading code (adafruit/circuitpython#1048) 2019-01-27 15:08:03 +11:00
Dan Halbert
7998a7696d also handle BLE_GATTS_EVT_SYS_ATTR_MISSING: fixes Android: 2019-01-23 22:12:38 -05:00
Dan Halbert
b1f1bb1389 support BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST, sent by newer devices 2019-01-23 21:07:23 -05:00
Dan Halbert
e170e03f8c Merge remote-tracking branch 'adafruit/master' into bleio2 2019-01-21 20:38:26 -05:00
Dan Halbert
28cfd8a513 CharacteristicBuffer: make it be a stream class; add locking 2019-01-19 19:45:35 -05:00
Scott Shawcroft
edc8383e22
Improvements thanks to danh's review 2019-01-18 16:37:06 -08:00
Scott Shawcroft
fddc98858a
fix nonetype handling and nrf never reset 2019-01-17 18:51:40 -08:00
Scott Shawcroft
6404aaf411
Fix up nrf and using board.SPI in FourWire 2019-01-17 18:19:07 -08:00
Scott Shawcroft
760bd8d8a4
share fourwire and make nrf compile 2019-01-17 15:15:59 -08:00
Dan Halbert
50ee5ef24c merge translations; add bleio comments; fix minor sphinx issues in midi 2019-01-10 21:12:17 -05:00
hathach
f366e3feea Merge branch 'master' into nrf52_pulsein 2019-01-09 20:39:35 +07:00
hathach
cfc4c8cbfa
minor clean up 2019-01-09 15:43:54 +07:00
hathach
db82160eef
fix pulsein incorrect compute 2019-01-09 15:15:30 +07:00
Dan Halbert
13d607698e m_tx_in_progress might underflow (check on this) 2019-01-08 16:37:14 -05:00
Dan Halbert
50641c4152 remove debugging printf's 2019-01-08 15:52:21 -05:00
Dan Halbert
f66f55b4ed add CharacteristicBuffer; UART seems to work! 2019-01-07 22:46:20 -05:00
hathach
215008f78c
clean up neopixel write !! 2019-01-08 00:21:31 +07:00
Dan Halbert
a77b2363ef evt handler list bugs; unique evt handler names; remove uuid128_reference 2019-01-03 21:42:42 -05:00
Dan Halbert
8dea6f53bb forgot to store data when reading a gatts value 2019-01-03 14:16:41 -05:00
Dan Halbert
87c6f33bcc Broadcaster now takes whole packet. Also should be scannable 2019-01-01 14:11:59 -05:00
Dan Halbert
b6b5ed9c89 Remove nRF52832 support 2018-12-30 22:49:20 -05:00
Dan Halbert
1dc3957e72 LocalPeripheral is now Peripheral; more work on basic GATTS support; UART not working yet 2018-12-30 22:33:49 -05:00
Dan Halbert
ef39e72c7c free event handlers on reset; fix typo in Broadcaster 2018-12-29 13:55:10 -05:00
Dan Halbert
145e110915 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-29 00:00:39 -05:00
Dan Halbert
4d1f0ec07b Add Broadcaster. Reset correctly on reload. 2018-12-28 23:34:23 -05:00
hathach
6b0d93cea3
correct i2c max len 2018-12-28 21:14:27 +07:00
hathach
a4ee80832a
fix #1422 correct i2c max xfer len (size in bits) 2018-12-28 16:30:11 +07:00
hathach
3ee766bc01
put received bytes to fifo when error 2018-12-28 01:05:30 +07:00
hathach
d092722ae8
fix #1407 keep receiving in case of error 2018-12-28 00:40:29 +07:00
Dan Halbert
4167bf5b24 wip: advertising works, but not connection 2018-12-27 00:04:04 -05:00
hathach
6752266673 added pulsein using gpiote (gpio interrupt) 2018-12-18 22:05:17 +07:00
Dan Halbert
bfa66861ef Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-13 16:33:15 -05:00
hathach
b37b2fa7e7 overwrite old data if fifo is full 2018-12-13 23:56:06 +07:00
hathach
e136222ae2 use rbuf for busio uart 2018-12-13 23:48:53 +07:00
Nick Moore
1dc4c4757e touchio.TouchIn sensing working on a single pin! adafruit/circuitpython#1048 2018-12-11 14:33:35 +11:00
Nick Moore
901db4797e progress on NRF touchio.TouchIn #1048 2018-12-09 16:48:33 +11:00
Dan Halbert
a7a24096f4 bleio WIP: redo for more immutability; use sd_* routines for internal flash write 2018-12-07 16:52:47 -05:00
Scott Shawcroft
6ef8639971
Rework safe mode and have heap overwrite trigger it.
This creates a common safe mode mechanic that ports can share.
As a result, the nRF52 now has safe mode support as well.

The common safe mode adds a 700ms delay at startup where a reset
during that window will cause a reset into safe mode. This window
is designated by a yellow status pixel and flashing the single led
three times.

A couple NeoPixel fixes are included for the nRF52 as well.

Fixes #1034. Fixes #990. Fixes #615.
2018-12-06 14:24:20 -08:00
Dan Halbert
125901e4e2 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-06 12:41:38 -05:00
Dan Halbert
63cd9209f1 allow KeyboardInterrupt on UART read; fix nrf UART pin claiming; rename feather 52840 UART pins 2018-12-04 15:05:39 -05:00
Nick Moore
452a622459 Set up structure for touchio adafruit/circuitpython#1048 (does nothing yet) 2018-12-04 17:12:02 +11:00
Dan Halbert
80db2cec99 UART changes: timeout in secs, write bytes, etc. 2018-12-03 12:04:32 -05:00
Dan Halbert
3164b16196 WIP: debug; add hash and __eq__ to UUID 2018-11-26 21:09:17 -05:00
Dan Halbert
6fb7590280 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-11-26 10:16:29 -05:00
Scott Shawcroft
15eeac5d4b
A few fixes for nRF52840 feather QSPI and neopixel 2018-11-23 14:22:07 -08:00
Dan Halbert
1763ffe245 More UUID work; use mp_raise for exceptions 2018-11-20 23:04:58 -05:00
Dan Halbert
31cc71f7fb WIP: bleio revisions 2018-11-20 09:36:45 -05:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.

Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
2018-11-08 17:25:30 -08:00
arturo182
4bc24c4f60 bleio: Fix errors after rebase 2018-10-21 17:15:27 +02:00
arturo182
eceb21a017 bleio: Don't register the services until needed
Because of the very specific way nRF requires service registration
(characteristics can be added only to last added service), we would
have to write the Python code in a specific way. With this patch the
user has more freedom.
2018-10-21 16:00:04 +02:00
arturo182
19fab4af5a bleio: Remove deep copy constructor for UUID 2018-10-21 15:59:50 +02:00
arturo182
b5e5805bb4 bleio: Remove redundant struct field 2018-10-21 15:59:46 +02:00
arturo182
c7b42d80b3 bleio: A bit of cleanup 2018-10-21 15:59:42 +02:00
arturo182
17f13ecc2c nrf: Cleanup of the ble driver
Moved the functions to classes that they belong to.
2018-10-21 15:54:13 +02:00
arturo182
77eeecbfd9 nrf: BLE driver cleanup 2018-10-21 15:52:36 +02:00
arturo182
6545aa99a9 nrf: Remove the ble drv specific characteristic struct 2018-10-21 15:51:04 +02:00
arturo182
98aa8c5923 nrf: Remove the ble drv specific service struct 2018-10-21 15:51:01 +02:00
arturo182
3df7dea2cc nrf: Remove the ble drv specific advertisement data struct 2018-10-21 15:50:59 +02:00
arturo182
4b344812bf nrf: Remove the ble drv specific address struct 2018-10-21 15:50:56 +02:00
arturo182
3bd65fbae5 nrf: Move the Peripheral class to bleio as Device
This was the last class from ubluepy and so that module is now gone.
The Device class offers both Peripheral and Central functionality.
See the inline docs for more info.
2018-10-21 15:50:45 +02:00
arturo182
bda734223e nrf: Move the Service class from ubluepy to the shared bleio module 2018-10-21 15:43:51 +02:00
arturo182
cc78249226 nrf: Move the Characteristic class from ubluepy to the shared bleio module 2018-10-21 15:43:48 +02:00
arturo182
1c6bf9a150 bleio: Move the Scanner class to a shared module 2018-10-21 15:43:29 +02:00
arturo182
345334aaf1 bleio: Add a new Address class
Use the new in the Adapter singleton.
2018-10-21 15:43:21 +02:00
arturo182
20b8d5169d nrf: Move the Descriptor class from ubluepy to the shared bleio module 2018-10-21 15:43:13 +02:00
arturo182
f4940c9aec nrf: Move the UUID class from ubluepy to the shared bleio module
Also added a UUIDType enum-like class for determining UUID type.
2018-10-21 15:43:08 +02:00
Dan Halbert
b3c7746a7f fix copyright notice 2018-10-16 11:09:37 -04:00
Dan Halbert
2262efc311 PulseOut working 2018-10-16 11:05:02 -04:00
Dan Halbert
8d58093328
Merge pull request #1259 from dhalbert/nrf-pwmout
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-10 12:27:27 -04:00
Scott Shawcroft
df80ad8e6e
Merge pull request #1193 from ATMakersBill/master
Add supervisor.runtime.serial_bytes_available so that input() can be used without blocking.
2018-10-09 23:58:43 -07:00
Dan Halbert
ca737e6f7c Don't disable tempoarily in deinit(). 2018-10-09 21:23:47 -04:00
Dan Halbert
91a88cf568 Allow variable freq PWMOut; use multiple channels if same freq 2018-10-09 20:52:55 -04:00
ATMakersBill
9f94712ad1 replacing change to input() with separate method to check for USB Serial input 2018-10-09 18:37:52 -04:00
Dan Halbert
6049776b26
Merge branch 'master' into nrf52_uart_io 2018-10-03 13:31:48 -04:00
hathach
b8884ccc8b Merge branch 'master' into nrf52_uart_io 2018-10-03 23:13:56 +07:00
hathach
08cbb03bdd implement common_hal_busio_uart_clear_rx_buffer 2018-10-03 11:39:01 +07:00
hathach
f543c8415d "busio.UART not yet implemented -> not available 2018-10-03 11:30:31 +07:00
Dan Halbert
21d331c8cc round SPI freq down; check max freq 2018-10-02 21:06:40 -04:00
Dan Halbert
aa95526428 nrf: remove error check for SPI baudrate too high; round to nearest baudrate 2018-10-01 18:54:13 -04:00
Dan Halbert
48a3aafdd2 reset I2C and SPI on ctrl-D 2018-09-25 15:12:10 -04:00
hathach
76d6fb03f0 more clean up 2018-09-26 02:12:06 +07:00
hathach
eba80f7a99 update translate string 2018-09-26 02:10:44 +07:00
hathach
52328c88cd remove space 2018-09-26 02:06:32 +07:00
hathach
74cc55b107 change error type to runtime 2018-09-25 17:31:53 +07:00
hathach
dec5c50c45 clean up 2018-09-25 16:22:14 +07:00
hathach
2f0e0bdcaf migrate serial from uart to uarte 2018-09-25 16:14:44 +07:00
hathach
9017c9d29a clean up 2018-09-25 14:29:45 +07:00
hathach
d3e5ba83eb update nrfx to 1.3.0 2018-09-25 13:00:57 +07:00
hathach
d714479924 clean up 2018-09-25 12:48:48 +07:00
hathach
01c1296197 nrf52 uart io rx work reliably 2018-09-25 12:37:31 +07:00
hathach
1782ceab35 uarte malloc if buffer is not in SRAM 2018-09-24 16:18:49 +07:00
hathach
4015023e01 clean up uart io 2018-09-24 16:12:05 +07:00
hathach
7bbd449f06 uarte rx work fine 2018-09-24 15:54:32 +07:00
hathach
fdd3e91753 changing to nrf uarte, tx works fine 2018-09-24 14:56:52 +07:00
hathach
7a1b4ccc9b Merge branch 'master' into nrf52_uart_io 2018-09-24 12:50:48 +07:00
Dan Halbert
2c15d12f2f allow multiple I2C and SPI; improve nrfx_config.h 2018-09-20 20:45:30 -04:00
hathach
816ff05253 clean up 2018-09-21 03:53:35 +07:00
hathach
dddc437ea7 got rx working finally 2018-09-21 03:48:13 +07:00
hathach
fe1a297889 still have issue with initial uart rx 2018-09-21 01:27:52 +07:00
Dan Halbert
2309e60c0d WIP; problem with staticly allocated IRQ handlers 2018-09-19 21:59:04 -04:00