Commit Graph

171 Commits

Author SHA1 Message Date
Scott Shawcroft
fcd60915e2 atmel-samd: Turn on stack checking so infinite recursion doesn't completely crash. 2017-03-09 16:09:13 +01:00
Scott Shawcroft
d598c2a919 atmel-samd: Add USB HID mouse and keyboard support. 2017-02-27 15:43:58 +01:00
Scott Shawcroft
062fac1d43 atmel-samd: Use link time optimization to reduce code size of builds which
share space with the file system.

"Express" builds with SPI flash crash the compiler for some reason so its
currently disabled for them.
2017-02-26 01:00:33 +01:00
Scott Shawcroft
48d7fca25e atmel-samd: Fix linking by providing cpu info. 2017-02-24 17:45:33 +01:00
Scott Shawcroft
75d6abe3bb Correct name of mp_raise_NotImplementedError to make error name. 2017-02-24 16:46:38 +01:00
Scott Shawcroft
35071b3681 Make the build quieter by default. 2017-02-24 15:59:59 +01:00
Scott Shawcroft
e0ef7e3092 Add indices() support to slice. 2017-02-24 15:13:56 +01:00
Scott Shawcroft
12fa5b3a66 Switch exception throwing to mp_raise helpers. It saves a little code space each time to share the call. 2017-02-24 15:13:07 +01:00
Scott Shawcroft
efd429464e atmel-samd: Switch to nano newlib and add size script to build. 2017-02-24 14:55:34 +01:00
Scott Shawcroft
261a6ff0bb atmel-samd: Fix build by correcting internal neopixel writes. 2017-02-19 17:39:34 +01:00
Scott Shawcroft
a5a41d7163 atmel-samd: Save a little space by tweaking error messages. 2017-02-19 17:24:15 +01:00
Scott Shawcroft
8584f5fece atmel-samd: Remove support for UART REPL from Arduino Zero. 2017-02-19 17:23:31 +01:00
Scott Shawcroft
f0b62a2b0e Save space by only supporting 800khz neopixels. 2017-02-19 17:22:42 +01:00
Scott Shawcroft
710b5d8aff Two I2C fixes:
1) Bus error will be thrown on read/write errors with errno set. (Read didn't used to fail at all.)
2) try_lock correctly returns boolean whether lock was grabbed.

Fixes #87
2017-02-19 17:02:29 +01:00
Scott Shawcroft
e9659e61f8 Switch enum-like attributes to all caps and add print support for them. Make room for this functionality by adding a shared __enter__ function object. #76 2017-02-19 16:11:33 +01:00
Scott Shawcroft
c4ee6d5716 atmel-samd: Remove pin reference from AnalogOut error. Fixes #83 2017-02-19 14:38:24 +01:00
Scott Shawcroft
c81052a256 atmel-samd: Stop calibrating the crystal for Gemma and Trinket. We need the space for other code. 2017-02-19 14:11:24 +01:00
Scott Shawcroft
9ed3e11aec atmel-samd: Clean up I2C correctly when an initialization error occurs. Fixes #95. 2017-02-13 16:46:57 +01:00
Scott Shawcroft
ae715a827b atmel-samd: Rework the clock configs to only be crystalless when needed by the hardware. 2017-02-10 05:09:17 -08:00
Scott Shawcroft
370d1dec88 SPI tweaks for SD Cards:
* Always init SPI to 250k to start for SD cards.
* Add ability to configure byte written during read.
* Add ability to read and write to portions of buffers like existing I2C API.
2017-02-10 05:09:17 -08:00
Scott Shawcroft
597777e80b atmel-samd: Update internal pins for Feather M0 Express Rev B 2017-02-02 12:12:05 -08:00
Scott Shawcroft
1da14b0eec atmel-samd: Switch Metro back to including bootloader space. 2017-02-01 13:16:48 -08:00
Scott Shawcroft
8569395b5d atmel-samd: Turn down the brightness of the status colors. 2017-02-01 13:15:46 -08:00
Scott Shawcroft
e3f9ee839a Add frequency changing support to PWMOut.
You can either set it once up front, or set variable_frequency on custruction to
indicate that the frequency must be able to change. This informs whether a timer
can be shared amongst pins.

This also adds persistent clock calibration on atmel-samd. Once the device has
synced its clock frequency over USB it will remember that config value until USB
is used again. This helps ensure the clock frequency is similar on and off USB.

Lastly, this also corrects time.sleep() when on USB by correcting the tick counter.
2017-01-30 15:02:01 -08:00
Scott Shawcroft
749d22b5e6 atmel-samd: stop overwriting the flash FS. 2017-01-19 14:26:57 -08:00
Scott Shawcroft
79024f3fb9 atmel-samd: Change new flash FS name to CIRCUITPY
Fixes #79
2017-01-19 11:47:06 -08:00
Scott Shawcroft
dad33e6ad0 atmel-samd: Reset the DAC on soft reset. Fixes #80. 2017-01-19 11:42:33 -08:00
Scott Shawcroft
f74e477966 atmel-samd: Fully reset the ADC state on reset to prevent a crash. 2017-01-19 11:26:41 -08:00
Scott Shawcroft
d29915ca3d atmel-samd: Fix two more SERCOM configs, PA07 and PA06. 2017-01-18 15:04:35 -08:00
Scott Shawcroft
76a2178bd7 atmel-samd: Fix PA00 and PA01 sercoms. New CircuitPlayground prototype pinout. 2017-01-18 14:51:36 -08:00
Scott Shawcroft
1a86968912 atmel-samd: Fix neopixel timing by forcing the NVM cache to be deterministicly timed. Otherwise, bit order changes code timing. Fixes #74 2017-01-17 19:27:48 -08:00
Scott Shawcroft
42926c6159 atmel-samd: Fix whitespace. 2017-01-17 19:26:28 -08:00
Scott Shawcroft
179413aec2 atmel-samd: Support multiple ADC channels at once.
Fixes #61
2017-01-17 14:40:43 -08:00
Scott Shawcroft
d239dbdc28 More fixes to pin pull thanks to jerryn:
* Correct atmel-samd pin pull state.
* Correct conversion from python pull objects to C enum.
2017-01-16 15:32:23 -08:00
Scott Shawcroft
35a5d44399 atmel-samd: Ensure pin state for first script run because we don't
know the post-bootloader state.

Also, color the status LED purple for ValueErrors which are used to
indicate a pin in use.
2017-01-13 15:39:50 -08:00
Scott Shawcroft
f6cf8ae208 atmel-samd: Split UART pin names into two so that all names start
with a letter and are therefore valid Python.

Fixes #73.
2017-01-12 13:53:47 -08:00
Scott Shawcroft
9ece7c907d Add persistent VFS shares so that the devices can be used with USB
that is present across soft-reset.
2017-01-12 12:46:44 -08:00
Scott Shawcroft
0d408488c5 atmel-samd: Turn off FRAMEBUF because it takes a lot of space. 2017-01-12 12:46:43 -08:00
Scott Shawcroft
cea5503ca0 Fixup warnings from merge about undefined macro values, switch to
VM keyboard exception and switch to FATFS reader.
2017-01-12 12:46:18 -08:00
Scott Shawcroft
24765929ea atmel-samd: Update pinouts for prototypes. 2017-01-08 22:11:27 -08:00
Scott Shawcroft
7c302c395e Improve docs and update to CircuitPython. 2017-01-05 16:20:46 -08:00
Scott Shawcroft
89f4a5597b atmel-samd: New revs which isolate the SPI for the external flash. 2017-01-05 14:36:33 -08:00
Scott Shawcroft
a9087fbaa2 atmel-samd: Change cplay pins to rev B. 2016-12-21 15:29:25 -08:00
Scott Shawcroft
7ce69959f9 atmel-samd: Tweaks for rev B of the prototype circuit playground. 2016-12-21 14:07:50 -08:00
Scott Shawcroft
f48d2df634 atmel-samd: Improve TouchIn to allow for multiple simultaneous touch pads. 2016-12-20 16:39:32 -08:00
Scott Shawcroft
427d33c706 atmel-samd: Add help() and remove mem_info functions from smallest builds to make room. 2016-12-19 16:38:35 -08:00
Scott Shawcroft
576373552a atmel-samd: Run the VM hook while waiting for the UART read to timeout in case nothing is received. 2016-12-19 16:36:32 -08:00
Scott Shawcroft
f2bfbab6a0 atmel-samd: Save space by not creating default files on the FS and by only keeping LED flashing code when LEDs are present. 2016-12-19 13:03:50 -08:00
Sebastian Plamauer
1598e44231 atmel-samd: Add preliminary support for UART 2016-12-19 13:03:50 -08:00
Scott Shawcroft
af17b64a58 atmel-samd: Add samd module for atmel-samd specific configuration.
Fixes #49
2016-12-13 18:04:50 -08:00