Scott Shawcroft
88aa0e2660
Remove SERCOM pointers from pin data structure because index is
...
enough.
This saves 380 bytes on the Arduino Zero build. (More pins ==
more savings.)
2018-03-14 11:14:32 -07:00
Scott Shawcroft
7a3f86d184
Check usb_busy up front in usb background function.
...
Waiting to do so risks accidentally queueing another response.
Hopefully fixes #655 but we'll let @jerryneedell confirm.
2018-03-14 10:32:41 -07:00
Scott Shawcroft
c37ade9aeb
Correct NO_TIMER index value for SAMD21.
...
We check validity by ensuring it's lower than the total number of
timers. 0 is a terrible number for the NO_TIMER value because its
valid even though it shouldn't be.
Fixes https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO/issues/29
2018-03-13 12:44:00 -07:00
Dan Halbert
b64d568267
Merge pull request #677 from tannewt/usb_active_read
...
Move usb read finish into interrupt.
2018-03-13 15:16:40 -04:00
Scott Shawcroft
8157248189
Move usb read finish into interrupt.
...
Having the `active_read = false` in the background function left
a chance that a new_write occurs before active_read is set to false.
In that case, we'll read the appropriate data rather than write it
and never clear the active write.
Hopefully fixes #655 .
2018-03-13 11:29:29 -07:00
vesperk38
945f2f5aa1
line 172 has a typo correct 2MB to 4MB
2018-03-13 13:42:29 -04:00
Radomir Dopieralski
81ab2526e4
gamepad: Enable the gamepad module for express boards in 3.x
2018-03-11 13:39:54 +01:00
Scott Shawcroft
e7fc0b6aa7
Use DMA for long SPI transactions including those to the SPI Flash.
...
QSPI is not currently working so its commented out.
This is progress on #652 .
2018-03-09 12:45:46 -08:00
Bryan Siepert
942b7ffbe0
fixes hardware dotstar support for 3.0 and addresses issue #514
2018-03-08 20:39:47 -08:00
sommersoft
c1c3a79ec4
atmel-samd: changed Status to Runtime; instituted runtime singleton
2018-03-09 02:19:51 +00:00
Scott Shawcroft
01aceaae50
Support all boards and remove erase and page sizes because they never change.
2018-03-01 12:45:12 -08:00
Scott Shawcroft
2ab923862b
Structify flash device definitions.
2018-02-28 19:15:54 -08:00
Dan Halbert
568c04e6af
Merge pull request #650 from tannewt/merge_2x
...
Merge in commits from 2.x branch.
2018-02-27 22:03:52 -05:00
Scott Shawcroft
bf05183158
Merge remote-tracking branch 'adafruit/2.x' into merge_2x
2018-02-27 15:24:16 -08:00
Dan Halbert
5c24023240
use CONF_GCLK_DAC_SRC and refactor a bit
2018-02-27 17:21:03 -05:00
Dan Halbert
4895a9d1d8
Use safe clock freqs for AnalogOut; use DAC REFRESH on SAMD51.
2018-02-27 15:44:27 -05:00
Bryan Siepert
e42209a6b2
fixes timer number assumptions for samd51s for issue #646
2018-02-27 00:42:40 -08:00
Dan Halbert
cc7acfd491
consistently brand Itsy Bitsy M0 as 'Express'
2018-02-26 17:37:03 -05:00
Dan Halbert
957a82b592
add board.RX and .TX pins to metro_m4_express_revb
2018-02-23 09:54:39 -05:00
Kattni
7399a1a5c7
Merge pull request #634 from dhalbert/3.0_UART
...
Implement UART for 3.0 + related fixes.
2018-02-21 23:07:27 -05:00
Dan Halbert
9b4477e1dc
Implement UART for 3.0 + related fixes.
...
1. UART: ported to ASF4. Allow rx-only and tx-only. Add .baudrate r/w property.
2. Make NeoPixel timing deterministic by turning off caches during NeoPixel writes.
3. Incorporate asf4 updates:
a. async USART driver
b. bringing Atmel START configuration closer to what we use
c. Clock initialization order now specified by CIRCUITPY_GCLK_INIT_1ST and _LAST.
4. supervisor/port.c: Move commented-out clock-test pin setting to correct location.
2018-02-21 17:18:49 -05:00
James Devine
9c5a9e3411
Update boards URL in README.rst
...
Corrected a (probably) old URL in the read me.
2018-02-21 16:14:46 +00:00
Scott Shawcroft
d02251f8cd
Add a new board for Metro M4 Express Rev B. This is the board
...
send to community members for testing.
Also tweaked and commented reset pin list for main Metro M4 Express
which is currently unreleased and is Rev D.
2018-02-20 12:34:07 -08:00
Scott Shawcroft
653fc8877d
Remove breakpoint instruction used for debugging.
2018-02-19 21:38:14 -08:00
sommersoft
60d6ccc731
changed spaced supervisor/Status.c line to tabbed
2018-02-20 03:44:45 +00:00
Scott Shawcroft
15f626be58
m4 qspi works. m0 compiles
2018-02-19 14:02:04 -08:00
Scott Shawcroft
f20d5723aa
Reorganize things. Reading jdec works.
2018-02-19 14:02:04 -08:00
Scott Shawcroft
4710a2adba
Compiles for m4. Untested on m0.
...
This introduces a new spi_flash_api.h that works for both SPI and
QSPI. The previous spi_flash functions are now called external_flash
to minimize confusion.
2018-02-19 14:02:04 -08:00
Scott Shawcroft
a2bd772d5c
Begin rework to add qspi support.
2018-02-19 14:02:04 -08:00
sommersoft
9ee4d13756
added Status submodule to ports/atmel-samd/common-hal/supervisor; issue #544
2018-02-19 20:49:18 +00:00
Scott Shawcroft
a2b18b75d4
Fix loops and comma style.
2018-02-16 10:05:28 -08:00
Scott Shawcroft
eb2b41810a
Turn on lto
2018-02-15 16:12:58 -08:00
Scott Shawcroft
538081528d
pulsein works on m0
2018-02-15 16:04:39 -08:00
Scott Shawcroft
fcde138ea3
pulsein works on m4
2018-02-15 15:12:58 -08:00
Scott Shawcroft
07230f2637
pulsein compiles but doesn't work
2018-02-14 16:59:04 -08:00
Scott Shawcroft
c7af17525b
m4 pulseout works
2018-02-14 11:38:52 -08:00
Scott Shawcroft
6a7d889dd4
m0 pulseout works. Factored out shared timer code.
2018-02-13 18:17:20 -08:00
Scott Shawcroft
8479eef578
m0 tc and tcc work
2018-02-13 16:44:04 -08:00
Scott Shawcroft
6c3075bec6
m4 tc and tcc works. multi-tcc channels ok too.
2018-02-13 14:22:55 -08:00
Scott Shawcroft
cc616aea4e
m4 tc output works. Watch out for the PAC!
2018-02-12 23:41:26 -08:00
Scott Shawcroft
0397202288
m4 compiles, pwmout implemented but TC0 (A1) doesn't run
2018-02-09 17:21:06 -08:00
Scott Shawcroft
0398f308fa
m4 compiles, pwmout implemented
2018-02-09 16:37:27 -08:00
Scott Shawcroft
190e7d629e
WIP
2018-02-09 16:37:27 -08:00
Dan Halbert
b001c0711b
Correct _etext location; clean up .ld files
...
1. Make _extext and _sidata coincide. Old _etext location did not include
.ARM.exidx sections, which were usually absent but not always. So flash
data was copied to RAM in wrong place.
2. Use decimal constants with "K" and "M" suffixes in .ld files instead
of hex constants, to make them easier to read and check for accuracy.
2018-02-09 11:31:18 -05:00
Dan Halbert
6be6df6ae4
Merge pull request #609 from tannewt/bitbangio
...
Enable bitbangio now that we have digitalio.
2018-02-08 21:24:32 -05:00
Scott Shawcroft
3e63f59867
Use write instead of set because it clears the bits before setting them.
2018-02-08 16:12:33 -08:00
Scott Shawcroft
aeae0090af
Enable bitbangio now that we have digitalio.
...
Also remove a rogue neopixel_write.
2018-02-08 16:03:05 -08:00
Scott Shawcroft
82bc11585e
ports/atmel-samd: Re-enable analogio
...
This introduces SAMD51 support and re-enables SAMD21 support.
Fixes #263
2018-02-08 14:48:08 -08:00
Bryan Siepert
dfc2b82ede
Added SAMD51G support as per issue #597
2018-02-07 21:23:25 -08:00
Dan Halbert
eb49359aec
CPX: typo in mpconfigboard.h broke CIRCUITPY
2018-01-30 15:48:22 -05:00
Dan Halbert
e550b024c5
atmel-samd: Correct computation of SPI baud rate.
...
all: Add .frequency read-only property for busio.SPI to return actual frequency.
Fix esp8266/posix_helpers.c, which was not up to date for the new
long-lived/short-lived heap allocation scheme.
2018-01-30 12:08:41 -05:00
Dan Halbert
a1e279a9d8
Merge pull request #556 from python-ugame/ugame10-3.0
...
Update ugame port for the final ugame10 version
2018-01-29 13:35:06 -08:00
Radomir Dopieralski
d595a03bbd
Update ugame port for the final ugame10 version
...
There have been multiple uGame prototypes with differences in the pins
and other details. This updates the board definition to fit the final
uGame 10 design.
2018-01-29 22:19:09 +01:00
Radomir Dopieralski
189c62ac7d
Bring back the _stage library
...
I have tested the _stage module, and it works fine, so I'm including it
in he sources again. It's still disabled by default in the
mpconfigport.h.
2018-01-29 21:24:46 +01:00
Dan Halbert
efbf08266b
make _estack be double-word aligned
2018-01-24 19:24:36 -05:00
Scott Shawcroft
6560596864
Switch to m_malloc_maybe and m_free to reduce our dependence on gc_alloc.
...
gc_alloc's API is changing and we shouldn't need to care about it.
So, we switch to m_malloc which has the default behavior we expect.
2018-01-23 16:45:07 -08:00
brentrubell
ab1f133667
issue #536 CPX change SPI pin designations to externally available pins ( #540 )
...
* issue #536 CPX
* switched pin assignment
2018-01-22 19:31:55 -08:00
Tony DiCola
4bd1d09d74
Add missing Feather M0 RadioFruit boards: RFM69, RFM9x ( #539 )
2018-01-19 11:53:47 -08:00
sommersoft
44bc1711aa
Added Unique ID Functions/Updated Support Matrix ( #527 )
...
shared_bindings/index.rst: updated Support Matrix format as discussed in PR #503 & Issue #448 .
shared-bindings/microcontroller/Processor.c & .h: added UID lookup functionality for use with all ports. Fixes #462 .
2018-01-18 11:39:11 -08:00
Dan Halbert
01443a9619
Make chosen features consistent across all boards and ports atmel-samd, esp8266, and nrf.
...
1. Turn off MICROPY_CPYTHON_COMPAT, which includes a number of minor CPython compatibility features,
most of which have workarounds, but uses up significant flash.
2. Turn on MICROPY_PY_SYS_MAXSIZE, which implements sys.maxsize.
3. Turn on MICROPY_CAN_OVERRIDE_BUILTINS, which implements "_" as the most recent value in the REPL,
and also enables redefining builtins.
2018-01-16 18:11:54 -08:00
Dan Halbert
2d5483082d
Checked wrong RCAUSE bit for system_reset
2018-01-08 15:45:07 -08:00
Dan Halbert
1805bcac76
enable use of CIRCUITPY_CANARY_WORD (needed for 2.2 merge) ( #513 )
...
enable use of CIRCUITPY_CANARY_WORD (needed for 2.2 merge)
RCAUSE (reset cause) is fetched differently in SAMD21 vs SAMD51
2018-01-08 09:44:06 -08:00
Dan Halbert
d0cc8abd31
revise boards/ files for 3.0. All now compiled (but I don't have all to test).
2018-01-04 14:16:53 -05:00
Dan Halbert
d8686cc002
use correct LD_FILE in mpconfigboard.mk for boards with external flash
2018-01-03 16:49:38 -05:00
Dan Halbert
065e82015f
merge from 2.2.0 + fix up board defs
2018-01-02 21:25:41 -05:00
Dan Halbert
ce81c8dda9
Avoid gcc 7.2.1 compiler issues in nlr_push() ( #506 )
...
Avoid gcc 7.2.1 compiler issues in nlr_push()
2018-01-02 13:41:34 -08:00
Dan Halbert
72c911be97
Support SPI flash chips for CIRCUITPY, using non-DMA SPI for now.
2017-11-27 21:00:24 -05:00
Stewart
fb1dcd326d
ports/atmel-samd: feather_m0_adalogger readme updates ( #460 )
...
- Added D4 and moved associated SD_CS so that they are paired within list
- Added D7 and SD_CD which is the SD Card Detect pin
- Added D8 and GREEN_LED
- Added RED_LED associated with D13
- Added Setup information regarding arm complier packages
- README - Updated to reflect that feather_m0_adalogger microSD is supported
2017-11-26 21:10:01 -08:00
Stewart Colborne
5eb7958425
ports/atmel-samd/boards/feather_m0_adalogger/pins: Added missing pins
...
- Added D4 and moved associated SD_CS so that they are paired within list
- Added D7 and SD_CD which is the SD Card Detect pin
- Added D8 and GREEN_LED
- Added RED_LED associated with D13
2017-11-25 22:00:32 -08:00
mrmcwethy
e0eae5cb2a
Enable the Neopixel status light on Metro M0 Express and Feather M0 Express boards
2017-11-21 14:39:56 -08:00
Dan Halbert
6f662e9bbc
samd51 peripheral clocks were defined as 12MHz, but were really 120MHz
2017-11-20 21:11:30 -08:00
Dan Halbert
a9f75a71c5
Merge pull request #443 from dhalbert/3.0_spi
...
non-DMA SPI working; adding this now for testing; will continue with DMA
2017-11-16 19:28:24 -05:00
Dan Halbert
312444bbd2
non-DMA SPI working; adding this now for testing; will continue with DMA
...
Also, fixed pin mappings for rev B Metro M4:
swap PA12 and PA13 on SPI 2x3 header
swap A3 and A5
Comment out all frozen modules in CPX again to make room while waiting
for SPI flash.
2017-11-16 19:09:35 -05:00
Scott Shawcroft
ecc47d5258
Create supervisor module.
...
It can control autoreload and the rgb status led.
2017-11-16 09:04:17 -08:00
Scott Shawcroft
ef9a7f262a
atmel-samd: Turn off nvmctl cache and rework active_read.
2017-11-08 16:01:38 -08:00
Scott Shawcroft
971bd7e9a6
atmel-samd: Improve MSC reliability.
...
* Be more liberal with critical sections to ensure ordering.
* Correct usb_busy so that it is busy when no errors occur on
transfer. I believe it worked before because it would be false
momentarily until a second transfer was attempted and a busy
error was returned, therefore setting usb_busy to true. That
risks the first "failed" transfer completing before a second one
is attempted.
2017-11-08 12:42:50 -08:00
Scott Shawcroft
7a901cfccd
atmel-samd: Align SCSI responses.
2017-11-08 10:47:22 -08:00
Scott Shawcroft
3cb5e7ea58
atmel-samd: Update Feather M0 Express USB PID
...
This makes it different from the bootloaders and Arduino.
2017-11-07 14:26:37 -08:00
Dan Halbert
9060df5af6
DigitalInOut: Use pin value % 32 to accomodate PORTB and up.
...
Fixes #407 .
2017-11-07 10:08:34 -08:00
Dan Halbert
7292984204
Implement busio.I2c.
...
* Added asf4_conf/samd*/hpl_sercom_config.h
* Adjusted clocks in peripheral_clk_config.h.
* Put some frozen libs back in CPX for testing.
* Implement common-hal I2C
* Add samd*_peripherals.h in parallel with samd*_pins.h for common
functions and data.
* Store SERCOM index in pins table for convenience.
* Canonicalize some #include guard names in various .h files.
simpler reset of SERCOMs; remove unused routine
2017-11-07 09:59:54 -08:00
Scott Shawcroft
182a946b0e
atmel-samd: Tweak mass storage code to finish read sooner.
2017-11-06 16:30:11 -08:00
Scott Shawcroft
a8ee0012d7
atmel-samd: Enable -Os for SAMD51 and update neopixel accordingly.
2017-11-06 16:30:11 -08:00
Scott Shawcroft
4140b3b944
atmel-samd: Stop double CSW after MSC reads
...
This explicit zero length xfer leads to a second CSW packet. If
another read was started between the two CSWs then the host gets
confused and resets the device.
On reads, the CSW is automatically sent when we reply with the
total length. Writes must do it manually so they can wait for the
disk to flush the data.
2017-11-03 15:08:55 -07:00
Scott Shawcroft
c90a2d9b42
atmel-samd: Fix SAMD51 SWCLK reset so we can connect the JLink
...
while CircuitPython is running.
2017-11-02 14:00:38 -07:00
Scott Shawcroft
a49200d5cb
tools: Switch to using separate usb_descriptor repo.
2017-11-02 13:00:50 -07:00
Scott Shawcroft
3cfb06042e
atmel-samd: update to October 2017 ASF4.
2017-11-02 12:19:50 -07:00
Scott Shawcroft
a8dae22ae9
atmel-samd: Fix the neopixel delay method so it handles overflow better.
2017-11-01 11:56:54 -07:00
Dan Halbert
3b17980822
Merge pull request #391 from tannewt/longint_usb_fix
...
Enable LONGINT on M4 + usb fix
2017-11-01 14:19:17 -04:00
Scott Shawcroft
cfbb74ffe7
atmel-samd: Reorder mpconfigport.mk and mpconfigboard.mk includes.
...
This allows mpconfigport.mk to set this conditionally based on
$(CHIP_FAMILY).
2017-11-01 11:01:34 -07:00
Dan Halbert
0076a3c868
Merge pull request #393 from tannewt/m4_neopixel
...
Now with more blinky!!!
2017-11-01 08:17:41 -04:00
Scott Shawcroft
f4c8256345
atmel-samd: Add TX/RX led support for Metro M4.
2017-10-31 22:39:16 -07:00
Scott Shawcroft
54f2b698ce
atmel-samd: remove infinite loop if USB MSC read fails.
2017-10-31 22:38:52 -07:00
Scott Shawcroft
3177e10e9e
atmel-samd: Add samd21 neopixel support.
...
Also, fix and enable the status neopixel.
Fixes #264
2017-10-31 22:38:09 -07:00
Tony DiCola
d023879bea
atmel-samd: Update and enable neopixel_write for ASF4, tested on SAMD21 only.
2017-10-31 16:06:36 -07:00
Scott Shawcroft
15dcc7011c
atmel-samd: Turn on slice assignment in all builds.
...
This costs 376 bytes on a Trinket M0 leaving 33412 bytes free.
Fixes #193
2017-10-31 15:57:56 -07:00
Scott Shawcroft
9db321d505
atmel-samd: Enable longints for M4 builds.
...
Fixes #110
2017-10-31 15:46:42 -07:00
Scott Shawcroft
268bf6f99e
atmel-samd: Fix non-DEBUG USB cdc.
...
I believe the issue was that LTO exacerbates a problem where a CDC
read is initiated but fails and leaves pending_read true
preventing further reads.
2017-10-31 15:43:45 -07:00
Radomir Dopieralski
8c7571a75d
Create the build directory before running gen_usb_descriptor
...
Otherwise it fails to create the file in that directory.
2017-10-31 13:35:22 -07:00
Scott Shawcroft
4aeef100f6
atmel-samd: More USB polish
...
* Introduce a python script to generate the USB descriptor instead of
a bunch of C macros. In the future, we can use this dynamically in
CircuitPython.
* Add support for detecting read-only mass storage mounts.
Fixes #377
2017-10-30 18:29:20 -07:00
Dan Halbert
8e45dc041f
Read serial input as a background task so we can check for the interrupt character.
2017-10-27 17:32:13 -04:00
Dan Halbert
10b3a90189
Check INTERNAL_LIBM make flag in a safer way.
2017-10-27 17:32:13 -04:00
Dan Halbert
7f88ba3b26
Revert "Allow main.py to be interrupted by ctrl-C" ( #381 )
...
* Revert "Read serial input as a background task so we can check for the interrupt character."
This reverts commit 046092e8a2
.
* Revert "Check INTERNAL_LIBM make flag in a safer way."
This reverts commit 2b80add22f
.
2017-10-27 17:32:13 -04:00
Dan Halbert
2487226dff
Read serial input as a background task so we can check for the interrupt character.
2017-10-27 17:32:13 -04:00
Dan Halbert
f0a12d9620
Check INTERNAL_LIBM make flag in a safer way.
2017-10-27 17:32:13 -04:00
Dan Halbert
4232a0a196
Sync with https://github.com/adafruit/asf4/pull/3
2017-10-26 09:30:59 -04:00
Scott Shawcroft
ee18b5cbab
Don't use ERR_ABORTED. ( #375 )
2017-10-26 09:08:29 -04:00
Scott Shawcroft
d613776f0d
atmel-samd: Add support for ERR_ABORTED to indicate medium not present.
2017-10-25 21:02:01 -04:00
Scott Shawcroft
ab7da9353a
atmel-samd: Stop hanging on usb write when a terminal isn't connected by checking DTR status.
2017-10-25 21:02:01 -04:00
Scott Shawcroft
73c15dcf8b
Merge commit 'f869d6b2e339c04469c6c9ea3fb2fabd7bbb2d8c' into nrf2_merge
...
This is prep for merging in the NRF5 pull request.
2017-10-24 22:31:16 -07:00