Commit Graph

1905 Commits

Author SHA1 Message Date
☒ Bjarke Gotfredsen
d745c1023e
Support for XinaBox CC03 and CS11
CC03 is a ATSAMD21G18 Cortex-M0+ breakout in xChips format. CS11 is the same, but with a SD Card Interface. 
https://xinabox.cc/products/cc03
https://xinabox.cc/products/cs11
2019-11-12 12:48:31 +02:00
Thea Flowers
c7195c4bc5
Allow boards to enable the micropython.native decorator
Adds the `CIRCUITPY_ENABLE_MPY_NATIVE` for `mpconfigboard.mk` that enables
the `micropython.native` decorator.
2019-11-05 14:27:53 -08:00
Thea Flowers
73989dbcaf Add board configuration for Winterbloom Sol 2019-11-04 23:11:42 -08:00
Scott Shawcroft
cd3fcc87ab
Merge pull request #2252 from dhalbert/cpb-two-i2c
nrf: allocate two I2C on CPB
2019-11-03 13:15:36 -08:00
Dan Halbert
85a648224f Check for no pullups on I2C on nrf; give arduino nano 33 ble two I2C devices 2019-11-02 22:47:03 -04:00
brentru
2f04c5891f flip it around 2019-10-31 14:11:50 -04:00
brentru
ab3da3071c flip MADCTL BGR bit to reflect RGB colors 2019-10-31 10:11:47 -04:00
ladyada
d2b613134d we should use native rotation, and tweak madctl (not done yet) 2019-10-29 22:53:44 -04:00
ladyada
1e869d1334 switch to 8-bit mode - tested on hardware! 2019-10-29 21:14:45 -04:00
Dan Halbert
1505da784f wip 2019-10-28 18:15:02 -04:00
Dan Halbert
56ac41fabf
Merge pull request #2240 from theacodes/fix-2086
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
2019-10-28 14:50:01 -04:00
Thea Flowers
4b742f88d9
Fix spelling 2019-10-25 10:50:27 -07:00
Thea Flowers
4fdf518251
Track unadjusted PWM duty cycle to avoid accumulating conversion errors
Fixes #2086

When the frequency of a `PWMOut` is change it re-sets the PWM's duty cycle as
well, since the registers have to be re-calculated based on the new frequency.
Unfortunately, `common_hal_pulseio_pwmout_get_duty_cycle`
will return a value very close to, but not exactly, the value passed to `common_hal_pulseio_pwmout_set_duty_cycle`. If the frequency is modified
without the calling code also re-setting the duty cycle then the duty cycle
will decay over time. This fixes that problem by tracking the unadjusted duty
cycle and re-setting the duty cycle to that value when the frequency is changed.
2019-10-23 14:34:14 -07:00
ProductDev
4cd5571203 Adds builds for sparkfun_qwiic_micro with and without flash 2019-10-23 15:05:46 -06:00
Dan Halbert
7b79ac3739 Parameterize linker script 2019-10-20 23:50:12 -04:00
Kamil Tomaszewski
96756b3945 Add functions to get top and limit stack 2019-10-18 11:04:45 +02:00
wallarug
8f2e5990db
Changed to follow standard that Pad 0 is always TX 2019-10-17 18:02:05 +11:00
Scott Shawcroft
63790f01f8
Merge pull request #2218 from CedarGroveStudios/master
Definitions for StringCar M0 Express and AT25SF161-SSHD-T 2MiB SPI flash chip
2019-10-15 09:46:39 -07:00
Cedar Grove Maker Studios
bd608e0807
remove placeholder 2019-10-14 11:56:53 -07:00
Cedar Grove Maker Studios
b04a218bbc
initial load of stringcar m0 express defs 2019-10-14 11:56:18 -07:00
Cedar Grove Maker Studios
44ebc4c95d
establish stringcar m0 express definitions 2019-10-14 11:55:22 -07:00
Dan Halbert
c1ab2486f9 return chip vcc value 2019-10-12 15:42:15 -04:00
Chris Osterwood
137a4f8a5d Added new flash SKU for production hardware 2019-10-07 14:50:39 -04:00
Kamil Tomaszewski
7aefcc449a Add an alternative way to number the USB endpoints
Two options available:
- relative numbering (USB_RELATIVE_EP_NUM = 1) - default
- absolute numbering (USB_RELATIVE_EP_NUM = 0) - new!
2019-10-07 12:31:42 +02:00
Scott Shawcroft
cdc116291b
Merge pull request #2177 from wallarug/walla/robohatmm1-production
Robo HAT MM1 - Fixes after testing
2019-09-26 10:44:55 -07:00
arturo182
21f8c3e40a serpente: Update PID and enable as many modules as we can fit 2019-09-26 17:22:18 +02:00
wallarug
3c99a23adb fix spi 2019-09-26 21:47:36 +10:00
wallarug
533a5bc7a3 fixed SPI on M4 2019-09-26 21:43:52 +10:00
wallarug
5cd10b3ba0 updated robohatmm1_m0 2019-09-26 20:02:09 +10:00
wallarug
39265fccf3 included a version number 2019-09-26 19:22:51 +10:00
wallarug
db9495b04b updated board name 2019-09-26 19:21:53 +10:00
wallarug
08b0f80879 updated board name 2019-09-26 19:21:24 +10:00
wallarug
b7e8a031d0 remove frozen busio library 2019-09-26 19:19:54 +10:00
wallarug
ff13b6f682 updated pins.c 2019-09-26 19:18:50 +10:00
wallarug
70860e1352 robohatmm1 removed uart and put in correct order 2019-09-22 19:47:44 +10:00
Melissa LeBlanc-Williams
9a74bf929b Added TFT pins to HalloWing M4 for code compatibility 2019-09-19 14:50:10 -07:00
Melissa LeBlanc-Williams
b7598f7058 Merge branch 'master' of https://github.com/adafruit/circuitpython 2019-09-19 14:20:28 -07:00
Scott Shawcroft
0fed65e7d2
Merge remote-tracking branch 'adafruit/master' into dac51 2019-09-19 12:21:54 -07:00
Melissa LeBlanc-Williams
341428b4da Added SPEAKER pin to HalloWing M4 for code compatibility 2019-09-19 11:23:37 -07:00
Melissa LeBlanc-Williams
8dfb2237d9 Added TOUCH pins to HalloWing M4 for code compatibility 2019-09-19 10:40:13 -07:00
Scott Shawcroft
fc90c942f5
Add custom CPX build for display support 2019-09-17 10:40:07 -07:00
jepler
dffedd7c86 samd: peripherals: update submodule reference 2019-09-16 21:48:31 -05:00
Scott Shawcroft
aa9b57fc81
Merge pull request #2154 from arturo182/master
Add support for Serpente boards
2019-09-16 09:20:17 -07:00
arturo182
e1679acaec
Set as small build regardless of language 2019-09-16 11:51:46 +02:00
jepler
61698eb5d8 AnalogOut / AudioOut: Copy settings from Arduino
Make changes in asf4_conf even though I think in these cases the
"peripherals" submodule is running the show.

Arduino clocks the DAC at 12MHz but uses the CCTRL setting for
clocking < 1.2MHz (100kSPS).

A fresh clock (6) is allocated for the new 12MHz clock.  This matches
the Arduino value, though not the GCLK index.

Modify other settings to more closely resemble Arduino.

In AudioOut, actually clock the waveform data from the timer we set up
for this purpose.

This gives good waveforms when setting AnalogOut full-scale in a loop,
but the rise/fall of waveforms that come from AudioOut are still erratic.
Weirdly, if AudioOut limits its range even slightly (e.g., to 1000..64000)
then the erratic

Note that this will require https://github.com/adafruit/samd-peripherals/pull/26
to be accepted for the submodule update here to work.
2019-09-15 11:30:49 -05:00
Kattni Rembor
c94310411b Update board def, enable touchio 2019-09-14 21:19:35 -04:00
arturo182
28bb901d1e Add support for Serpente boards 2019-09-14 16:06:28 +02:00
Dan Halbert
b8200d7295 fix atmel-samd filesystem_tick'ing; clear_temp_status() should check for status indicator in use 2019-09-09 23:17:52 -04:00
Scott Shawcroft
8066810abb
Merge pull request #2091 from jepler/samd-dma-tracking
Samd dma tracking
2019-09-05 11:27:59 -07:00
Scott Shawcroft
c5caacafdd
Merge pull request #2100 from pewpew-game/pewpew_m4
Add support for PewPew M4 board
2019-09-05 11:26:47 -07:00
Radomir Dopieralski
d50ed3b6e7 Add support for PewPew M4 board 2019-09-05 10:50:33 +02:00
Dan Halbert
f3af2a6fb7 Merge remote-tracking branch 'adafruit/master' into choose-usb-devices-xac 2019-09-04 21:56:13 -04:00
Dan Halbert
195de97c67 use only one endpoint pair for MSC except on SAMD21 2019-09-04 21:45:16 -04:00
Dan Halbert
fca440fb66
Merge pull request #2113 from tannewt/displayio_hidden
Add .hidden to TileGrid and Group
2019-09-04 15:48:00 -04:00
Scott Shawcroft
7951646b9a
Disable bitbangio on uGame10 2019-09-04 11:49:47 -07:00
sommersoft
c4d6f4f536 disable 'audiomixer' for all M0 boards 2019-09-01 17:39:20 -05:00
sommersoft
8120f5cdad Merge branch 'master' of https://github.com/adafruit/circuitpython into mixer_voice 2019-08-29 22:14:53 -05:00
Scott Shawcroft
9730d4aa1c
Merge remote-tracking branch 'adafruit/4.1.x' into hallowing_m4_5.x 2019-08-29 14:38:16 -07:00
Scott Shawcroft
0aa5507c4c
add additional pin aliases 2019-08-29 13:41:28 -07:00
Scott Shawcroft
84839de56f
Hallowing M4 2019-08-29 10:34:46 -07:00
jepler
30a9346373 samd: audio_dma: Track channel allocation
Previously, we depended on allocated channels to always be
"dma_channel_enabled".  However, (A) sometimes, many operations
would take place between find_free_audio_dma_channel and
audio_dma_enable_channel, and (B) some debugging I did led me to believe
that "dma_channel_enabled" would become false when the hardware ended
a scheduled DMA transaction, but while a CP object would still think it
owned the DMA channel.

((B) is not documented in the datasheet and I am not 100% convinced that
my debugging session was not simply missing where we were disabling the
channel, but in either case, it shows a need to directly track allocated
separately from enabled)

Therefore,
 * Add audio_dma_{allocate,free}_channel.
   * audio_dma_free_channel implies audio_dma_disable_channel
   * track via a new array audio_dma_allocated[]
 * clear all allocated flags on soft-reboot
 * Convert find_free_audio_dma_channel to audio_dma_allocate_channel
   * use audio_dma_allocated[] instead of dma_channel_enabled() to check
     availability
 * remove find_free_audio_dma_channel
 * For each one, find a matching audio_dma_disable_channel to convert
   to audio_dma_free_channel

Closes: #2058
2019-08-28 17:00:22 -05:00
jepler
0b00787b4d samd: AudioOut: ensure stopped before deinit
.. otherwise, a sequence like
    >>> a = audioio.AudioOut(board.A0)
    >>> a.play(sample, loop=True)
    >>> a.deinit()
would potentially leave related DMA channel(s) active.
2019-08-28 16:43:55 -05:00
Scott Shawcroft
0876d5c4ad
Disable bitbangio on Itsy M0
Also, switch CIRCUITPY_BITBANG_APA102 to makefile setting so it can alter included files
2019-08-27 15:21:47 -07:00
sommersoft
696117b048 disable audiomixer on boards it doesn't fit on 2019-08-25 14:53:34 -05:00
Scott Shawcroft
7324b70a7c
Rework based on Dan's review 2019-08-23 15:27:21 -07:00
Scott Shawcroft
b992ca80e7
Rejigger builds to fit under 50 minute limit 2019-08-22 20:29:58 -07:00
Scott Shawcroft
72e7ffa324
More cleanup 2019-08-22 16:16:09 -07:00
Scott Shawcroft
fd8050b369
Turn off features to make room for ePaper 2019-08-22 15:19:45 -07:00
Scott Shawcroft
9993a99906
Add initial Monster M4SK build 2019-08-22 14:24:32 -07:00
Scott Shawcroft
3a98de1236
Add reset() to display busses to detect whether it works 2019-08-22 14:23:33 -07:00
Scott Shawcroft
36a23e0fe3
Rework refresh API and factor common display stuff out
NOT TESTED! Just compiles

Fixes #1691
2019-08-22 14:23:27 -07:00
Scott Shawcroft
c247e7df9c
Begin refresh rework. 2019-08-22 14:08:33 -07:00
Scott Shawcroft
70680d5b22
EPaper displays work mostly. 2019-08-22 14:08:33 -07:00
Dan Halbert
7cc15e56c8 make translate 2019-08-22 15:20:23 -04:00
Scott Shawcroft
6aa311aabd
Merge pull request #2027 from dastels/displayio_fill_area
To displayio.Display: expose fill_area and add a property for rotation
2019-08-21 23:48:21 -07:00
Dave Astels
d547d59cba Merge remote-tracking branch 'adafruit/master' into displayio_fill_area 2019-08-21 15:02:51 -04:00
Dave Astels
dcf36db263 Make room 2019-08-21 14:46:10 -04:00
Dan Halbert
6e3a6d0ac5 typo in IncrementalEncoder.c 2019-08-20 16:23:17 -04:00
Dan Halbert
e00696de7f merge from upstream and make translate 2019-08-20 13:06:23 -04:00
Dan Halbert
e3dc5e3a66 Merge remote-tracking branch 'adafruit/master' into run-background-tasks
Restore dependencies indicated by indentation in circuitpy_mpconfig.h.
2019-08-19 12:41:20 -04:00
Dan Halbert
e2a4c76a37 make nrf touchio be generic: now available for SAMD51 too 2019-08-18 08:44:10 -04:00
Scott Shawcroft
583392a5c6
Merge pull request #2046 from brentru/add-pyportal-titano
Add PyPortal Titano
2019-08-12 16:01:10 -07:00
Jeff Epler
d9ee2d28a0 atmel-samd: Use RUN_BACKGROUND_TASKS 2019-08-11 08:53:02 -05:00
brentru
5a8846d33c remove cruft from prv board 2019-08-08 15:12:01 -04:00
brentru
f87f48ab88 adding pyportal titano board definition 2019-08-08 14:56:28 -04:00
Chris Osterwood
d5658860aa Added pin definition for battery change enable. Pin used to switch in a 10 ohm resistor during Hub reset & strapping. 2019-08-08 14:39:50 -04:00
Chris Osterwood
fb2712410e Merge branch 'master' into capablerobot-usbhub 2019-08-08 14:14:23 -04:00
Jeff Epler
33b949abfa samd: audio_dma, audio_background: Gate with CIRCUITPY_ defines
Some ports which actually don't have audioio or audiobusio were still
calling into audio_dma_background().  This wasn't an error until
the assignment to audio_dma_state in audio_dma_stop was added, though
it's not clear why.
2019-08-07 21:29:24 -05:00
Jeff Epler
500d1bb168 samd: audio_dma.c: Remove exceptions, just return early
These were most useful debugging, but because this code can be reached
"outside of the VM", it's not actually permitted to throw exceptions here.
2019-08-07 20:20:36 -05:00
brentru
1d4700cb6c add pindefs for tft and tft control 2019-08-07 18:29:20 -04:00
brentru
8f6eac98f3 add defs for pyportal titano 2019-08-07 17:10:31 -04:00
Jeff Epler
39c64bf83c samd: audio_dma_stop: don't free invalid channel
audio_dma_stop can be reached twice in normal usage of AudioOut.

This may bear further investigation, but stop it here, by making the
function check for a previously freed channel number.  This also prevents
the event channel from being disabled twice.

The first stop location is from audio_dma_get_playing, when the buffers
are exhausted; the second is from common_hal_audioio_audioout_stop when
checking the 'playing' flag.
2019-08-06 22:00:31 -05:00
Jeff Epler
8b717955ba samd: audio_dma: wrap dma_{en,dis}able_channel and add error checking
It turns out the "disable" error will fire in practice, we'll fix that
next.
2019-08-06 22:00:31 -05:00
Jeff Epler
6253f11503 samd: audio_dma_stop: Clear out audio_dma_state[]
As identified in #1908, when both AudioOut and PDMIn are used, hard
locks can occur.  Because audio_dma_stop didn't clear audio_dma_state[],
a future call to audio_dma_load_next_block could occur using a DMA
object which belongs to PDMIn.

I believe that this Closes: #1908 though perhaps it is still not the full
story.

Testing performed: Loaded a sketch similar to the one on #1908 that
tends to reproduce the bug within ~30s.  Ran for >300s without hard
lock.  HOWEVER, while my cpx is no longer hard locking, it occasionally
(<1 / 200s) announces
    Code done running. Waiting for reload.
(and does so), even though my main loop is surrounded by a 'while True:'
condition, so there are still gremlins nearby.
2019-08-06 21:34:21 -05:00
Scott Shawcroft
eee759455a
Merge pull request #2018 from keith-packard/snekboard
Add board support for keithp.com SnekBoard
2019-07-31 16:38:51 -07:00
Scott Shawcroft
366fdcce18
Merge pull request #2011 from tannewt/ssd1322
Add knobs for SSD1322 and two displayio fixes.
2019-07-30 14:15:37 -07:00
Scott Shawcroft
9dd56b1566
Merge branch 'master' into snekboard 2019-07-30 14:12:08 -07:00
wallarug
ecfffac3a8
Delete samd51x19-bootloader-external-flash-crystalless.ld 2019-07-30 19:48:35 +10:00
wallarug
ff6ae1aefb
Update mpconfigboard.mk to use standard linker file 2019-07-30 19:13:33 +10:00
Keith Packard
c6e4ddc88a boards/snekboard: Delete SPI object reference
Snekboard does not expose any pins for SPI to the user, so delete
the SPI object reference as that won't work.

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:45:52 -07:00
Keith Packard
9a37c8a4b3 boards/snekboard: Add pin aliases for UART and I2C
Allow users to use TX/RX and SDA/SCL names.

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:45:06 -07:00
Keith Packard
4387ecfdfb Update snekboard PID to official value
Snekboard has been assigned the following PIDs:

	PID 0x004D  # bootloader
	PID 0x804D  # arduino
	PID 0x804E  # circuitpython

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
326df70ac2 Fix snekboard names
Manufacturer -- keithp.com
Product -- snekboard

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:15:18 -07:00
Keith Packard
56f710f64f Add board support for keithp.com SnekBoard
This is another SAMDG2118A design with built-in 9V motor controllers
that are designed to be used with Lego PowerFunctions devices.

Signed-off-by: Keith Packard <keithp@keithp.com>
2019-07-29 13:14:37 -07:00
wallarug
dc1eb73ee7
Merge branch 'master' into wallarug-robohat 2019-07-29 21:53:49 +10:00
wallarug
8974c7e843
Added BUTTON to pins.c 2019-07-29 16:37:53 +10:00
wallarug
9e0bea405d
Added BUTTON to pins.c 2019-07-29 16:37:21 +10:00
wallarug
4d30efdc2a
Updated pins.c for GROVE. 2019-07-29 16:29:48 +10:00
wallarug
8838e25cb2
Update pins.c 2019-07-29 16:28:35 +10:00
sommersoft
8eab946c5b
Merge pull request #2003 from C47D/travis_check_new_boards
Add check to travis to make sure new boards are built, fix #1886
2019-07-28 22:41:59 -05:00
wallarug
0f30070d58 updated naming schema to match other boards 2019-07-27 17:44:42 +10:00
wallarug
b06fa48735 updated a few files 2019-07-27 16:59:07 +10:00
wallarug
9c57f52d1e updated pins.c for robohat 2019-07-27 16:56:03 +10:00
wallarug
24e84adc6d further robohat cleanups 2019-07-27 16:38:47 +10:00
wallarug
e2b83e2dd9 minor changes robohat d21 2019-07-27 16:36:13 +10:00
wallarug
36008de2ed added custom ld file for samd51 no crystal, ext flash 2019-07-27 16:29:30 +10:00
wallarug
eda3423e35 updated to v1.7 board (samd51) 2019-07-27 16:27:41 +10:00
Scott Shawcroft
c61c874a6d
Reduce feather_m0_supersized build size
Make it match feather_m0_express
2019-07-26 00:31:41 -07:00
Scott Shawcroft
a87094e01f
Turn off GC opt to save space on Trinket Haxpress 2019-07-25 22:56:46 -07:00
Scott Shawcroft
4e7de436b4
Update constructors of boards with displays 2019-07-25 22:48:11 -07:00
Jeff Epler
6b44e40ee8 audiocore: Factor from audioio
When nrf pwm audio is introduced, it will be called `audiopwmio`.  To
enable code sharing with the existing (dac-based) `audioio`, factor
the sample and mixer types to `audiocore`.

INCOMPATIBLE CHANGE: Now, `Mixer`, `RawSample` and `WaveFile` must
be imported from `audiocore`, not `audioio`.
2019-07-25 06:44:26 -05:00
Dan Halbert
82ab998cd5
Merge pull request #1998 from tannewt/monocolor
Add support for grayscale displays
2019-07-22 22:30:28 -04:00
Scott Shawcroft
7cb2aa2d62
Merge pull request #1986 from AnthonyDiGirolamo/patch-1
Update Arch Linux ARM compiler installation instructions
2019-07-22 19:29:53 -07:00
Scott Shawcroft
1d1b8703b6
Review feedback including NO_BRIGHTNESS_COMMAND macro 2019-07-19 16:11:13 -07:00
Scott Shawcroft
b9b9ef227f
Turn off bitbanging on Hallowing to save code space. 2019-07-19 16:10:33 -07:00
Scott Shawcroft
cdfc169ab6
Correct typo in line meant to turn off frequencyio on M0 which saves 2k code space. 2019-07-19 16:10:32 -07:00
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
This also improves Palette so it stores the original RGB888 colors.

Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.

Fixes #1828. Fixes #1956
2019-07-19 16:06:11 -07:00
Kattni Rembor
582acdaa0a Requested changes. 2019-07-09 16:12:24 -04:00
Kattni Rembor
d905958db1 Adding PyRuler to CircuitPython. 2019-07-09 16:02:39 -04:00
Scott Shawcroft
f0cf9a4e75
Merge pull request #1988 from jandjstudios/datum
Add support for boards in the datum series.
2019-07-09 09:33:13 -07:00
Scott Shawcroft
f4a64a2e80
Merge pull request #1989 from rce1086/master
Added conditional compilation around selection of TX pad candidates
2019-07-08 14:07:04 -07:00
Carl Elkins
64507207da Added conditional compilation around selection of TX pad candidates
Original code was correct for SAMD21
New code for SAMD51 only permits pad-0 for TX
2019-07-08 02:08:39 +01:00
jandjstudios
46b7575550 Initial commit to support boards in the datum series. 2019-07-06 13:41:03 -07:00
iot49
4c72a3991e updated samd and esp8266 ports 2019-07-05 10:01:51 -07:00
Anthony DiGirolamo
55f15e3c05
Update Arch Linux ARM compiler installation instructions
- Add copy-pasteable Arch Linux `arm-none-eabi-gcc` install line similar to Ubuntu example
- Add `arm-none-eabi-newlib` as a required package for Arch
- Reformat Ubuntu and Arch install code-blocks to catch the eye for the impatient

Arch Linux changed their packaging for [arm-none-eabi-gcc](https://www.archlinux.org/packages/community/x86_64/arm-none-eabi-gcc/) by creating [arm-none-eabi-newlib](https://www.archlinux.org/packages/community/any/arm-none-eabi-newlib/) as an optional package. Without it users will get errors about missing header files like:

```
In file included from asf4/samd51/include/samd51j19a.h:49,
                 from asf4/samd51/include/sam.h:38,
                 from ./mpconfigport.h:31,
                 from ../../py/mpconfig.h:45,
                 from ../../py/emitnx64.c:3:
/usr/lib/gcc/arm-none-eabi/9.1.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
    9 | # include_next <stdint.h>
      |                ^~~~~~~~~~
compilation terminated.
```
2019-07-04 11:14:50 -07:00
Chris Osterwood
97e7fea517 Change pin names to be more descriptive 2019-07-04 13:23:57 -04:00
Chris Osterwood
539502c891 Remove pin reservations. Prevents used from inside of CircuitPython code 2019-07-04 13:22:36 -04:00
Radomir Dopieralski
e45eac5016 Switch the terminal font for ugame10
I designed this really tiny, minimalist font for use on very small
displays. On uGame it lets one see the whole text that CircuitPython
prints on boot. The characters are 4x6 pixels each, and they are
optimized for legibility (large x-height, right angles, blocky shapes).

It might make sense to also use that font in other boards.
2019-07-01 23:05:07 +02:00
Scott Shawcroft
0cce7fcaa3
Merge remote-tracking branch 'adafruit/4.0.x' into merge_in_402 2019-06-27 14:06:26 -07:00
Scott Shawcroft
fe507db45f
Shrink pIRkey build down.
Rollback HID to save string space and remove board mapping for
default buses that don't exist.
2019-06-26 16:49:23 -07:00
Scott Shawcroft
7ad229ec27
Merge pull request #1958 from tannewt/pygamer_advanced
Add PyGamer Advance and fix Joystick pins
2019-06-19 12:32:36 -07:00
Scott Shawcroft
5e5252ced0
Merge pull request #1955 from pewpew-game/pygamer-stage
Add support for PyGamer to Stage library
2019-06-18 18:23:08 -07:00
Scott Shawcroft
352bf7eaf5
Add PyGamer Advance and fix Joystick pins 2019-06-18 12:22:20 -07:00
Radomir Dopieralski
5803245009 Add support for PyGamer to Stage library 2019-06-18 19:05:51 +02:00
Scott Shawcroft
2dddccb99e
Update board inits for new api. 2019-06-17 18:03:30 -07:00
brentru
ea2c068e11 COLMOD is 1 param, remove CASET/RASET in CircuitPython 2019-06-17 11:20:25 -04:00
brentru
207dc885a6 removed incorrect gamma code, looks better now 2019-06-14 16:34:30 -04:00
brentru
4092294e7c tft working init. sequence, still undersaturated 2019-06-14 16:17:05 -04:00
brentru
0bc74172a2 Add pybadge airlift, sans-tft 2019-06-14 14:46:19 -04:00
Scott Shawcroft
0b1f605a9b
Turn off gc opt for more M0 boards 2019-06-12 13:20:21 -07:00
Scott Shawcroft
a91ad05774
Change to one lto partition for ultimate optimization. 2019-06-12 11:37:46 -07:00
Scott Shawcroft
eb21fc3e31
Add partial display update support.
Different operations to the display tree have different costs. Be
aware of these costs when optimizing your code.
* Changing tiles indices in a TileGrid will update an area
covering them all.
* Changing a palette will refresh every object that references it.
* Moving a TileGrid will update both where it was and where it moved to.
* Adding something to a Group will refresh each individual area it
covers.
* Removing things from a Group will refresh one area that covers all
previous locations. (Not separate areas like add.)
* Setting a new top level Group will refresh the entire display.

Only TileGrid moves are optimized for overlap. All other overlaps
cause sending of duplicate pixels.

This also adds flip_x, flip_y and transpose_xy to TileGrid. They
change the direction of the pixels but not the location.

Fixes #1169. Fixes #1705. Fixes #1923.
2019-06-12 11:32:39 -07:00
Dan Halbert
ba1b36a800 Uncomment vm.c SUPEROPT (debugging typo); trim a few builds 2019-06-12 13:09:09 -04:00
Dan Halbert
1bb4fccc3b Turn off SUPEROPT on gc.c instead of trying to squueze inline limit so much; reorganize mpconfigboard.mk files 2019-06-12 11:08:22 -04:00
Dan Halbert
0b3f29780a shrink a bunch of builds to fit 2019-06-11 18:46:06 -04:00
Dan Halbert
4fc189b60c Merge latest 4.0.x fixes into master 2019-06-11 16:16:29 -04:00
shazz
9c49af0597 Added pin for SD CS 2019-06-08 12:04:27 -04:00
Elvis Pfützenreuter
1da8d4b4da Add PS/2 support -- ps2io module 2019-06-04 18:05:46 -03:00
Dan Halbert
bcda5e133d
Merge pull request #1903 from tannewt/get_area
Rework the pixel computation to use areas
2019-05-31 21:27:06 -04:00
Dan Halbert
4e85c1ef91 Implement forced clean builds for boards so designated.
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
2019-05-24 15:32:24 -04:00
Dan Halbert
e84f3b1c6a make crickit cpx pinyin build fit 2019-05-23 21:22:50 -04:00
Scott Shawcroft
3fad7de8db
Rework the pixel computation to use areas
This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
2019-05-21 17:41:06 -07:00
Dan Halbert
0199d9810b Make pinyin fit on cpx 2019-05-21 15:18:56 -04:00
Dan Halbert
008bbc944c correct USB PIDs for several boards 2019-05-16 10:54:15 -04:00
Scott Shawcroft
f3ab820fc2
Merge pull request #1884 from CapableRobot/capablerobot-usbhub
Added board definition for Capable Robot Programmable USB Hub
2019-05-14 13:42:51 -07:00
Chris Osterwood
a0497553fc Fix to prevent critical pins from being reset when MCU restarts or enters REPL 2019-05-14 15:23:33 -04:00
Chris Osterwood
420dbafa9d Added board definition for Capable Robot Programmable USB Hub 2019-05-14 13:28:24 -04:00
sabas1080
9f082ba5cb Fix pin lost 2019-05-13 10:18:53 -05:00
Scott Shawcroft
36e2faf8d2
Merge pull request #1873 from ElectronicCats/escornabot_makech
Add Escornabot Makech of Electronic Cats
2019-05-10 12:39:58 -07:00
sabas1080
d174ce8821 Update pins define 2019-05-10 13:34:02 -05:00
Scott Shawcroft
67007282c9
Tighten down inlining on the pIRkey 2019-05-10 11:19:27 -07:00
Scott Shawcroft
80a752da87
Merge latest adafruit/master in. 2019-05-10 10:09:56 -07:00
sabas1080
27ea1df710 Init escornabot 2019-05-08 15:48:17 -05:00
Scott Shawcroft
9ba8191a04
Merge pull request #1855 from dhalbert/frequencyin-no-double-arith
avoid double float arithmetic in FrequencyIn
2019-05-08 14:40:18 -04:00
sabas1080
08a170388d fix VID and PID inverted 2019-05-08 10:09:49 -05:00
Dan Halbert
f59dadbb4f avoid double float arithmetic in FrequencyIn 2019-05-07 00:25:22 -04:00
ladyada
ed8e6e8f45 re-add i2s (its J not G!) 2019-04-29 20:30:53 -04:00
ladyada
fa3a52bc1e similar to pybadge, has pin defs for joystick - comes up with filesys and display so good enough to start hacking :) 2019-04-29 20:29:48 -04:00
wallarug
aa3c28787c removed problem libraries from frozen build. 2019-04-28 00:09:13 +10:00
wallarug
b4a70daf17 updated lots 2019-04-27 22:35:12 +10:00
wallarug
cd4aaa13a3 added robohatmm1 board defs. 2019-04-25 21:13:41 +10:00
ladyada
9b593cd154 update periph submodule 2019-04-23 18:20:13 -04:00
ladyada
a5697470e1 fix up pybadge for final release board (swap backlite and reset) 2019-04-23 16:43:20 -04:00
Scott Shawcroft
f548305c07
Merge pull request #1815 from dhalbert/stop-flicker
Turn off auto_brightness if brightness is set
2019-04-18 15:48:39 -07:00
Dan Halbert
0113e0970e add Display.__init__() args for brightness and auto_brightness 2019-04-18 15:59:16 -04:00
Scott Shawcroft
f7c7904e2b
Correct call structure for throwing errors 2019-04-17 13:54:29 -07:00
Carlos
71c4f100de
Update translations and use same error for PDM too 2019-04-17 11:28:43 -07:00
Carlos
5865b28592
[audiobusio-I2SOut] Fix translation error 2019-04-17 11:12:38 -07:00
Carlos
65cc366280
[audiobusio-I2SOut] Fix compilation error by using mp_raise_ValueError_varg 2019-04-17 11:12:38 -07:00
Carlos
9f63125345
Fix I2SOut message, fix #1765 2019-04-17 11:12:38 -07:00
Dan Halbert
6684a3c723
Merge pull request #1778 from pewpew-game/gamepad-shift
Add GamePadShift for handling shift-register-based buttons
2019-04-17 10:22:24 -04:00
Scott Shawcroft
2fa1bf4351
Merge remote-tracking branch 'adafruit/master' into gamepadshift 2019-04-16 11:23:41 -07:00
Scott Shawcroft
55782901d0
Actually call gamepadshift_tick 2019-04-16 11:15:42 -07:00
Scott Shawcroft
f58446e937
Merge branch 'master' into master 2019-04-16 10:32:38 -07:00
Scott Shawcroft
0e03a321e4
Fully split gamepadshift from gamepad 2019-04-16 10:11:54 -07:00
ITACA Innovation S.R.L
2d303213ed Add files via upload 2019-04-16 16:50:54 +02:00
ITACA Innovation S.R.L
4f5a7ffe46 Updates: VID&PID, pinout
Changed VID & PID to new ones.
Changed the layout accordingly to the prototype version.
2019-04-16 16:45:47 +02:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards. 2019-04-15 15:40:06 -07:00
Scott Shawcroft
22889ca29a
Merge pull request #1790 from pewpew-game/pybadge-stage
Enable _stage module and freeze stage library on the PyBadge
2019-04-15 14:25:50 -07:00
Radomir Dopieralski
ade6bd8185 Enable _stage module and freeze stage library on the PyBadge 2019-04-15 14:38:02 +02:00
siddacious
5135ee52d9 Changing to support for CP32-M4 wrover 2019-04-14 19:45:44 -07:00
Radomir Dopieralski
eeef5359f9 Merge branch 'master' into gamepad-shift 2019-04-13 11:54:25 +02:00
Dan Halbert
f8473f4a39
Merge pull request #1788 from tannewt/pinyin
Add Chinese (Pinyin) and slim down boards so it fits
2019-04-12 20:36:59 -04:00
Scott Shawcroft
defc6dceb0
Slim down feather m0 express 2019-04-12 16:18:08 -07:00
Scott Shawcroft
796fc3f5ab
Update font location and shrink a bunch of builds 2019-04-12 15:25:48 -07:00
Scott Shawcroft
c064deaaf5
Merge pull request #1785 from pewpew-game/ugame-displayio
Enable displayio for the ugame10 board
2019-04-12 13:26:51 -07:00
Scott Shawcroft
7161038d6b
Turn off displayio because it is a satellite 2019-04-12 11:54:32 -07:00
Radomir Dopieralski
0599286e32 Use never_reset in ugame10 2019-04-12 20:45:52 +02:00
Radomir Dopieralski
947662415c Disable gamepad for feather_m0_express_crickit 2019-04-12 20:43:29 +02:00
Max Holliday
41499ac315
No I2S on G19 2019-04-12 10:06:17 -07:00
Max Holliday
e85b6fb83c
adding kicksat-sprite board
See https://github.com/RoboticExplorationLab/sprite for details
2019-04-12 10:06:17 -07:00
Radomir Dopieralski
dabbded622 Got back to using Display object in the Stage library 2019-04-12 11:19:19 +02:00
Radomir Dopieralski
c3136f4f32 Enable displayio for uGame10 board
Also, make the _stage library work with the fourwire bus, to re-use the
display.
2019-04-12 01:10:57 +02:00
Radomir Dopieralski
5603d0cd38 Configure the TFT spi to 24MHz by default
That is (slightly) out of spec for the display, but it works reliably.
2019-04-11 15:47:26 +02:00
Scott Shawcroft
9f4f689879
Free up space in Itsy Bitsy M0 by limiting inline. 2019-04-10 14:09:14 -07:00
ladyada
894c1e9590 Rev D/E (beta) hardware! 2019-04-10 08:37:20 -04:00
Dan Halbert
203d795bd6
Merge pull request #1772 from tannewt/fix_gc_never_free
Check that a never free pointer is on the heap.
2019-04-10 08:26:37 -04:00
Scott Shawcroft
44e32506ed
Don't make Pins for those not connected on Itsy M0 2019-04-10 00:06:59 -07:00
Dan Halbert
c0c809ad4b Fix version skew for bast_pro_mini build 2019-04-09 22:52:53 -04:00
Scott Shawcroft
ac2fd2fa80
Merge pull request #1773 from dhalbert/no-recursive-background-tasks
Don't let a background task call run_background_tasks()
2019-04-09 18:39:28 -07:00
Dan Halbert
d8763debf5
shrink sparkfun_lumidrive build 2019-04-09 21:23:28 -04:00
Dan Halbert
fc9cb038c4
Merge pull request #1715 from ElectronicCats/master
Added Bast Pro Mini M0
2019-04-09 20:53:05 -04:00
Dan Halbert
d633928a16 Don't let a background task call run_background_tasks() 2019-04-09 20:23:01 -04:00
Scott Shawcroft
129e725599
Merge branch 'master' into master 2019-04-09 14:40:36 -07:00
Scott Shawcroft
0e98eeb63b
Turn off touchio on pIRkey and add back usb midi.
USB MIDI was still being compiled in mostly anyway. There is no
place to touch on the board so touchio is useless.
2019-04-09 12:36:14 -07:00
Scott Shawcroft
ef23ffe584
Turn off audiobusio on Hallowing to free rom
It is about 5kb and the pins aren't broken out for it anyway.
2019-04-09 12:01:00 -07:00
Scott Shawcroft
de48e4b262
Merge remote-tracking branch 'adafruit/master' into fix_cpx_display 2019-04-08 17:15:08 -07:00
Scott Shawcroft
0f003ac5b8
Reorganize board busses into shared-bindings and shared-module. 2019-04-08 16:58:50 -07:00
Radomir Dopieralski
8323721232 Stop hard-coding SPI frequency in FourWire
Instead remember and use the frequency, polarity and phase that was
set when the bus was first created.
2019-04-06 15:15:29 +02:00
Scott Shawcroft
7686f93ef4
Fix crash when getting board.SPI outside the VM
If one of the default pins was already in use it would crash.

The internal API has been refined to allow us to get the value
without causing an init of the singleton.

Fixes #1753
2019-04-05 19:06:37 -07:00
Melissa LeBlanc-Williams
36b10104d6 Adjusted inline limit to fix Hallowing PL build 2019-04-05 12:17:16 -07:00
Melissa LeBlanc-Williams
7872a33f8b Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1331 2019-04-05 11:10:02 -07:00
Dan Halbert
50d72ed993 shrink sparkfun_lumidrive to make room for large translations 2019-04-05 11:23:47 -04:00
Melissa LeBlanc-Williams
af3d809980 Updated boards files with displays 2019-04-04 23:18:15 -07:00
Dan Halbert
b5bc8b3fc2
Merge pull request #1745 from dhalbert/rotaryio-typo-eic-refactor
ROTARYIO_MODULE typo; EIC interrupt handler refactor
2019-04-04 23:53:46 -04:00
Dan Halbert
682e83a63c Turn off rotaryio on pewpew10 so de_DE will fit 2019-04-04 20:28:32 -04:00
Dan Halbert
29df5930dd #if EIC handlers; turn off rotaryio in pirkey for space reasons 2019-04-04 16:48:38 -04:00
Dan Halbert
2528b67e77 update samd-peripherals 2019-04-04 16:36:14 -04:00
Dan Halbert
cdd77b5972 remove CPy-specific EIC handlers from samd-peripherals 2019-04-04 16:04:11 -04:00
Scott Shawcroft
ceb6f2e4fc
Rework flash flush so it preserves the cache
This should make filesystem writes quicker and cause less heap
churn.
2019-04-03 18:28:27 -07:00
Sabas
19c6b8aa0c
Merge branch 'master' into master 2019-04-02 23:15:56 -06:00
Dan Halbert
709de9ce9f
Merge pull request #1732 from ladyada/master
add airlift lite - samd51j19 + 2MB QSPI
2019-04-02 17:11:59 -04:00
Dan Halbert
10e35f30f0 shrink inline-limit to allow large Hallowing translation to fit 2019-04-01 12:18:25 -04:00
ladyada
8159272a8b remove old comment 2019-03-31 23:17:19 -04:00
ladyada
89cf60eac3 add airlift lite - samd51j19 + 2MB QSPI 2019-03-31 19:20:15 -04:00
sabas1080
bb7bb80b4a update bast pro mini m0 2019-03-30 15:28:23 -06:00
Melissa LeBlanc-Williams
8087cb41e5 Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix 2019-03-27 20:18:37 -07:00
Dan Halbert
f118aef283 copy/paste error 2019-03-27 18:19:39 -04:00
Dan Halbert
88068876ed turn off frequencyio for all SAMD21 builds 2019-03-27 17:54:36 -04:00
Dan Halbert
df79e9a732
Merge pull request #1687 from jrcutler/master
Enable nvm storage for all samd21x18 boards
2019-03-27 11:10:22 -04:00
Melissa LeBlanc-Williams
f4cede4747 Removed parameter so CS is always toggled 2019-03-26 18:46:13 -07:00
Melissa LeBlanc-Williams
b2ad16f5c8 Removed parameter so CS is always toggled 2019-03-26 18:34:07 -07:00
Melissa LeBlanc-Williams
5f0e71ccb4 Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix 2019-03-26 18:23:02 -07:00
Melissa LeBlanc-Williams
0df40534f3 Merge branch 'master' of https://github.com/adafruit/circuitpython 2019-03-26 18:22:30 -07:00
Scott Shawcroft
2c93ce5a28
Merge pull request #1672 from dhalbert/regular-fs-flush
flush flash filesystem once a second
2019-03-26 13:47:43 -07:00
ITACA Innovation S.R.L
74c5705a9a
Update mpconfigboard.mk 2019-03-25 17:19:40 +01:00
ITACA Innovation S.R.L
994f292b3b
Rename ports/atmel-samd/boards/uChip/pins.c to ports/atmel-samd/boards/uchip/pins.c 2019-03-25 15:59:22 +01:00
ITACA Innovation S.R.L
5ed11ddfc3
Rename ports/atmel-samd/boards/uChip/mpconfigboard.mk to ports/atmel-samd/boards/uchip/mpconfigboard.mk 2019-03-25 15:59:00 +01:00
ITACA Innovation S.R.L
dfc5602fa0
Rename ports/atmel-samd/boards/uChip/mpconfigboard.h to ports/atmel-samd/boards/uchip/mpconfigboard.h 2019-03-25 15:58:37 +01:00
ITACA Innovation S.R.L
af04307c83
Rename ports/atmel-samd/boards/uChip/board.c to ports/atmel-samd/boards/uchip/board.c 2019-03-25 15:57:35 +01:00
ITACA Innovation S.R.L
4886451000
Add files via upload
This is a pull request to add support for uChip into the Circuitpython environment.

We tested the uploaded code and it seems to work with Circuitpython.
If there are any suggestions or changes needed, please let us know!


What is uChip in brief?
A complete USB dev board the size of a narrow 16-DIP package, featuring Atmel SAMD21 Cortex M0+ and onboard switching converters. (OTG compliant and power delivery up to 1A@5V or 3V3).
For more details refer to the ongoing campaign on kickstarter.
www.kickstarter.com/projects/1186620431/uchip-arduino-zero-compatible-in-a-narrow-dip-16-p
2019-03-25 13:06:31 +01:00
Melissa LeBlanc-Williams
c3329e224d Added Single Byte Boundaries option for certain displays 2019-03-24 23:59:28 -07:00
Justin R. Cutler
41f4f269f1 Disable frequencyio support for samd21-based catwan_usbstick target. 2019-03-24 14:22:23 -04:00
Justin R. Cutler
d6c7bda6d1 Enable 256b of nvm storage for all samd21x18-bootloader.ld boards. 2019-03-24 12:02:07 -04:00
Melissa LeBlanc-Williams
0c33f7fdb4 Enable CS toggle for displayio by default 2019-03-23 20:23:23 -07:00
Melissa LeBlanc-Williams
d2a0ec28a0 Fixed display init on boards with displays 2019-03-23 19:32:15 -07:00
Dan Halbert
eca23a7279 remove i2cslave from feather m0 crickit 2019-03-20 15:38:52 -04:00
Dan Halbert
fbf166af1a enable MICROPY_CPYTHON_COMPAT for most builds except CIRCUITPY_SMALL_BUILD; remove a few other things to make fit 2019-03-20 14:36:24 -04:00
Dan Halbert
2459eabd66 flush flash filesystem once a second 2019-03-20 12:21:36 -04:00
Radomir Dopieralski
a50ee4f650 Add frozen stage module to ugame10 board
And also ignore some more pins.

This is needed for the builds on the circuitpython.org to be functional.
2019-03-17 14:03:50 +01:00
Scott Shawcroft
ff7e729032
Fix custom pin in use logic for SWD
This should allow you to use SWD pins unless a debugger is attached.
You may have trouble connecting to SWD when CircuitPython has already
begun using them.

Fixes #1633
2019-03-14 11:11:35 -07:00
Scott Shawcroft
e05ab64398
Squeeze down the feather crickit build 2019-03-13 17:20:18 -07:00
Dan Halbert
494a9d3825
Merge pull request #1640 from tannewt/final_displayio_changes
Final displayio changes before 4.0.0
2019-03-13 18:24:04 -04:00
Dan Halbert
97140e6a62 wrong arg type for PWMOut variable_frequency 2019-03-12 21:28:30 -04:00
Scott Shawcroft
96a924f5f0
Turn off networking on M0s.
It takes 10k of code space and isn't very useful because of the
M0's limited RAM. Disabling it allows us to add other things.
2019-03-12 17:18:30 -07:00
Scott Shawcroft
2e500a8a29
Copy inline setting on feather m0 express that the metro has. 2019-03-12 14:06:01 -07:00
Scott Shawcroft
b1c572e82e
Fixup the pybadge definition so the screen works. 2019-03-12 11:18:29 -07:00
Scott Shawcroft
37e10d4a81
Be more careful when initing the board outside the VM. 2019-03-12 11:18:29 -07:00
John Reese
ef4a74e201
Add basic Pybadge board definition
Currently boots on board and can connect to REPL,
but does not appear as mountable drive in OS.
Starting REPL gives the following error message:

```
You are running in safe mode which means something unanticipated happened.
Looks like our core CircuitPython code crashed hard. Whoops!
Please file an issue at https://github.com/adafruit/circuitpython/issues
 with the contents of your CIRCUITPY drive and this message:
Crash into the HardFault_Handler.
```
2019-03-12 11:12:35 -07:00
Scott Shawcroft
8f57606513
Merge pull request #1635 from caternuson/iss1634_SPEAKER
add SPEAKER pin alias for PyPortal
2019-03-11 19:16:01 -07:00
caternuson
46fc8a8a86 change order so SPEAKER is first 2019-03-11 17:45:27 -07:00
caternuson
53b7055283 add SPEAKER pin alias for PyPortal 2019-03-11 15:12:29 -07:00
Radomir Dopieralski
caf51cf4eb Add default devices and tweak brightness in boards/pewpew10 2019-03-11 19:09:21 +01:00
Dan Halbert
26ed411936 Shrink build so de_DE fits 2019-03-07 07:47:18 -05:00
sommersoft
b7b74d1f78 update translations 2019-03-02 18:17:58 -06:00
sommersoft
b2520f3147 using the correct name for things is important... 2019-03-02 16:17:23 -06:00
sommersoft
c9eb02d9d2 shore-up inclusion 2019-03-02 10:05:32 -06:00
sommersoft
2cd6a79016 better handle frequencyio inclusion 2019-03-01 22:46:57 -06:00
sommersoft
438eadd63a re-add frequencyin to 'timer_handler' after upstream merge 2019-03-01 21:47:23 -06:00
sommersoft
a44bfc2730 Merge branch 'master' of https://github.com/adafruit/circuitpython into new_freq_in 2019-03-01 21:24:30 -06:00
Dan Halbert
17bf2afa41
Merge pull request #1607 from pewpew-game/pewpew10.x-4.x
Add support for PewPew 10.x boards
2019-03-01 14:07:32 -05:00
Radomir Dopieralski
263134dcd3 Add more guards for CIRCUITPYTHON_PEW 2019-03-01 18:50:00 +01:00
Dan Halbert
7535326d38
Merge pull request #1605 from dhalbert/pwmout-tcc-lock-ccb
Use TCC LUPD lock when updating CCB
2019-03-01 12:03:38 -05:00
Radomir Dopieralski
2bfafd1fc9 Enable math for pewpew10 2019-03-01 16:55:54 +01:00
Radomir Dopieralski
5d85d54026 Move the frozen pew.py into a submodule 2019-03-01 16:24:22 +01:00
Radomir Dopieralski
89b2788d11 Apply review fixes:
* fix formatting
* fix copyrights
* fix CIRCUITPYTHON_GAMEPAD guards
* add CIRCUITPYTHON_PEW guards to reset
* fix module list order
2019-03-01 16:05:15 +01:00
Radomir Dopieralski
3826ca4194 Rename internal pins to add underscore in front 2019-03-01 15:10:43 +01:00
Radomir Dopieralski
f5f4932220 Clean unused include from tick.c 2019-03-01 15:09:00 +01:00
Radomir Dopieralski
18870255ea Remove the pewpew70 board definition, leave only pewpew10 2019-03-01 15:06:24 +01:00
Dan Halbert
fb027f2024 Update PyPortal pins to rev C 2019-03-01 09:06:03 -05:00
Radomir Dopieralski
45fea86554 Rebase on top of CircuitPython 4.x 2019-03-01 14:59:21 +01:00
Dan Halbert
3c24e893e9 Fix SYNCBUSY loop typo. 2019-02-28 23:38:26 -05:00
Dan Halbert
808304e827 Use TCC LUPD lock when updating CCB 2019-02-28 19:53:35 -05:00
Radomir Dopieralski
59f63eaef6 Handle new buttons 2019-02-28 23:34:03 +01:00
Radomir Dopieralski
0a5c1c9402 Some cleanup 2019-02-28 23:34:03 +01:00
Radomir Dopieralski
55b511a5d8 Use a dedicated timer 2019-02-28 23:33:37 +01:00
Radomir Dopieralski
88e40193ae Add a _pew module 2019-02-28 23:32:58 +01:00
Radomir Dopieralski
7ac11ed8e1 Enlarge the usb disk 2019-02-28 23:25:18 +01:00
Radomir Dopieralski
5a1e69f5b8 Correct a typo in the pin name 2019-02-28 23:23:26 +01:00
Radomir Dopieralski
a41ea27596 Add pewpew70 board 2019-02-28 23:23:26 +01:00
sommersoft
4d47ce5c60 fixes set_timer_handler call 2019-02-27 19:28:59 -06:00
sommersoft
9d20380bd4 Merge branch 'master' into new_freq_in 2019-02-26 04:29:16 +00:00
sommersoft
4a9f05a44f final re-glue; compiles now. 2019-02-25 21:22:52 -06:00
sommersoft
a8204f1bf9 touchup adding frequencyin interrupt handling 2019-02-24 18:07:55 -06:00
sommersoft
f602fa3d9f fix init deps 2019-02-24 18:07:26 -06:00
Bryan Siepert
3afcd3f5bc another/different size tweak for the DE hallowing build 2019-02-23 20:18:22 -08:00
Bryan Siepert
2cb31ea546 Merge branch 'master' into bmp_bitdepths 2019-02-23 20:16:57 -08:00
Bryan Siepert
3843e96edc Tweaking German hallowing build for size 2019-02-23 19:47:58 -08:00
ladyada
85421f9766 final pin names, tested with final release 2019-02-23 15:40:28 -05:00
sommersoft
2437ab9605 update frequencyin interrupt handler 2019-02-22 17:19:09 -06:00
sommersoft
a1060747f8 Merge branch 'new_master' into new_freq_in 2019-02-22 23:12:11 +00:00
Scott Shawcroft
af863a3780
Merge pull request #1586 from sommersoft/shared_timer_handler
Move shared_timer_handler
2019-02-22 11:04:27 -08:00
sommersoft
a3f387274f fix build issues 2019-02-21 20:46:42 -06:00
sommersoft
7a7f6638d2 update peripherals submodule 2019-02-21 18:44:51 -06:00
Kattni
f3e50b9df2
Merge pull request #1581 from dhalbert/ble-drv-root-pointer
Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list
2019-02-21 12:28:41 -05:00
Dan Halbert
99da3b9646 Use critical section, not lock, in CharacteristicBuffer; use a root pointer for ble_drv list 2019-02-21 00:19:31 -05:00
sommersoft
55e7c5a41b handle 'set_timer_handler' on this side, vs samd-periphs. 2019-02-19 20:18:21 -06:00
Dan Halbert
0dc2600587
Merge pull request #1552 from tannewt/onsdbitmap
Fix displaying images off of SD cards.
2019-02-19 19:28:53 -05:00
Scott Shawcroft
3e24b9668e
Merge pull request #1573 from dhalbert/reset-analogout
Fix #ifdefs in port.c to call xxx_reset() routines properly. Remove most uses of EXPRESS_BOARD.
2019-02-19 16:14:33 -08:00
Scott Shawcroft
53fa65e318
Speed up pyportal by writing memory on the same access as our rotation. 2019-02-19 14:51:39 -08:00
Dan Halbert
4e75aaecd0
Merge pull request #1569 from TG-Techie/patch-7
PYPORTAL:make it easier for people to hookup in spi mode
2019-02-19 14:12:30 -05:00
Dan Halbert
9c24c804fb Fix #ifdefs in port.c to call xxx_reset() rroutines properly. Remove most uses of EXPRESS_BOARD. 2019-02-18 22:44:31 -05:00
TG-Techie
d453b605d3
make it easier for people to hookup in spi mode without looking inspecting schematic 2019-02-18 15:00:14 -05:00
Dan Halbert
339a22752b Remove rtc from pirkey_m0 to make TRANSLATION=fr fit 2019-02-18 09:02:26 -05:00
Dan Halbert
97aeb1953b correct weak module links; samd module only in m4 ports; update libraries 2019-02-17 23:48:08 -05:00
sommersoft
dafc370d22 moves 'shared_timer_handler' back to atmel-samd from samd-peripherals 2019-02-16 19:54:16 -06:00
sommersoft
ea9200a042 starting again; initial addition of 'frequencyio.FrequencyIn' 2019-02-16 19:26:24 -06:00
Dan Halbert
7b3f7605b8 address @tannewt changes: move and rename common files; remove PORT_HEAP_SIZE 2019-02-15 20:32:32 -05:00
Dan Halbert
a345ef28f2 finish Makefile refactoring; nrf builds work 2019-02-15 18:55:10 -05:00
Dan Halbert
cf545cd477 WIP: fix issues with remaining atmel-samd builds 2019-02-15 09:52:45 -05:00
Dan Halbert
5154e0581e WIP: atmel-samd trinket build works 2019-02-15 00:28:20 -05:00
Dan Halbert
f99b9ddcf1
Merge pull request #1546 from tannewt/fix_safe_mode
A safe mode fix and displayio fixes
2019-02-13 21:15:14 -05:00
Scott Shawcroft
d6cbd5be92
Merge pull request #1540 from TG-Techie/patch-6
PYPORTAL: pindefs incorrect
2019-02-13 17:21:22 -08:00
Scott Shawcroft
473bdf48f6
A safe mode fix and displayio fixes
* Fixes safe mode on the SAMD51. The "preserved" value was being
clobbered by the bootloader.
* Fixes auto-reload loop when in safe mode.
* Fixes reading Group children with [].
* Check that a TileGrid actually moves before queueing a refresh.
2019-02-13 15:31:06 -08:00
Dan Halbert
da5008f4d8 Fix atmel UART after ASF4 pruning. 2019-02-13 11:42:09 -05:00
TG-Techie
e901317fd7
PYPORTAL: pindefs incorrect
@jerryneedell  suggested the pins could be wrong when I told him I was getting reading that didn't change, having corrected the pinout to match the schematic I was given it now works! 

used:
```
ts = adafruit_touchscreen.Touchscreen(board.TOUCH_XL, board.TOUCH_XR,
                                      board.TOUCH_YD, board.TOUCH_YU,
                                      calibration=((5200, 59000), (5800, 57000)),
                                      size=(320, 240))

while True:
    p = ts.touch_point
    if p:
        time.sleep(.5)
        print(p)
```
2019-02-12 22:18:36 -05:00
Scott Shawcroft
70f40a03cb
Rotate pyportal screen to be correct 2019-02-12 13:53:27 -08:00
Scott Shawcroft
b4306314aa
Move terminal font to terminalio from board. 2019-02-12 10:10:02 -08:00
Scott Shawcroft
c17f147be9
A variety of displayio improvements
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
  a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Scott Shawcroft
1a6ad20943
Get space back by using less ASF4 and combining register writes 2019-02-11 17:36:34 -08:00
Max Holliday
2e48739a4e standardizing on "BATTERY" pin; and load-leveling Travis 2019-02-06 10:50:57 -08:00
Max Holliday
4c1b85cdcd elaborating on include path for board_busses 2019-02-05 20:21:54 -08:00
Max Holliday
30fcb14017 correcting VID/PID and adding sam32 to travis 2019-02-05 19:20:43 -08:00
Max Holliday
a2936c4c20 adding SAM32 board
SAMD51 running circuitpython talking to an ESP32 running micropython.
Full board details at: https://github.com/maholli/SAM32
2019-02-05 17:22:34 -08:00
Scott Shawcroft
844c20106b
Turn off micropython.mem_info on SAMD to get ~1k back 2019-02-04 18:00:18 -08:00
Scott Shawcroft
90e5964703
Set auto brightness on by default for boards with displays built in. 2019-02-03 13:42:03 -08:00
Scott Shawcroft
03068a9388
Fix built-in inits and terminal allocate 2019-02-01 01:00:10 -08:00
Scott Shawcroft
ec03887040
Fix hallowing and nrf builds 2019-01-31 11:42:15 -08:00
Scott Shawcroft
601a910f4e
More improvements to Terminal:
* Fix Hallowing.
* Fix builds without displayio.
* Fix y bounds that appears as untrollable row of pixels.
* Add scrolling to TileGrid.
* Remove Sprite to save space. TileGrid is a drop in replacement.
2019-01-31 11:42:14 -08:00
Scott Shawcroft
69bc5e189b
Rudamentary backlight support 2019-01-31 11:42:14 -08:00
Scott Shawcroft
1a1dbef992
Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
Scott Shawcroft
fb0970ec6e
Add terminalio 2019-01-31 11:42:13 -08:00
Scott Shawcroft
73cf490635
Add TileGrid 2019-01-31 11:42:13 -08:00
Scott Shawcroft
39240516f3
Correct pin capitalization 2019-01-31 09:11:30 -08:00
Scott Shawcroft
3225878f63
for redboard turbo too 2019-01-30 22:55:36 -08:00
Scott Shawcroft
fe2a092f1c
Fix board_bus location 2019-01-30 22:54:26 -08:00
Elias Santistevan
b124071e10 Removes a lot of left over comments, adds lumidrive and redboard turbo to travis.yml 2019-01-30 16:13:08 -07:00
Elias Santistevan
178cfc1623 Adds make config files for SparkFun LumiDrive and Redboard Turbo 2019-01-30 13:50:29 -07:00
Scott Shawcroft
07b96fa15d
Merge pull request #1495 from TG-Techie/patch-3
fixed compiling error for datalore ip m4
2019-01-27 14:07:16 -08:00
Scott Shawcroft
de2861969b
Merge pull request #1494 from TG-Techie/patch-2
add displayio to TG-Techie's first board
2019-01-27 14:06:47 -08:00
ShawnHymel
dd5165c92c Added support for SparkFun SAMD21 Dev 2019-01-25 12:27:31 -06:00
TG-Techie
468faf4e2b
fixed compiling error 2019-01-25 12:42:43 -05:00
ShawnHymel
65dc8d0c74 Updated .travis.yml and samd README with SparkFun SAMD21 Dev pinout 2019-01-25 11:08:19 -06:00
TG-Techie
e9538dbc7f
add displayio to TG-Techie's first board 2019-01-25 12:06:05 -05:00
ShawnHymel
d79615f96b Revert "Updated samd readme with SparkFun SAMD21 Dev pinout"
This reverts commit d10fa4a8cb.
2019-01-25 11:02:22 -06:00
ShawnHymel
d10fa4a8cb Updated samd readme with SparkFun SAMD21 Dev pinout 2019-01-25 10:14:53 -06:00
Scott Shawcroft
aaa644b223
Skip displayio on crickit builds and cpx build due to lack of space. 2019-01-22 18:49:37 -08:00
Scott Shawcroft
0cdbc004e6
Enable displayio on all Express boards. 2019-01-22 17:59:31 -08:00
Scott Shawcroft
f43379c771
No pixelbuf on Hallowing 2019-01-22 14:38:34 -08:00
Scott Shawcroft
a380865655
Merge remote-tracking branch 'adafruit/master' into HEAD 2019-01-22 14:02:07 -08:00
Roy Hooper
50af08a6f3 Merge branch 'master' into pixelbuf 2019-01-19 16:33:59 -05:00
Scott Shawcroft
edc8383e22
Improvements thanks to danh's review 2019-01-18 16:37:06 -08:00
Scott Shawcroft
ae52c964c2
Cleanup display rework for PR.
Fixes #1465. Fixes #1337. Fixes #1168
2019-01-18 13:47:40 -08:00
Scott Shawcroft
41dad1ea1e
Fix pin defs 2019-01-18 11:43:35 -08:00
Scott Shawcroft
96e2c717fc
Fix build 2019-01-17 22:10:11 -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
Scott Shawcroft
2d136d58bf
Fix other builds and hallowing 2019-01-17 14:45:29 -08:00
Scott Shawcroft
5277138c99
pyportal compiles and tweak blinka colors 2019-01-17 10:57:05 -08:00
Scott Shawcroft
84292ad890
External fourwire works and blinka splash after 2019-01-17 00:20:16 -08:00
Scott Shawcroft
05d8885a1a
Rework displays in prep for dynamic support and 8bit parallel. 2019-01-16 12:05:20 -08:00
ladyada
19b6c5c802 more pins! 2019-01-16 01:49:12 -05:00
Scott Shawcroft
c1dfee6575
Merge pull request #1466 from TG-Techie/patch-1
Update DLIPM4 mpconfigboard.mk
2019-01-15 18:40:46 -08:00
Scott Shawcroft
a14762a16c
Add support for rendering a shape.
Fixes #1171
2019-01-14 17:29:15 -08:00
TG-Techie
f667d4d887
Update mpconfigboard.mk
oops, forgot to change those when i copied the folder
2019-01-14 14:43:34 -05:00
Roy Hooper
ffe734edf7 Fresh combined checkin of _pixelbuf library. 2019-01-13 23:51:13 -05:00
TG-Techie
ef6c9e7df6 removed commented code 2019-01-12 23:19:40 -05:00
TG-Techie
309a02efa1 added datalore ip m4 to boards 2019-01-12 23:06:12 -05:00
Dan Halbert
5f9980fb6b support winbond 8MB chips on all boards that might use them 2019-01-12 13:24:35 -05:00
Dan Halbert
6eecf96710 Use correct SERCOM for SDA/SCL on Grand Central 2019-01-11 19:06:46 -05:00
Scott Shawcroft
62a8cc2825
Merge pull request #1453 from tannewt/text_on_pyportal
Enable the display on pyportal
2019-01-11 10:33:16 -08:00
Scott Shawcroft
b2cec6275c
Fix screen rotation and reset pin 2019-01-11 00:10:41 -08:00
Dan Halbert
50ee5ef24c merge translations; add bleio comments; fix minor sphinx issues in midi 2019-01-10 21:12:17 -05:00
Scott Shawcroft
19db886645
Support the display on the pyportal.
Also fix #1390, reload during sleep broken.
2019-01-10 17:29:34 -08:00
Dan Halbert
516d7da641
Merge pull request #1449 from tannewt/midi
Add USB MIDI support for SAMD and nRF.
2019-01-10 19:49:33 -05:00
Shawn Hymel
bbf77a7efb
Merge branch 'master' into master 2019-01-10 12:50:05 -06:00
ShawnHymel
5c15a19c32 Added SparkFun SAMD21 Mini port 2019-01-09 16:12:43 -06:00
Scott Shawcroft
b5e40f52c2
Add USB MIDI support for SAMD and nRF.
The API should be identical to using a UART for MIDI.

Fixes #672
2019-01-09 14:02:11 -08:00
Dan Halbert
0599fbf7d8 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2019-01-08 16:40:12 -05:00
ShawnHymel
a00420bafd Added pinout for SparkFun SAMD21 Mini Breakout on README. 2019-01-07 17:26:38 -06:00
Scott Shawcroft
d3aeca104e
Initial pass at pyportal board define. 2019-01-07 14:56:54 -08:00
ShawnHymel
180c7b4b79 Trying iframe in rst again^3. 2019-01-07 16:35:47 -06:00
ShawnHymel
4d3ae04e2b Trying iframe in rst again again. 2019-01-07 16:31:52 -06:00
ShawnHymel
04b9a789ff Trying iframe in rst again. 2019-01-07 16:28:14 -06:00
ShawnHymel
2df3e7b0fc Updated README with embedded spreadsheet 2019-01-07 16:25:34 -06:00
Dan Halbert
4167bf5b24 wip: advertising works, but not connection 2018-12-27 00:04:04 -05:00
Limor "Ladyada" Fried
a9f0b31a15
Update README.rst
https://github.com/adafruit/circuitpython/issues/1410
2018-12-19 13:25:18 -05:00
Scott Shawcroft
69bb4ae670
Merge pull request #1397 from ShawnHymel/master
Added board support for Arduino MKR Zero
2018-12-11 13:09:27 -08:00
Scott Shawcroft
29f9794dcf
Curly brace change to make it more consistent
And to queue Travis
2018-12-11 11:57:52 -08:00
ShawnHymel
f8ded46ad6 Merged field in pin table in README. 2018-12-08 17:42:42 -06:00
ShawnHymel
4c81d9a9ac Added SD_CD pin definition 2018-12-08 17:40:46 -06:00
Scott Shawcroft
801d9a5abc
Fix running the USB task on nRF.
It wasn't being run due to a rework done only on the atmel-samd port.
The rework itself isn't needed now that the heap check triggers safe
mode instead of throwing a Python exception. So, I've removed the
rework.
2018-12-07 16:11:21 -08: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
Scott Shawcroft
7ad2e6ace3
Add stack validity check and raise an error when it happens.
The backtrace cannot be given because it relies on the validity
of the qstr data structures on the heap which may have been
corrupted.

In fact, it still can crash hard when the bytecode itself is
overwritten. To fix, we'd need a way to skip gathering the
backtrace completely.

This also increases the default stack size on M4s so it can
accomodate the stack needed by ASF4s nvm API.
2018-12-04 23:26:04 -08:00
Scott Shawcroft
f59c3bd726
Add flag comment 2018-12-04 18:22:23 -08:00
Scott Shawcroft
3f5d917b39
Update submodules to merge commits 2018-12-04 18:20:51 -08:00
Scott Shawcroft
15c1fc873c
Add particle boards, fix cp32 and try to speed up atmel build 2018-12-04 18:20:48 -08: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
Dan Halbert
7f6da78be3
Merge pull request #1344 from bwshockley/master
Add Mini SAM M4 board.
2018-12-03 17:37:23 -05:00
Dan Halbert
80db2cec99 UART changes: timeout in secs, write bytes, etc. 2018-12-03 12:04:32 -05:00
ShawnHymel
3d597aae92 Added MKR Zero board definition. 2018-12-02 18:07:19 -06:00
Scott Shawcroft
9aebe2f1ef
Merge branch 'master' into master 2018-11-30 20:49:55 -08:00
Scott Shawcroft
c55183f71a
Merge remote-tracking branch 'adafruit/master' into gc_rev_b 2018-11-30 15:09:15 -08:00
Scott Shawcroft
48928d4b25
Auto build and a couple pin fixes 2018-11-30 15:08:06 -08:00
Scott Shawcroft
77760090e2
Fix up spi flash define 2018-11-30 14:55:06 -08:00
Scott Shawcroft
95e0309263
Merge remote-tracking branch 'adafruit/master' into mini_sam 2018-11-30 14:40:01 -08:00
Scott Shawcroft
c47c495aca
Merge pull request #1329 from notro/oserror_errno
Support OSError subclasses and attributes
2018-11-27 22:35:54 -08:00
Scott Shawcroft
913b513929
Merge pull request #1357 from ElectronicCats/add-electroniccats-catwan-usbstick
Added board Electronic Cats CatWAN USB Stick
2018-11-27 11:58:26 -08:00
Scott Shawcroft
60480ff4ed
Merge pull request #1351 from jepler/issue1307-ujson
json: enable on nrf boards and "large flash" M4 samd boards
2018-11-27 11:29:29 -08:00
sabas1080
1da2425612 Add Electronic Cats CatWAN USB Stick 2018-11-26 14:39:58 -06:00
Scott Shawcroft
324301e3bc
Update tinyusb to include control fixes. 2018-11-23 13:28:10 -08:00
Jeff Epler
78972cc879 ports/atmel-samd: enable json module on M4 boards with lots of flash 2018-11-22 10:35:44 -06:00
Benjamin Shockley
69eb2efced
Update devices.h 2018-11-20 13:21:43 -06:00
Scott Shawcroft
7d1a62e4ba
Update for Grand Central Rev B 2018-11-20 10:54:13 -08:00
Benjamin Shockley
c344d48840
Update devices.h 2018-11-20 12:44:12 -06:00
Benjamin Shockley
acb9bd7618 Cleanup for Mini SAM M4 Only
Remvoed older files and cleaned up repository to reflect changes for Mini SAM M4.
2018-11-16 09:46:08 -06:00
Dan Halbert
11de8fdca7 merge 3.x swap of /lib and .frozen; update frozen libs 2018-11-15 15:00:23 -05:00
Scott Shawcroft
87ddd64481
Factor out fake partition 2018-11-14 17:59:11 -08:00
Noralf Trønnes
704d0c606b samd51: Support more uerrno errno values
Use the default MICROPY_PY_UERRNO_LIST to give libraries access to all the errno values.
2018-11-13 22:07:05 +01:00
Dan Halbert
f190bb2c26
Merge pull request #1332 from tannewt/clear_trellis_neopixels
Clear Trellis NeoPixels on board reset.
2018-11-13 15:03:25 -05:00
Scott Shawcroft
4ae4cc11e0
Clear Trellis NeoPixels on board reset.
This makes it easier to change code in cases where the pixels may
cause a brownout.
2018-11-13 11:27:18 -08:00
Scott Shawcroft
a3a690dc01
Add pragma to ensure neopixel_write is always -Os 2018-11-13 10:56:00 -08:00
Scott Shawcroft
ed9db80760
Switch SAMD51 back to -Os
It messes up neopixel timing otherwise.

Fixes #1326
2018-11-13 10:43:18 -08:00
Scott Shawcroft
355abc835e
Fix output overflow and make help translatable 2018-11-09 16:41:08 -08:00
Scott Shawcroft
43f7ca7985
Incorporate feedback:
* Clean up board defines.
* Add flush on eject and stay ejected.
* Swith back to NONE protocol for CDC.
2018-11-09 11:33:56 -08:00
Scott Shawcroft
688f0e388b
Update MKR1300 board definition too 2018-11-09 00:49:02 -08:00
Scott Shawcroft
be6b49c712
Add back internal flash header and slim it down. 2018-11-09 00:27:18 -08: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
Scott Shawcroft
6aca9762c9
Merge pull request #1313 from siddacious/master
adding support for the CP32-M4
2018-11-04 11:26:14 -08:00
Dan Halbert
a15ed0b912 Fix Trellis M4 DotStar pin assignments. 2018-11-04 00:07:42 -04:00
ATMakersBill
bd4188a092 adding changes to mpconfigboard.mk to reduce memory usage on CPX per @danh 2018-11-03 14:42:27 -04:00
ATMakersBill
4f2f571536 Adding the serial_bytes_available() method to the 3.x branch 2018-11-03 14:01:30 -04:00
Dan Halbert
4dfba2f8ac put .frozen before /lib in sys.path; update frozen libraries 2018-11-01 19:57:10 -04:00
Bryan Siepert
844b674a1e adding support for the CP32-M4 2018-11-01 09:42:48 -07:00
Bryan Siepert
dc82fd556b Updating devices.h to add new devices, fix a typo and address #1239 2018-10-31 01:54:09 -07:00
Dan Halbert
bd79c0c0de
Merge pull request #1295 from ElectronicCats/mkr1300
Add board MKR1300 by Arduino
2018-10-26 20:15:20 -04:00
Benjamin Shockley
aec39fd027 Updated to new D21G18 MCU
Updated MIni SAM M0 to new D21G18A MCU to match layout/design of M4
2018-10-26 12:09:59 -05:00
Nick Moore
bbf8334166 Fix build without network code 2018-10-25 13:14:27 +11:00
Nick Moore
f6482699a0 Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-25 12:20:50 +11:00
Scott Shawcroft
dc9d338612
Merge pull request #1167 from notro/cpython_stdlib
Support CPython standard library
2018-10-24 12:57:41 -07:00
Noralf Trønnes
d882ff6328 samd51: Set stack size to 8k
This is necessary in order to run unittest.
Heavy tests like those in the stdlib need 12-14k.
2018-10-24 19:33:01 +02:00
Noralf Trønnes
1b86e5fc83 samd51: Enable functionality to support CPython stdlib
This enables various things in order to support the CPython standard library.

MICROPY_PY_BUILTINS_NOTIMPLEMENTED:
Support NotImplemented for easy conversion of stdlib.
It doesn't do fallbacks though, only raises TypeError.

MICROPY_PY_COLLECTIONS_ORDEREDDICT:
collections.OrderedDict

MICROPY_PY_FUNCTION_ATTRS:
Support function.__name__ for use as key in the function attribute workaround.

MICROPY_PY_IO:
uio module: BytesIO, FileIO, StringIO, TextIOWrapper
Also add 'io' alias.

MICROPY_PY_REVERSE_SPECIAL_METHODS:
Support the __r*__ special methods.

MICROPY_PY_SYS_EXC_INFO:
sys.exc_info() used by unittest when collecting exceptions.

MICROPY_CPYTHON_COMPAT:
Some of the things it adds:

>>> object.__init__
<function>
>>> object.__new__
<function>
>>> object.__class__
<class 'type'>
>>> object().__class__
<class 'object'>
>>> object.__name__
'object'

>>> 'Hello'.encode()
b'Hello'
>>> b'Hello'.decode()
'Hello'

Named tuple field names from string:
namedtuple('Point', 'x y')
2018-10-24 19:33:01 +02:00
Noralf Trønnes
cec9a69a15 samd51: Make errno, os, and time module aliases
Add alias for uerrno so the user doesn't have to know about the
CircuitPython special names for the module.

Make os and time weak modules (aliases) making it possible to add
functionality to those modules written in python.

Example:
'import os' will now look in the path for an os module and if not found
it will import the builtin module. An os module written in python will
import the builtin module through its name prefixed with an underscore
(_os) following the C module naming practice in CPython.

Also right align the macro values to increase readability making it
easier to compare the values for samd21 and samd51. Even the longest
macro from py/mpconfig.h will fit with this alignment.
2018-10-24 19:31:53 +02:00
sabas1080
f0d7073a12 Add Arduino MKR1300 2018-10-22 19:38:24 -05:00
Benjamin Shockley
5d190a5615
Update mpconfigboard.h
Corrected NVM size.
2018-10-19 21:18:19 -05:00
Benjamin Shockley
548e6893cd
Create pins.c 2018-10-19 21:16:21 -05:00
Benjamin Shockley
88fd5d7daa
Create mpconfigboard.mk 2018-10-19 21:15:50 -05:00
Benjamin Shockley
1593f4e3a8
Create mpconfigboard.h 2018-10-19 21:14:46 -05:00
Benjamin Shockley
6d974593c7
Create board.c 2018-10-19 20:52:23 -05:00
Scott Shawcroft
b436666e85
Merge pull request #1272 from sajattack/battery
add pin def for BAT
2018-10-17 12:15:38 -07:00
Dan Halbert
298756eef8
Merge pull request #1280 from tannewt/precondition_dac
Ramp values to and from a default value while active.
2018-10-17 15:00:11 -04:00
Scott Shawcroft
4eb1fe18e5
Tweaks from feedback:
* default_value is now quiescent_value
* Use step = -step format for sign switch
* Add note about analogout_reset being empty
2018-10-17 11:31:08 -07:00
Scott Shawcroft
c209165d43
Ramp values to and from a default value while active.
This reduces the popping sound on initial playback of an audio
sample.

The M4 DAC has a pop on startup that cannot be prevented. It also
does not allow readback so current values of the DAC are ignored.

Fixes #1090
2018-10-16 16:23:29 -07:00
Paul Sajna
089e2cc099 remove BATTERY from itsybitsy 2018-10-16 14:55:21 -07:00
Nick Moore
a15f3361aa add mechanism for timer ticks in NICs 2018-10-16 23:09:25 +11:00
sabas1080
c103a05579 Add board Meow Meow by Electronic Cats
https://github.com/ElectronicCats/MeowMeow
2018-10-15 19:17:04 -05:00
Paul Sajna
1447df3fa6 change BAT to BATTERY 2018-10-14 23:34:49 -07:00
Paul Sajna
f1028b5f96 add pin def for BAT 2018-10-13 15:53:22 -07:00
Nick Moore
aab28748bb Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-11 14:19:10 +11:00
Nick Moore
8d75c3d339 Changed to only build wiznet for {feather|metro}_m[04]_express 2018-10-11 13:42:26 +11:00
Scott Shawcroft
b5e26130d7
Support rev D for the Trellis M4 Express 2018-10-10 11:21:35 -07: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
ATMakersBill
9f94712ad1 replacing change to input() with separate method to check for USB Serial input 2018-10-09 18:37:52 -04:00
Nick Moore
a60700b1c5 Get DHCP working ... 2018-10-09 16:28:30 +11:00
Nick Moore
6e624b9c6a Split wiznet.WIZNET5K off into its own file 2018-10-09 13:05:58 +11:00
Scott Shawcroft
2b0356c61f
Disable framebuf by default on express builds. 2018-10-05 15:19:09 -07:00
Scott Shawcroft
76008ce304
Introduce audioio.Mixer which can mix multiple audio samples
to produce a single sample.

Only works with 16 bit samples on the M4.

Fixes #987
2018-10-05 15:12:23 -07:00
Benjamin Shockley
091c5106ef
Cleanup Files 2018-10-04 21:26:28 -05:00
Benjamin Shockley
62d316bffb
W25Q16JV IQ and IM
Indicate the differences between IQ and IM with the 2 MiB version of the W25Q chip.
2018-10-04 21:26:05 -05:00
Benjamin Shockley
2ef29c2cec
Changed FLASH DEVICE
Changed the flash device to W25Q16JV_IM - the type actually used.
2018-10-04 21:14:07 -05:00
Benjamin Shockley
f6b9f101dc
Added W25Q16JV_IM
Added new flash module: W25Q16JV_IM
2018-10-04 21:13:05 -05:00
Nick Moore
15b59bee1b change initialization method + mod_network names 2018-10-04 22:31:47 +10:00
Nick Moore
f9bda0ff93 Makefile & mpconfigport for atmel-samd with wiznet 2018-10-04 22:02:25 +10:00
Scott Shawcroft
3c743f2664
Update Trellis M4 Express for Rev C 2018-10-02 11:56:09 -07:00
Benjamin Shockley
1f3a3fe5a0 Merge remote-tracking branch 'upstream/master' 2018-10-01 12:28:42 -05:00
Benjamin Shockley
862d5a06fd
Create pins.c 2018-09-29 23:33:07 -05:00
Benjamin Shockley
8e52d922cc
Create mpconfigboard.mk 2018-09-29 23:26:15 -05:00
Benjamin Shockley
5ab4f09b2f
Create mpconfigboard.h 2018-09-29 23:24:32 -05:00
Benjamin Shockley
4acca8b90b
Update board.c 2018-09-29 23:17:24 -05:00
Benjamin Shockley
13364f90fe
Create board.c 2018-09-29 23:16:07 -05:00
Scott Shawcroft
a9d094ab74
Fix translations 2018-09-21 12:24:04 -04:00
Scott Shawcroft
e5274959f2
Merge remote-tracking branch 'adafruit/3.x' into merge_3x 2018-09-21 12:22:26 -04:00
Scott Shawcroft
3f380ded6b
Merge pull request #1197 from dhalbert/3.x-master
3.x master
2018-09-19 09:58:52 -07:00
Dan Halbert
8172a2ca9d
Merge pull request #1189 from arofarn/add-BATTERY-pin
Add VOLTAGE_MONITOR pin to feather boards pins
2018-09-18 21:47:09 -04:00
Scott Shawcroft
655f223916
Clock the SAMD21 much faster so it can actually convert at its max
sample rate of 350ksps.

Also added an error check of sample rate.

Fixes #1196
2018-09-18 15:29:46 -07:00
Dan Halbert
bc510e714f merge 3.0.2 to master 2018-09-18 15:38:12 -04:00
Dan Halbert
aaa61d06e3 add D4 and D3 aliases for EXTERNAL_NEOPIXEL and SENSE pins to match final silkscreen 2018-09-17 22:22:23 -04:00
Pierrick C
53853289eb Move VOLTAGE_BATTERY line just under D9 line 2018-09-14 09:02:04 +02:00
ladyada
521a14e942 add mic in / out 2018-09-13 21:50:43 -04:00
ladyada
994c066b21 rev B (minus microphone) 2018-09-13 21:34:39 -04:00
ladyada
bec42671b1 missin' reset pin for the radio. tested works. 2018-09-13 21:30:13 -04:00
ladyada
28aabb4d5c trellis m4 variant 2018-09-13 21:30:13 -04:00
Pierrick C
8eda4bb473 Add VOLTAGE_MONITOR alias for D9 pin to feather boards 2018-09-13 23:36:04 +02:00
Scott Shawcroft
2dd9407f21
Merge pull request #1186 from dhalbert/uart-enhancements
UART enhancements
2018-09-12 16:23:28 -07:00
Scott Shawcroft
f21cf15c38
Add OnDiskBitmap which loads pixel data straight from disk.
Also, renamed Sprite's palette to pixel_shader so it can be
anything that produces colors based on values (including color values).
Added a ColorConverter that converts RGB888 (found in bitmaps) to
RGB565 for the display.

Fixes #1182
2018-09-12 15:25:59 -07:00
Dan Halbert
6a046f55c4 UART fixes and enhancements; default board object fix 2018-09-12 17:19:43 -04:00
Dan Halbert
2bd7040fe0 usb_write() output_len was uint8_t instead of uint32_t 2018-09-12 17:16:52 -04:00
Paul Kierstead
02b3f62460 When UART timeout of zero is given, make read() return data already available 2018-09-12 13:25:49 -04:00
Benjamin Shockley
b923324e73
Added HW NEOPIXEL Definition
Added definition for the built-in Neopixel.  This is useful for CircuitPython Statas: https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting#circuitpython-rgb-status-light-18-10
2018-09-12 07:59:07 -05:00
Dan Halbert
c3918bae57 PWMOut was not claming channels on shared TCCs 2018-09-11 19:46:47 -04:00
Benjamin Shockley
2138b04e45
Update to IS25LP016D
Changed .supports_qspi_write to true.
2018-09-11 07:52:23 -05:00
Benjamin Shockley
c7cf38186d
Added IS25LP016D 2018-09-10 14:55:18 -05:00
Benjamin Shockley
08a2d962e3
Delete README.md 2018-09-10 17:01:31 +00:00
Benjamin Shockley
b2f5511de2
Initial Upload of Mini SAM M0
Initial Upload of Mini SAM M0
2018-09-10 17:01:00 +00:00
Benjamin Shockley
b03037e512
Create README.md 2018-09-10 16:55:55 +00:00
Dan Halbert
34bcb069cf
Merge pull request #1165 from tannewt/grandcentral
Initial Grand Central definition
2018-09-07 15:00:13 -04:00
Scott Shawcroft
3ac03a31d8
Fix SDA/SCL 2018-09-07 10:39:18 -07:00
Scott Shawcroft
32c616b5dd
Initial Grand Central definition
It has a ton of pins in a Mega form-factor

This also includes a change to init the stack earlier. It fixes
a crash that occurs if the flash doesn't start correctly and the
original spot isn't reached.
2018-09-06 16:54:13 -07:00
Scott Shawcroft
c2e49dc87f
Merge remote-tracking branch 'adafruit/master' into hallowing 2018-09-06 14:54:55 -07:00
Scott Shawcroft
1683eb913d
Minor tweaks based on feedback 2018-09-06 14:49:49 -07:00
Dan Halbert
4c3b4cacfa Merge remote-tracking branch 'adafruit/master' into nrf-pin-claiming 2018-09-05 13:15:22 -04:00
Paul Kierstead
2d3f1a10bf When UART timeout of zero is given, make read() return data already available 2018-09-01 17:07:30 +00:00
Dan Halbert
9ea809bef7 add pin claiming to devices 2018-08-31 18:38:05 -04:00
Dan Halbert
585597a252 pin files rework; implement pin claiming; add more boards 2018-08-31 18:05:55 -04:00
Scott Shawcroft
121903b6ee
Tweaks based on feedback 2018-08-31 14:21:48 -07:00
Scott Shawcroft
6697544cdf
Introduce displayio to render graphics to displays.
It's designed to minimize RAM footprint by using Sprites to
represent objects on the screen. The object model also facilitates
partial screen updating which reduces the bandwidth needed to display.

This is all handled in C. Python simply manipulates the objects with
the ability to synchronize to frame timing.
2018-08-31 12:31:52 -07:00
Noralf Trønnes
b61cf8d81f samd: Use RTC to set file timestamp
Use RTC to set file timestamp for file operations done on the board.
2018-08-25 20:43:09 +02: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
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
Noralf Trønnes
eefb6842a0 i2cslave: Fix missing translate() when raising exceptions
The translate() changes where applied after travis had checked the
i2cslave PR so this wasn't caught.
2018-08-18 16:00:06 +02:00
Scott Shawcroft
4a4d84ba42
Merge pull request #1064 from notro/i2cslave
Add busio.I2CSlave
2018-08-17 16:51:45 -07:00
Scott Shawcroft
e8cf6a9072
Update to merged peripheral change. 2018-08-16 18:05:53 -07:00
Scott Shawcroft
2cd166b573
Fix esp and samd 2018-08-16 17:41:35 -07:00
Scott Shawcroft
de5a9d72dc
Compress all translated strings with Huffman coding.
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.

Builds without LTO work as well but include both untranslated
strings and compressed strings.

This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531.
2018-08-16 17:40:57 -07:00
Noralf Trønnes
11cbeb87ad ports/atmel-samd: Implement i2cslave.I2CSlave
This adds support for SAMD acting as a I2C slave in polled mode.
2018-08-16 17:20:49 +02:00
Noralf Trønnes
b6822b86ac busio/I2C: Split out samd_i2c_get_sercom()
It will be shared with I2CSlave.
2018-08-16 17:06:40 +02:00
ladyada
d8f2a61c39 Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-14 13:04:33 -04:00
Dan Halbert
bbc034cd3d
Merge pull request #1104 from tannewt/more_strings
Fixes and translate more strings.
2018-08-09 20:00:18 -04:00
Scott Shawcroft
24e53ad591
Rework escaping and fix ESP build. 2018-08-09 15:58:45 -07:00
Scott Shawcroft
86d2154d71
Change file mode back. 2018-08-09 09:14:14 -07:00
Scott Shawcroft
94c5ceab36
Initial SAMR board revision. 2018-08-09 05:36:46 -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
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
933add6cd8
Support internationalisation. 2018-08-07 14:58:57 -07:00
Dan Halbert
498fec64e2 increase new dynamic stack size to a comfortable value for now 2018-08-03 22:35:20 -04:00
Dan Halbert
dfa2581ffd
Merge pull request #1057 from tannewt/flexible_heap
Add basic memory allocation outside Python runtime
2018-08-02 18:43:06 -04:00
Scott Shawcroft
5704bc8c93
Share memory.c and a bit of polish. 2018-08-02 14:35:46 -07:00
Scott Shawcroft
64e5691fe7
Update to peripherals merge. 2018-08-02 13:59:12 -07:00
Scott Shawcroft
168aa394db
Move pin struct to the peripherals library.
Its slimmed down by removing the qstr and bit packing TCC info.

The trinket m0 build actually grows by 20 bytes. The arduino zero
build shrinks by 188 bytes.
2018-08-02 13:59:05 -07:00
Scott Shawcroft
b50f46d4be
Rename to SRC_QSTR_PREPROCESSOR for clarity. 2018-08-02 11:07:22 -07:00
Scott Shawcroft
8cf03d2d00
Speed up QSTR creation by pre-filtering files before pre-processing. 2018-08-02 00:51:52 -07:00
hathach
533d8dda96 fix samd usb hid typo 2018-08-01 08:40:04 +07:00
Scott Shawcroft
a88cdaca6a
Remove rogue execute bit. Must a common incorrect shortcut for me. :-) 2018-07-31 12:42:21 -07:00
Scott Shawcroft
b334289669
Reenable LTO for debug. 2018-07-31 05:18:23 -07:00
Scott Shawcroft
12cf5e51c2
Allow for resizing the stack area. 2018-07-31 05:18:23 -07:00
Scott Shawcroft
777542c716
Add basic memory allocation outside Python runtime
This allows for the heap to fill all space but the stack. It also
allows us to designate space for memory outside the runtime for
things such as USB descriptors, flash cache and main filename.

Fixes #754
2018-07-31 05:18:03 -07:00
Scott Shawcroft
a6d94b6845
Merge pull request #1068 from dhalbert/micropython-25ae98f-merge
Micropython 25ae98f merge
2018-07-30 12:33:44 -07:00
Dan Halbert
fbe98ff9a9
Merge pull request #1071 from dhalbert/3.x-hallowing
add HalloWing
2018-07-29 20:24:47 -04:00
Dan Halbert
680597547c add HalloWing 2018-07-29 19:22:16 -04:00
Dan Halbert
f48b70050e merge finished 2018-07-28 13:29:47 -04:00
Dan Halbert
2809b4f9dd Merge branch 'master' into micropython-25ae98f-merge 2018-07-16 19:36:40 -04:00
Dan Halbert
a20ab40ed2 Merge 3.0.0 final bugfixes and changes to master 2018-07-16 09:01:46 -04:00
Dan Halbert
e2e01efa84 compiles and runs; hangs on import storage;storage.VfsFat.<tab> 2018-07-13 22:51:10 -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
54179a0189
Use .s in samd Makefile too. 2018-07-05 04:44:00 -07:00
mrmcwethy
d9723bb613
include RTC fix for SAMd51 in circuitpython build 2018-07-03 06:52:05 -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
Scott Shawcroft
ec78d3cefd
Mark pointers in cpu registers as in use.
This prevents bugs where gc_collect is called from C code that did
a recent allocation.
2018-07-03 05:45:50 -07:00
Scott Shawcroft
bf00cde37d
Comment tweak after board change 2018-07-02 14:51:06 -07:00
Dan Halbert
2a0b857643 implement mp_hal_delay_us() to not need interrupts, and use it 2018-06-29 16:01:46 -04:00
mrmcwethy
df4469f92b Test the BOARD parameter for nullness; display a error if nothing provided 2018-06-29 12:22:31 -07:00
mrmcwethy
d392f01f2c include RTC fix for SAMd51 in circuitpython build 2018-06-29 05:45:38 -07: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
Dan Halbert
1f3de5174e Freeze Adafruit_CircuitPython_Crickit into crickit builds 2018-06-26 19:49:55 -04:00
jerryneedell
de4cd1ee73 add pins D3/D4 to pins.c
fixes  #948
2018-06-20 22:26:59 -04:00
jerryneedell
80d16cb7df
add pins D3/D4 to pins.c
fixes  #948
2018-06-19 22:34:29 -04:00
Scott Shawcroft
a5e03b76a6 Split out the peripherals library in preparation of sharing with MakeCode. 2018-06-15 16:16:21 -07:00
Dan Halbert
fa814a32ce Make Trinket M0 build fit; make RAMFS in vfs_fat_* tests be compliant with expected API 2018-06-14 21:02:12 -04:00
Dan Halbert
e724bc1c4e Fix playing audio from SD card 2018-06-14 18:47:40 -04:00
Scott Shawcroft
ee817a2fa8 Correct UART reads to return error on timeout.
This causes read to correctly return None instead of b''.

Fixes #874
2018-06-12 14:03:27 -07:00
Dan Halbert
4691b30c02 PDMIn: turn serializer on when starting DMA 2018-06-12 12:35:51 -04:00
Scott Shawcroft
73dadb0669 Update to the latest ASF4 which includes an I2C timeout extension while waiting for clock stretching.
Fixes #778
2018-06-11 18:37:48 -07:00
Dan Halbert
b2d98edb4e
Merge pull request #901 from tannewt/pulseio_too_fast
Prevent freezing USB during high frequency PulseIn.
2018-06-08 17:59:06 -04:00
Scott Shawcroft
8fb34a5846 Use bool not int. 2018-06-08 14:57:20 -07:00
Scott Shawcroft
66b79723b6 Add code size analysis tool and shrink samd.clock a smidge. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
769788d3c7 Turn off USB pin objects since they are always used for USB. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
383bf9a59e Wait for the DFLL to be stable. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
07a8899c72 Support M4 2018-06-08 12:56:32 -07:00
Scott Shawcroft
2fbab8067a Prevent freezing USB during high frequency PulseIn.
We now track the last time the background task ran and bail on the
PulseIn if it starves the background work. In practice, this
happens after the numbers from pulsein are no longer accurate.

This also adjusts interrupt priorities so most are the lowest level
except for the tick and USB interrupts.

Fixes #516 and #876
2018-06-08 12:56:32 -07:00
Dan Halbert
218930d18b Check for PDMIn DMA getting stuck. 2018-06-08 08:23:52 -04:00
Kattni Rembor
ba7e0e2f86 Add Adafruit to other M4 board name strings 2018-06-07 13:39:04 -04:00
Kattni Rembor
7b2875d54a Add Adafruit to board name string 2018-06-07 13:33:13 -04:00
Kattni Rembor
0ab2a60dcd Update ItsyBitsy board name to one word 2018-06-07 13:12:44 -04:00
Dan Halbert
9ba6990228 Feather M0 Express build with Crickit libraries 2018-06-05 18:21:47 -04:00
Dan Halbert
74ced174ce
Merge pull request #898 from dhalbert/feather_m4_d4
add PA14 as D4 to Feather M4 Express
2018-06-05 11:41:31 -04:00
Dan Halbert
7e7e33e460 add PA14 as D4 to Feather M4 Exprses 2018-06-05 08:15:34 -04:00
Scott Shawcroft
0c7c0821fc
Merge pull request #891 from godlygeek/low_flash_errno_fixes
Human readable OSError messages for low flash devices
2018-06-04 17:22:57 -07:00
Scott Shawcroft
e580d22f4a Use the external crystal on SAMD21 again.
Also, re-enable calibration storage for CircuitPlayground Express.
Tested with a 500hz PWMOut on Metro M0 with Saleae:
 * with crystal 500hz
 * with usb 500hz +- 0.1hz
 * without either 487hz += 0.1hz

SAMD51 is skipped due to DFLL errata and the fact it defaults to a
factory calibrated 48mhz that works fine for USB.

Fixes #648
2018-06-01 18:01:42 -07:00
Matt Wozniski
22f4438787 Prune atmel-samd errno list
Remove errnos that are only raised by modules that aren't linked into
the atmel-samd port.
2018-06-01 19:04:14 -04:00
Matt Wozniski
e798b67ca2 Begin a custom list of errnos for atmel-samd
The uerrno module was written to allow boards to customize the list of
errnos they can raise.  Start by copying the default list.
2018-06-01 19:04:04 -04:00
Scott Shawcroft
717199018b Adapt for feedback and hack around pIRkey size constraint. 2018-06-01 15:08:52 -07:00
Dan Halbert
f386144428 redo state algorithm 2018-06-01 15:08:52 -07:00
Scott Shawcroft
9920f0a5de atmel-samd: Make ticks more atomic.
Always use current_tick when sub millisecond precision is required.
Otherwise getting the ms/us to correspond is tricky.
2018-06-01 15:08:52 -07:00
Scott Shawcroft
d0fb6e7a2f atmel-samd: Add rotary encoder support.
Fixes #283
2018-06-01 15:08:48 -07:00
Scott Shawcroft
fd71e56891 atmel-samd: Re-org helper peripheral files into their own subdirectory.
Ideally in the future they won't depend on ASF4 or MicroPython.
2018-06-01 15:07:31 -07:00
Dan Halbert
ae31c4ac18
Merge pull request #889 from tannewt/audioio_timers_in_use
Turn off timer on AudioOut deinit.
2018-06-01 18:03:29 -04:00
Dan Halbert
ea95eb730a
Merge pull request #890 from tannewt/brownout3
Support brownout to safe mode. Fixes #870
2018-06-01 18:02:13 -04:00
Scott Shawcroft
f38ce1060c Support brownout to safe mode. Fixes #870 2018-06-01 13:45:28 -07:00
Scott Shawcroft
bf1f0b3d11 Turn off timer on AudioOut deinit.
Thanks to @sommersoft for spotting the error.

Fixes #850
2018-06-01 13:32:45 -07:00
Noralf Trønnes
e158702a68 atmel-samd/samd51: Use crystal for RTC
This uses the crystal to clock the RTC on boards which have a crystal.

Disable clock generator 2 which was enabled in commit
8e2080411f ("atmel-samd: Add rtc module support").
samd51 differs from samd21 when it comes to the RTC clock. samd51 doesn't
have an explicit clock peripheral so no need for a clock generator.

The same commit didn't even setup XOSC32K correctly, it missed EN1K and XTALEN.

The RTC uses the 1k clock output, so enable it on the OSCULP32K even if it works without it.
2018-06-01 18:03:23 +02:00
Noralf Trønnes
ab7ddfddd5 atmel-samd/samd51: Refactor clock setup
Refactor the convoluted asf4 clock setup into something more readable.

enable_clock_generator() has 2 changes:
- Set 'Output enabled' to match the current clock setup
- Handle divisors above 511

Add an enable_clock_generator_sync() version which makes it possible to setup
clocks without waiting for syncing. The bootup would hang without this.

I have checked these registers:

 NVMCTRL->CTRLA = 0x00000004

 Peripheral clocks (only non-zero shown):
 PCHCTRL[1]=0x00000045
 PCHCTRL[10]=0x00000041

 Generator clocks (only non-zero shown):
 GENCTRL[0] = 0x00010907
 GENCTRL[1] = 0x00010906
-GENCTRL[2] = 0x00041104
+GENCTRL[2] = 0x00200904
 GENCTRL[4] = 0x00010907
 GENCTRL[5] = 0x00180906

 DFLL clock:
 OSCCTRL->DFLLCTRLA = 0x00000082
 OSCCTRL->DFLLCTRLB = 0x00000000
 OSCCTRL->DFLLVAL = 0x00008082
 OSCCTRL->DFLLMUL = 0x00000000

 DPLL clocks:
 OSCCTRL->Dpll[0].DPLLCTRLA=0x00000002
 OSCCTRL->Dpll[0].DPLLCTRLB=0x00000000
 OSCCTRL->Dpll[0].DPLLRATIO=0x0000003b
 OSCCTRL->Dpll[1].DPLLCTRLA=0x00000080
 OSCCTRL->Dpll[1].DPLLCTRLB=0x00000020
 OSCCTRL->Dpll[1].DPLLRATIO=0x00000000

 OSC32KCTRL clock:
 OSC32KCTRL->RTCCTRL = 0x00000000
 OSC32KCTRL->XOSC32K = 0x00002082
 OSC32KCTRL->CFDCTRL = 0x00000000
 OSC32KCTRL->EVCTRL = 0x00000000
 OSC32KCTRL->OSCULP32K = 0x00002300

Only gen2 changed which is due to samd51 having more bits in the simple
division register so DIVSEL wasn't necessary, and it didn't have OE set.
2018-06-01 18:02:35 +02:00
Noralf Trønnes
5c6aea9fd8 atmel-samd/samd51: Implement samd.clock
Fill out the dummy implementation.
2018-06-01 18:01:08 +02:00
Radomir Dopieralski
b219ce6d37 Add gamepad_singleton to root pointers 2018-05-30 23:11:22 +02:00
Dan Halbert
eab8e43188 rev E feather M4 express; remove named AREF pins 2018-05-29 20:25:28 -04:00
Dan Halbert
754c36bb37
Merge pull request #867 from dhalbert/fix_pirkey_apa102
3.0 pirkey build including appropriate frozen modules
2018-05-24 22:07:14 -04:00
Dan Halbert
ee896cdd41 restore I2C and UART. Don't do port.c resets and inits for modules that are not available. 2018-05-24 20:20:18 -04:00
Scott Shawcroft
42bf3a1306 Remove asf3 nvm code. 2018-05-24 13:14:40 -07:00
Dan Halbert
b9f36184f5 refine pirkey build 2018-05-24 13:28:03 -04:00
Dan Halbert
083f91363a pirkey APA102 defs were commented out in mpconfigboard.h 2018-05-23 18:21:07 -04:00
Scott Shawcroft
aa86a1457f Use merged in FreeTouch 2018-05-23 11:57:35 -07:00
Dan Halbert
6af5fc2796
Merge pull request #861 from tannewt/touchio3
Turn on touchio for M0 boards.
2018-05-23 14:20:15 -04:00
Scott Shawcroft
641caaa6dd Gain space back in non-Express builds by using -finline-limit 2018-05-23 10:36:59 -07:00
Scott Shawcroft
3607d3ba2c Correctly reset the PTC 2018-05-22 14:20:35 -07:00
Scott Shawcroft
31bcd1c45c Fixup gclk init 2018-05-22 13:56:12 -07:00
Scott Shawcroft
99123a8621 Turn on touchio for M0 boards. M4 will come later once its supported
by FreeTouch.

Fixes #670
2018-05-22 13:49:08 -07:00
Dan Halbert
22405d6bdb
Merge pull request #860 from dhalbert/3.0-cpx-crickit
turn off longint on cpx crickit; update frozen libs
2018-05-22 16:28:42 -04:00
Scott Shawcroft
165b28438a
Merge pull request #854 from python-ugame/extra-override
Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
2018-05-22 10:22:35 -07:00
Dan Halbert
0d7db29630 turn off longint on cpx crickit; update frozen libs 2018-05-22 13:03:13 -04:00
Dan Halbert
49a81d5c4b LONGLONG typo 2018-05-22 09:35:29 -04:00
Dan Halbert
45db48bbaa make longint choice mechanism more readable 2018-05-22 08:04:14 -04:00
Dan Halbert
5680933483 refactor longint settings; make crickit cpx build 2018-05-21 23:58:03 -04:00
Radomir Dopieralski
6a6ab2b0ec Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
Some boards (like the uGame10) may want to have their own set of extra
modules. This change lets them override EXTRA_BUILTIN_MODULES in their
mpconfigboard.h and makes the ugame10 board do that.
2018-05-21 09:23:58 +02:00
Noralf Trønnes
cf33ad9a54 atmel-samd/samd21: Enable long int on Express boards
This is necessary for using 1970 epoch in the time module.
2018-05-18 12:35:26 +02:00
Matt Land
06b293af29 pirkey, trinket, ugame 2018-05-17 13:56:10 -04:00
Matt Land
a84845c0ae itsbitsy, metro 2018-05-17 13:48:33 -04:00
Matt Land
173a0a5faa arduino, circuitplayground, feather boards 2018-05-17 13:42:08 -04:00
Matt Land
fc2b4526d3 worked 2018-05-17 13:33:26 -04:00
Matt Land
e1cccd3dac rename to UART 2018-05-17 13:21:15 -04:00
Matt Land
2210fc60b1 Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-default-serial 2018-05-17 13:08:43 -04:00
Matt Land
c846f4bdae remove newline 2018-05-17 12:17:06 -04:00
Matt Land
4fd4adf974 not working 2018-05-17 12:14:51 -04:00
Matt Land
30c625ff46 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 17:58:03 -04:00
Matt Land
0511becd55 Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-i2c-gemma 2018-05-16 17:55:43 -04:00
Scott Shawcroft
6a8db03ade
Merge pull request #838 from rhooper/master
add supervisor.reload() to soft reboot from code
2018-05-16 17:52:16 -04:00
Matt Land
b9b742cc69 add spi def to all boards pins file 2018-05-16 17:43:14 -04:00
Matt Land
c2fa892a02 fix formatting 2018-05-16 17:38:44 -04:00
Matt Land
cc52f8efd9 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 17:32:50 -04:00
Matt Land
0a185c4d2d Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-i2c-gemma 2018-05-16 17:07:58 -04:00
Matt Land
e8e75c056a For the two boards without SCL and SDA can you still add the board global entry for I2C? That way they'll raise the NotImplementedError with the better message instead of a NameError. 2018-05-16 17:02:41 -04:00
Matt Land
de885e81b1 Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground 2018-05-16 16:07:55 -04:00
Matt Land
8a351595ef formatting, trailing newlines 2018-05-16 15:57:25 -04:00
Matt Land
2c067edf54 used pins.c instead of README.rst 2018-05-16 15:54:01 -04:00
Matt Land
3144654854 SPI for all boards 2018-05-16 15:36:36 -04:00
Matt Land
244866c2c3 spi on much 2018-05-16 15:25:24 -04:00
Matt Land
10888be8e8 fixed pins 2018-05-16 15:07:12 -04:00
Matt Land
8d1d821876 pin issue 2018-05-16 14:58:57 -04:00
Scott Shawcroft
99e34e38eb
Merge pull request #829 from jerryneedell/jerryn_i2c
add keyword timeout to I2C -- only used for bitbangioi
2018-05-16 14:52:11 -04:00
Matt Land
fbb57f902d better error message 2018-05-15 15:37:48 -04:00
Matt Land
ff6e6b5155 best effort 2018-05-15 15:33:27 -04:00
Matt Land
4e65752d6e feather m0 boards 2018-05-15 15:28:23 -04:00
Roy Hooper
90a09dba59 Merge branch 'master' of github.com:adafruit/circuitpython 2018-05-15 14:54:54 -04:00
Matt Land
cdeb7ddff8 fix non- builds 2018-05-15 14:27:05 -04:00
Matt Land
cd1f6627e4 formatting 2018-05-15 14:09:00 -04:00
Matt Land
bd7f603748 zero + feather logger 2018-05-15 14:06:01 -04:00
Roy Hooper
7d443c87b3 Add gemma_m0 pin exclusions 2018-05-15 14:03:39 -04:00
Matt Land
a10f04ad6e support for 2 2018-05-15 13:53:53 -04:00
Matt Land
b0bacd9b0b review code 2018-05-15 13:15:24 -04:00
Roy Hooper
3fd9900ea7 disable pins on trinket_m0 so that we can free a fair bit of flash - Issue #840 2018-05-15 13:13:59 -04:00
Dan Halbert
54293397c5
Merge pull request #837 from godlygeek/human_readable_oserror
Human readable OSError messages
2018-05-15 10:12:09 -04:00
Roy Hooper
698912633f Rename reload_next_character to reload_requested to make it match it's intended use 2018-05-14 17:00:38 -04:00
Matt Wozniski
0518cc1d94 Include uerrno for boards with external SPI flash
Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
2018-05-14 15:12:35 -04:00
Roy Hooper
a0954b9e11 Fix for Issue #770 - Provide a better error message when timers are still available. 2018-05-14 13:52:32 -04:00
Roy Hooper
1661cbb6e1 Make python detection more robust and allow setting PYTHON2 and PYTHON3 to override python executables during build. 2018-05-14 11:19:19 -04:00
Jerry Needell
d6c26942a5 add timeout keyword to I2C - for bitbangio - ignored for busio 2018-05-13 21:54:44 -04:00
Dan Halbert
240659da0e PBxx pins were not setting DRVSTR or reporting PULL properly 2018-05-10 23:09:51 -04:00
Scott Shawcroft
50fc90bc5f Add pause/resume control to AudioOut and I2SOut
Fixes #808
2018-05-08 11:53:13 -07:00
Scott Shawcroft
d3a5d40374
Merge pull request #785 from notro/rtc_calibration
atmel-samd/samd21: Rework clock setup + calibration
2018-05-08 10:55:51 -07:00
Dan Halbert
e82f37c60e enable cache in SAMD51 2018-05-07 21:55:37 -04:00
Noralf Trønnes
5d5d14709f Add clock representation with calibration
Add a python representation of the clocks with the possibility to change
the calbration of clock sources.
2018-05-07 23:04:02 +02:00
Noralf Trønnes
2893e795fc atmel-samd/samd21: Use XOSC32K on boards with a crystal
Use XOSC32K on boards that have BOARD_HAS_CRYSTAL defined and set to 1.
2018-05-05 18:45:15 +02:00
Noralf Trønnes
4adba51569 atmel-samd/samd21: Rework clock setup
Make clock setup explicit instead of using the convoluted asf4 macro setup.

enable_clock_generator():
- Add GCLK_GENCTRL_OE to stick with the current setup.
- Handle divisor larger than 31 for generator 2
- Change the source argument so it can take the GCLK_GENCTRL_SRC_XXXX_Val
  macros without casting to uint8_t.

This patch should not introduce any functional changes except keeping
GCLK_GENCTRL_OE enabled when the I2S clock is enabled.
2018-05-05 18:01:13 +02:00
Scott Shawcroft
d32349cee8
Merge pull request #804 from dhalbert/boot_out_fixes
3.0: Handle bad power on reset.
2018-05-04 10:06:35 -07:00
Dan Halbert
32363b801b 3.0: add CircuitPlayground and HID to CPX frozen modules 2018-05-04 08:44:33 -04:00
Noralf Trønnes
f21c2494cb atmel-samd/samd21: Enable OSC32K
Enable OSC32K which is used by the RTC.
For some reason the RTC worked without enabling it.
2018-05-04 13:34:30 +02:00
Noralf Trønnes
4a2a553647 atmel-samd/clocks: Split out samd21_clocks.c and samd51_clocks.c
Enhance readability by separating the samd21 and samd51 clock code.

This patch should not introduce any functional changes.
2018-05-04 13:32:56 +02:00
Dan Halbert
f486ead84a Handle bad power on reset. 2018-05-03 23:43:02 -04:00
Dan Halbert
9d484c4935
Merge pull request #789 from tannewt/pdmin3
Re-enable PDMIn without ASF
2018-05-02 19:59:20 -04:00
Scott Shawcroft
04f75b8903 Reduce the buffer size back to what 2.x has. Increase was leftover
from debugging.
2018-05-02 15:21:43 -07:00
Scott Shawcroft
22b7cd3d51 Fix 8 bit recordings on CPX.
The DMA trigger source was incorrect when using serializer 1 on
the SAMD21.

Playback register was incorrect for 8 bit as well. Now fixed.
2018-05-02 15:15:25 -07:00
Dan Halbert
33b9c39f58 peripherals.c should include peripherals.h 2018-05-02 13:50:34 -04:00
Dan Halbert
e565282da9 fix minor comment typos 2018-05-01 22:04:11 -04:00
Dan Halbert
3a2b4af830 Implement microcontroller.cpu.temperature on '21 and '51. 2018-05-01 21:35:55 -04:00
Noralf Trønnes
681399f8db atmel-samd: RTC: Improve precision when setting datetime
The prescaler is not reset when setting the counter so we can be off by
as much as 1023/1024 seconds. Fix this by resetting the RTC module.
2018-05-01 21:35:24 -04:00
Scott Shawcroft
cfea51ec68 Re-enable PDMIn without ASF and using the helpers added with
I2SOut.

The API is almost the same except the frequency attribute has been
renamed to sample_rate so that its less likely to be confused with
frequencies within the audio itself.

Fixes #263.
2018-05-01 14:35:43 -07:00
Noralf Trønnes
62d7a800d7 atmel-samd: RTC: Improve precision when setting datetime
The prescaler is not reset when setting the counter so we can be off by
as much as 1023/1024 seconds. Fix this by resetting the RTC module.
2018-04-29 20:43:07 +02:00
Dan Halbert
48f595ee13 convert wrapper class to just a module 2018-04-24 13:28:26 -04:00
Dan Halbert
9daa1a68d8 HID gamepad support 2018-04-23 23:51:23 -04:00
Scott Shawcroft
58ba74194e
Merge pull request #765 from jerryneedell/jerryn_tick
modify tick_delay to handle SysTick->VAL rollover
2018-04-20 15:40:00 -04:00
Jerry Needell
bef05ffbf1 cleanup in tick.c 2018-04-20 15:23:03 -04:00
Jerry Needell
fe738598da modify tick.c to simplify - remove interupt disable from common_hal_pulseio_pulsein_resume 2018-04-20 11:59:33 -04:00
Jerry Needell
16bb40b110 modify tic.c to chec if interrupts are enabled, rename us_between_ticks to us until_next_tick 2018-04-19 22:25:48 -04:00
Jerry Needell
3399d541c3 Merge remote-tracking branch 'origin/master' into jerryn_tick 2018-04-19 20:54:47 -04:00
Scott Shawcroft
898a7d92e3 atmel-samd: Fix M4 RTC and ItsyBitsy M4 definition 2018-04-19 14:42:03 -04:00
sommersoft
a0eb51cc97 updated asf4_config: reverted oscillators to use internal vs external for RTC 2018-04-18 03:35:58 +00:00
Jerry Needell
e09d95067c update tick.c (fix LOAD value) update PulseIn.c (do not enable interrupts for trigger_duration > 1000 2018-04-17 21:46:15 -04:00
Scott Shawcroft
81d395d825
Merge pull request #745 from notro/time_rtc
RFC: Add rtc module
2018-04-16 15:26:54 -07:00
Jerry Needell
e55e06d501 modify tick.c to work when interrupts disabled - modify PulseIn.c to cast argument to common_hal_delay_us 2018-04-16 08:11:14 -04:00
Noralf Trønnes
8e2080411f atmel-samd: Add rtc module support
Support the rtc module by using hal_calendar.
2018-04-16 13:15:08 +02:00
Scott Shawcroft
812fe0c93f Turn on nvm in 3.0.
Its 256b on M0 and 8k on M4 to match flash erase sizes.

Fixes #758
2018-04-13 16:22:28 -07:00
Scott Shawcroft
22194d5977 Tweaks based on dhalbert's feedback. 2018-04-13 10:51:01 -07:00
Scott Shawcroft
8dcfeb6240 Fix Makefile 2018-04-12 18:17:46 -07:00
Scott Shawcroft
28642ab10d Add audio output support!
This evolves the API from 2.x (and breaks it). Playback devices are now
separate from the samples themselves. This allows for greater playback
flexibility. Two sample sources are audioio.RawSample and audioio.WaveFile.
They can both be mono or stereo. They can be output to audioio.AudioOut or
audiobusio.I2SOut.

Internally, the dma tracking has changed from a TC counting block transfers
to an interrupt generated by the block event sent to the EVSYS. This reduces
the overhead of each DMA transfer so multiple can occure without using up TCs.

Fixes #652. Fixes #522. Huge progress on #263
2018-04-12 16:35:13 -07:00
Scott Shawcroft
2a26dac2bc Add initial ItsyBitsy M4 support 2018-04-12 11:16:52 -07:00
Dan Halbert
eaa9923a8f force_create rename got lost due to editing error 2018-04-10 12:24:27 -04:00
Dan Halbert
5f98953ed8 esp8266 and nrf: raise NotImplementedError 2018-04-10 12:08:41 -04:00
Jeff Epler
eb7d0e317a Create genhdr/ directory in time 2018-04-09 22:23:39 -04:00
Dan Halbert
aa8c262d14 add storage.erase_filesystem() to erase and reformat CIRCUITPY 2018-04-09 12:52:42 -04:00
Scott Shawcroft
4e053cea0d
Merge pull request #628 from sommersoft/super_status
Added Function To Check the Serial Connection From CircuitPython Layer
2018-04-08 22:06:09 -07:00
Dan Halbert
1e87a785b9 Move CDC Comm back to Interface 0 for compat with Win7 drivers. 2018-04-08 15:59:19 -04:00
Dan Halbert
726d5e52a3 Merge branch 'master' into 3.0_hid 2018-04-08 09:52:29 -04:00
Dan Halbert
a159b85340 Reorder composite device interfaces; fix report length bug 2018-04-08 09:33:02 -04:00
Jeff Epler
fe6f5aaa70 atmel-samd: reset: reset() was always entering bootloader mode
.. set the dbl_tap word to a different special value unless
RUNMODE_BOOTLOADER was selected
2018-04-05 08:16:53 -05:00
Jeff Epler
5eb9f9d060 atmel-samd: Fix rebooting to bootloader
Commit efbf08266b moved _estack in order to ensure 8-byte alignment
of the stack, but the address of _bootloader_dbl_tap must remain
right at the end of SRAM.

I verified by reading the source that the 4-byte-aligned address is
used for all samd21 / samd51 boards in
adafruit/circuitpython@efbf08266b.  However, I only tested on
trinket_m0.

Closes: #739
2018-04-03 21:40:10 -05:00
Dan Halbert
beb6ad2e40 Add USB HID support, including Consumer Control 2018-04-02 21:37:44 -04:00
Dan Halbert
435e894fa0 Merge branch 'master' into 3.0_hid 2018-04-02 19:19:43 -04:00
Dan Halbert
d005b12326 WIP: seems to be done 2018-04-02 19:08:18 -04:00
Dan Halbert
c00b25ec45 WIP: HID works with MSC interfaces removed 2018-03-30 23:31:28 -04:00
Dan Halbert
df91878d2e WIP: works with just keyboard but not complex report descriptor 2018-03-30 23:24:00 -04:00
sommersoft
8af98d0dc9 ambiguized directory paths 2018-03-30 22:44:16 +00:00
sommersoft
a5b60647be improved arrangement 2018-03-30 22:26:21 +00:00
sommersoft
7c0be04696 verbiage cleanup 2018-03-30 22:21:35 +00:00
sommersoft
c70acab8b3 updated README; added git submodule info 2018-03-30 22:16:36 +00:00
sommersoft
6ee573c7c9
Merge branch 'master' into super_status 2018-03-30 14:27:39 -05:00
Scott Shawcroft
676ed4e199
Merge pull request #724 from tannewt/fix_freetouch_submodule
Remove freetouch files that were accidentally checked in and
2018-03-28 14:24:32 -07:00
Scott Shawcroft
19b0b414e6 Remove freetouch files that were accidentally checked in and
readd the submodule.
2018-03-28 14:04:53 -07:00
Jeff Epler
abec199c19 Enable high-quality float hash
This appears to have a relatively small impact on flash usage but
fixes some pathological slow behavior putting floats in dicts or sets.

Closes: #704
2018-03-27 21:56:30 -05:00
Dan Halbert
4c2f729a7a
Merge pull request #713 from jepler/lto-type-diagnostic-bis
Allow building on gcc 5.4, while preserving ability to build with 7.2
2018-03-27 09:28:41 -04:00
Kattni
77938db8c8
Merge pull request #719 from tannewt/fix_i2c_hang
Fix I2C init hang when the SCL pin is pulled low.
2018-03-26 20:08:14 -04:00
Dan Halbert
4190aa2eed
Merge pull request #715 from jepler/array-operation-restrictions-bis
Remove 'O', 'P' support in arrays
2018-03-26 20:01:34 -04:00
Scott Shawcroft
cebcec5e63 Check for floating pins by pulling them low briefly before testing their values. 2018-03-26 16:32:16 -07:00
Jeff Epler
355bf8b553 Conditionally compile out nonstandard array/struct typecodes
.. defaulting to off for circuitpython-supported boards, on for others.

.. fixing up the tests that fail when it is turned off, so that they skip
instead of failing
2018-03-26 18:13:49 -05:00
Scott Shawcroft
25ba8ee489 Add an s because grammar. 2018-03-26 15:21:08 -07:00
Scott Shawcroft
37538fc0e7 Fix I2C init hang when the SCL pin is pulled low.
We added a check to make sure the pins are in a high state before
initing the bus. This leads to a friendly error message when someone
forgets to add the pull up resistors to their circuit.
2018-03-26 15:13:52 -07:00
Scott Shawcroft
ea39f4378e
Merge pull request #698 from sommersoft/repl_fix
Fix 128 Character Max Paste Into REPL
2018-03-26 13:02:43 -07:00
sommersoft
9bd55cf4c7
minor cleanup 2018-03-26 08:14:37 -05:00
sommersoft
23009fdd63 future-proof for buffer size changes 2018-03-26 06:25:04 +00:00
Dan Halbert
8b6aeb9e19
Merge pull request #702 from jepler/issue689bis
correct typo in filename
2018-03-25 23:58:00 -04:00
Jeff Epler
d57397f9c8 Remove an unneeded -Wno-error=lto-type-mismtach 2018-03-25 22:04:15 -05:00
Jeff Epler
c0029e1d97 Don't lose half of the processor's serial number
Before this change, `microcontroller.cpu.uid` returned values
where the top 4 bits of each byte were zero, because of
an incorrect bitmask used in this function.
2018-03-25 13:01:04 -05:00
Dan Halbert
31f5b6a238 WIP: simple working HID 2018-03-24 18:29:12 -04:00
Jeff Epler
d80e54458d correct typo in filename 2018-03-24 10:44:24 -05:00
sommersoft
6205ed9a0c updated cdc_enabled; now more dynamic status return 2018-03-24 03:42:58 +00:00
sommersoft
ef16109c5d updated with requested changes 2018-03-24 00:55:48 +00:00
sommersoft
f237657e5e extended buffer check to usb_cdc_background 2018-03-23 18:41:27 +00:00
Scott Shawcroft
63d826a52a
Update USB PID 2018-03-23 09:34:02 -07:00
sommersoft
ccbe557e30 removed leftover debugging bits 2018-03-23 15:45:30 +00:00
sommersoft
d434635822 add buffer check before triggering new usb read 2018-03-23 15:07:02 +00:00
Scott Shawcroft
fd7dcff4e9 Add Feather M4 Express support.
* Also fixed detection of SPI flash chip to correct look in the 2+
spots.
* Added support for using QSPI in dual read mode.
2018-03-23 00:00:13 -07:00
Scott Shawcroft
06b4c83f59 Add reminder to remove Saleae when going fast. 2018-03-22 17:44:44 -07:00
Scott Shawcroft
3bf4d69f67 Update Metro M4 to rev F and make flash reset on start. 2018-03-22 16:42:47 -07:00
Jeff Epler
a7e3c74fed Autocreate files that prevent MacOS indexing of the CIRCUITPYTHON dive
.. the price of this appears to be about 112 bytes of flash and 12
bytes of RAM, according to the stats printed during the build.

It also uses up 4 directory entries (out of 128), but does not reduce
the number of blocks usable for storing file contents.

These are the same items noted in the Adafruit README for Trinket M0
as preventing MacOS indexing.

Closes: #689
2018-03-22 08:07:32 -05:00
Scott Shawcroft
9ab39eb2d2
Merge pull request #688 from jepler/atsamd-build-reqs
Better document build requirements and steps
2018-03-20 10:03:01 -07:00
Scott Shawcroft
0f90f35606
Merge pull request #685 from jepler/uart-diagnostic
UART: Fix maybe-uninitialized diagnostic
2018-03-20 09:59:31 -07:00
Jeff Epler
3f82fe8da9 README.rst: document mpy-cross gotcha
This was biting me, leading to an odd error later on.
2018-03-20 07:53:30 -05:00
Jeff Epler
fa491b4c32 README.rst: spell out gcc version requirements
.. the text was adapted from ports/stm32 and a conversation with
Dan Halbert.
2018-03-20 07:53:30 -05:00
Jeff Epler
dddfad6594 UART: Fix maybe-uninitialized diagnostic
The following error occurs when building with gcc 5.4.1 (debian stretch):

common-hal/busio/UART.c:104:83: error: 'sercom_index' may be used uninitialized in this function [-Werror=maybe-uninitialized]
                   sercom_insts[rx->sercom[j].index]->USART.CTRLA.bit.ENABLE == 0) ||

It may be related to the addition of rx-only UARTs; gcc is unable
to infer the intended relationship between have_tx and sercom_index
being set (I am still not entirely confident of it myself)
2018-03-19 20:40:04 -05:00
Kattni
05e2a7d1ac Added digital pin assignments 2018-03-15 20:28:09 -04:00
jerryneedell
04b4026666
fix dotstar for Gemma_M0 in CP3.0
Uncomment lines in mpconfigport.h for gemma_m0 to allow dotstar access.  same issue as #514 for trinket_m0
2018-03-14 21:28:56 -04:00
Dan Halbert
f173d45941
Merge pull request #678 from tannewt/m0_no_timer_fix
Correct NO_TIMER index value for SAMD21.
2018-03-14 15:04:39 -04:00
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