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
d02899f822
Add gamepad_singleto to root pointers for the nrf port
2018-05-30 23:11:23 +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
Jerry Needell
4f93467841
set #define MICROPY_USE_INTERNAL_ERRNO (0) in mpconfigport for ESP8266 to fix compile error
2018-05-16 16:10:32 -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
Scott Shawcroft
ce5eae1c76
Merge pull request #761 from jepler/nrf-modules
...
nrf: Enable binascii, hashlib modules
2018-05-11 19:40:45 -07:00
Jeff Epler
471fdae993
nrf: Enable binascii, hashlib modules
...
These modules would be very handy to have in order to implement a
more robust replacement for ampy. It costs around 2KiB of text and
no data or bss.
'binascii' has base64 encoding, which can be used to create a fully
8-bit-clean transport above the slightly cooked serial connection of
these boards.
'hashlib' is a bit less critical, but I have found it handy to
be able to robustly checksum remote files.
I see this as only being useful on ports which don't have USB block
device support, so atmel-samd doesn't need it. These modules are
already on esp8266 so I think nrf52 seems like the only one that
needs it.
2018-05-11 07:41:09 -05:00
Scott Shawcroft
51106db93d
Merge pull request #827 from dhalbert/3.0_pb_pins_digitalinout
...
PBxx pins were not setting DRVSTR or reporting PULL properly
2018-05-10 20:42:26 -07:00
Dan Halbert
240659da0e
PBxx pins were not setting DRVSTR or reporting PULL properly
2018-05-10 23:09:51 -04:00
Jeff Epler
2acd5d88b6
nrf52: enable framebuf module
...
Closes : #656
2018-05-10 18:37:08 -05: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
Lars Kellogg-Stedman
56bf411d21
esp8266/modutime.c: remove symbol conflicts between time and utime modules
...
this renames symbols in modutime.c so that it no longer conflicts with
the time module. This commit does not enable the utime module; it
simply makes it easier for a local developer to do so.
2018-05-07 11:55:20 -04:00
jerryneedell
b617271191
Update mpconfigport.h
...
comment out define of CIRCUITPYTHON_BOOT_OUTPUT_FILE for NRF52 -- it does not work properly
2018-05-07 08:59:24 -04: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
Scott Shawcroft
a8bd37f14d
Merge pull request #799 from larsks/feature/circuitpython/station-ssid
...
esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
2018-05-03 10:12:50 -07:00
Lars Kellogg-Stedman
1e0353e2db
esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
...
This patch enables iface.config('essid') to work for both AP and STA
interfaces.
(cherry picked from commit d8fdb77ac9
)
2018-05-03 11:49:37 -04:00
Lars Kellogg-Stedman
ad1b16a3ec
ports/esp8266: try both binascii and ubinascii in inisetup.py
...
in recent circuitpython builds, `ubinascii` is available as
`binascii`. This modifies `modules/inisetup.py` to use the same
import semantics as `modules/websocket_helper.py`: first try importing
`ubinascii`, and if that fails, fall back to importing `binascii`.
Closes adafruit/circuitpython#795
2018-05-03 09:23:54 -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
Scott Shawcroft
449385b250
Merge pull request #790 from dhalbert/cpu_temp
...
Implement microcontroller.cpu.temperature.
2018-05-02 12:23:03 -07:00
Dan Halbert
33b9c39f58
peripherals.c should include peripherals.h
2018-05-02 13:50:34 -04:00
Lars Kellogg-Stedman
3e35cbcd5b
allow esptool.py invocation to be set via make vars
...
This commit replaces the literal calls to `esptool.py` with the
`$(ESPTOOL)` Makefile variable. This allows one to set the esptool
invocation on the Make command line:
make ESPTOOL="python2 $(which esptool.py)"
(or via the environment, an include file, etc)
Closes #793
2018-05-02 09:47:01 -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
Scott Shawcroft
dd0f8689a1
Merge pull request #786 from notro/rtc_set_datetime_precision
...
atmel-samd: RTC: Improve precision when setting datetime
2018-04-29 20:30:37 -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
sommersoft
396e4ffc34
implemented 'claim_pin' methodology; updated 'open_drain' handling
2018-04-28 17:27:23 +00:00