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