Commit Graph

10703 Commits

Author SHA1 Message Date
Paul Kierstead
02b3f62460 When UART timeout of zero is given, make read() return data already available 2018-09-12 13:25:49 -04:00
Scott Shawcroft
2cb703913d
Merge pull request #1184 from adafruit/pwmout-tcc-channel-claiming
PWMOut was not claming channels on shared TCCs
2018-09-11 22:58:44 -07:00
Dan Halbert
f289863088 bump gcc-arm-embedded to 7-2018q2 to save flash space 2018-09-11 21:26:58 -04:00
Dan Halbert
c3918bae57 PWMOut was not claming channels on shared TCCs 2018-09-11 19:46:47 -04:00
Dan Halbert
caa232823e
Merge pull request #1141 from jerryneedell/jerryn_neopixel
adjust SAMD51 neopixel_write timing
2018-08-24 08:37:02 -04:00
Jerry Needell
e8b94d0024 adjust SAMD51 neopixel_write timing 2018-08-24 07:01:50 -04:00
Scott Shawcroft
182a8d7120
Merge pull request #1131 from tannewt/hallowing3
Support Hallowing in 3.x
2018-08-20 18:26:07 -07:00
Scott Shawcroft
2b6b0ffcd2
Remove HID from hallowing so we have more room for other stuff. 2018-08-20 18:04:35 -07:00
Scott Shawcroft
4a8dd7e96d
Merge pull request #1132 from tannewt/sk6812_3x
Speed up zero neopixel pulses.
2018-08-20 17:43:42 -07:00
Scott Shawcroft
44de3d49a8
Speed up zero neopixel pulses.
SK6812 on 5v is pickier than WS2812 on 5v.

Hopefully fixes #1083.
2018-08-20 17:04:46 -07:00
ladyada
aeeb40e02c
Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-20 10:52:33 -07:00
Dan Halbert
1768057e87
add HalloWing 2018-08-20 10:52:24 -07:00
Scott Shawcroft
cac760aa6f
Merge pull request #1080 from jepler/uart-ll
UART: Always allocate UART objects in the long-lived pool
2018-08-08 21:36:33 -07:00
Jeff Epler
b0e33f6a11 atmel-samd: UART: allocate rx buffer in long-lived region
This is not strictly needed in order for #1056 to be resolved,
because the "make long-lived" machinery is unaware of this pointer.

However, as UARTs are assumed to be long-lived, this change is
beneficial because it moves the long-lived buffer into the upper
memory area with other long-lived objects, instead of remaining in
the low heap.
2018-08-08 19:21:57 -05:00
Jeff Epler
e1b4e9b7c7 UART: Always allocate UART objects in the long-lived pool
Particularly when they have buffers that are written via IRQ or DMA,
UART objects do not relocate gracefully.  If such an object is
relocated to the long-lived pool after its original creation, the
IRQ or DMA will write to an unexpected location within the Python
heap, leading to a variety of symptoms.  The most frequent symptom
is inability to read from the UART.

Consider the particular case of atmel-samd: usart_uart_obj_t
contains a usart_async_descriptor contains a _usart_async_device.
In _sercom_init_irq_param the address of this contained
_usart_async_device is assigned to a global array
sercom_to_sercom_dev which is later used from the interrupt context
_sercom_usart_interrupt_handler to store the received data in the
right ring buffer.

When the UART object is relocated to the long-lived heap, there's no
mechanism to re-point these internal pointers, so instead take the
cowardly way and allocate the UART object as long-lived.

Happily, almost all UART objects are likely to be long-lived, so
this is unlikely to have a negative effect on memory usage or heap
fragmentation.

Closes: #1056
2018-08-08 19:21:57 -05:00
Dan Halbert
2e80f37709
Merge pull request #1096 from tannewt/tune_neopixel
Retune neopixel timings on SAMD51. They were too slow.
2018-08-07 21:33:12 -04:00
Scott Shawcroft
b0dd645e27
Retune neopixel timings on SAMD51. They were too slow.
Fixes #1083
2018-08-07 16:58:37 -07:00
Scott Shawcroft
08def6b51e
Merge pull request #1052 from dhalbert/speed-up-dict-long-lived
Prevent repetitive recursive scanning of dicts when making them long-…
2018-07-23 18:17:08 -07:00
Dan Halbert
be1d882a8b Prevent repetitive recursive scanning of dicts when making them long-lived 2018-07-19 15:19:21 -04:00
Kattni
85a5276f36
Merge pull request #1006 from dhalbert/3.x-fix-pull
must set pull after setting direction with gpio_set_pin routines
2018-07-09 17:53:47 -04:00
Dan Halbert
8bb363f7c4 must set pull after setting direction with gpio_set_pin routines 2018-07-09 17:18:06 -04:00
Scott Shawcroft
fba2d9fa6c
Merge pull request #993 from dhalbert/update_crickit_libs-3
update Crickit library to fix stepper Drive issues
2018-07-05 17:45:22 -07:00
Dan Halbert
53d821332f update Crickit library to fix stepper Drive issues 2018-07-05 17:35:20 -04:00
Scott Shawcroft
ff0a6f4ec3
Merge pull request #986 from tannewt/include_rtc_fix
include RTC fix for SAMd51 in circuitpython build
2018-07-03 14:16:48 -07:00
Scott Shawcroft
074c5ea144
Merge pull request #977 from dhalbert/update_crickit_libs-2
update crickit-related libs
2018-07-03 12:04:05 -07:00
Dan Halbert
bf9981e8db bring all frozen libraries up to date 2018-07-03 14:39:21 -04:00
mrmcwethy
d9723bb613
include RTC fix for SAMd51 in circuitpython build 2018-07-03 06:52:05 -07:00
Scott Shawcroft
f1248dcdf4
Merge pull request #973 from dhalbert/3.x_onewire_fix
fix OneWire timing and DigitalInOut.switch_to_input()
2018-06-29 13:43:50 -07:00
Dan Halbert
b68cd14391 update crickit-related libs 2018-06-29 16:32:25 -04:00
Dan Halbert
7c9a0e2996 remove unnecessary extern in nrf/mphalport.c 2018-06-29 16:06:51 -04:00
Dan Halbert
7028a399c2 remove previously added esp8266/mphalport.{c,h} 2018-06-29 16:04:18 -04:00
Dan Halbert
2a0b857643 implement mp_hal_delay_us() to not need interrupts, and use it 2018-06-29 16:01:46 -04:00
Dan Halbert
b4fd77bb7c fix nrf and esp8266 builds for OneWire fix 2018-06-29 00:00:05 -04:00
Dan Halbert
52a11547cb fix OneWire timing and DigitalInOut.switch_to_input() 2018-06-28 23:32:20 -04:00
Scott Shawcroft
6908eed7ef
Merge pull request #965 from dhalbert/3.x-crickit-lib
3.x crickit lib
2018-06-28 13:51:35 -07:00
Dan Halbert
d98701c8d1 updates crickit and motor frozn libs with latest changes, including 550-2400 default servo range 2018-06-27 21:27:10 -04:00
Dan Halbert
f5df3d37ea add Crickit library to docs/drivers.rst 2018-06-26 19:56:10 -04:00
Dan Halbert
1f3de5174e Freeze Adafruit_CircuitPython_Crickit into crickit builds 2018-06-26 19:49:55 -04:00
Scott Shawcroft
5ae8094747
Merge pull request #953 from dhalbert/allow-mount-slash
Allow mounting '/' on '/'
2018-06-24 22:59:14 -07:00
Dan Halbert
dbf1a2f7d5 allow '/' to be mounted on '/' from Python code 2018-06-21 09:24:40 -04:00
jerryneedell
de4cd1ee73 add pins D3/D4 to pins.c
fixes  #948
2018-06-20 22:26:59 -04:00
Dan Halbert
f5fab358aa
Merge pull request #945 from tannewt/nrf52832
Switch to Feather52s full name to avoid confusion with the nrf52840 later
2018-06-18 18:11:06 -04:00
Scott Shawcroft
c90abb1370 Fix BLE file download for travis. 2018-06-18 14:28:45 -07:00
Scott Shawcroft
724bd7c17f Correct the tool build 2018-06-18 14:07:21 -07:00
Scott Shawcroft
05547b72ac Switch to Feather52s full name to avoid confusion with the nrf52840 later.
Fixes #940
2018-06-18 10:51:04 -07:00
Dan Halbert
be5eb91df8
Merge pull request #938 from sommersoft/esp_busio_fix
ESP8266: Fix pin locking during busio.SPI.configure
2018-06-16 11:49:20 -04:00
Scott Shawcroft
35ead7bf39
Merge pull request #935 from dhalbert/mount_name_clash_check
do not permit mounting over a directory or file with the same name as the mount point
2018-06-16 08:37:52 -07:00
Dan Halbert
92b531d0c3
Merge pull request #939 from tannewt/travis840
Add auto-build for nrf52840 development kit, PCA10056
2018-06-15 21:10:53 -04:00
Dan Halbert
e475256b38
Merge pull request #937 from tannewt/separate_peripherals_lib
Split out the peripherals library in preparation of sharing with MakeCode
2018-06-15 19:45:14 -04:00
Scott Shawcroft
b4338921de Add auto-build for nrf52840 development kit, PCA10056 2018-06-15 16:34:26 -07:00