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