Commit Graph

240 Commits

Author SHA1 Message Date
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
Scott Shawcroft 3e79638b9c
Merge pull request #603 from siddacious/SAMD51G_support
Added SAMD51G support as per issue #597
2018-02-08 09:55:48 -08:00
Kevin Townsend e5f0cfcf20
Merge pull request #604 from arturo182/nrf_bitbangio
nrf: Use the shared bitbangio module
2018-02-08 09:57:44 +01:00
Bryan Siepert dfc2b82ede Added SAMD51G support as per issue #597 2018-02-07 21:23:25 -08:00
Kevin Townsend 71128b575f
Merge pull request #602 from arturo182/nrf_struct
nrf: Use the shared struct module
2018-02-08 00:56:31 +01:00
arturo182 a7cde0e49a nrf: Fix pca10040 support
Works with no SD, or s132 2.0.1 and 5.0.0.
2018-02-07 23:41:21 +01:00
arturo182 381f47bfb0 nrf: Only support SD 132 v2.0.1 and v5.0.0 and SD 140 v6.0.0 2018-02-07 22:44:27 +01:00
arturo182 8bfdaa89b9 nrf: Remove SAMD mentions carried over while copying files 2018-02-07 22:44:27 +01:00
arturo182 05bd5d4ee6 nrf: Remove nRF51 boards and files, update README 2018-02-07 22:44:13 +01:00
arturo182 29ae4cdd1c nrf: Fix building pca10056 without SD 2018-02-07 22:41:26 +01:00
arturo182 47c8e20e5a nrf: Make sure to not use SD functions when SD not available 2018-02-07 22:41:20 +01:00
Kevin Townsend 9d191f7f9f
Merge pull request #589 from arturo182/nrf_gamepad
nrf: Implement ticks, add gamepad module and example
2018-02-07 22:17:05 +01:00
arturo182 afaee7f782 nrf: Use the shared bitbangio module 2018-02-07 00:03:23 +01:00
arturo182 021df5d3d3 nrf: Cleanup AnalogOut and throw an exception in constructor
The nRF MCUs do not support analog output. Throwing an exception
in the constructor will stop users from creating an instance of
the AnalogOut class.

In the future we can ifdef-out the whole class so it is not available
in the module at all.
2018-02-06 21:15:49 +01:00
Kevin Townsend c433a82082
Merge pull request #573 from arturo182/master
nRF port improvements and pca10056 support
2018-02-06 15:26:40 +01:00
arturo182 d1b2f69771 nrf: Use the shared struct module 2018-02-05 20:50:06 +01:00
arturo182 1de2ee6884 nrf: Implement ticks, add gamepad module and example 2018-02-05 20:48:25 +01:00
arturo182 76f5c01798 nrf: Get the port working on pca10056 (nRF52840) 2018-02-05 20:38:41 +01:00
arturo182 a64b5c84de nrf: Fix missing LED GPIO initialization
led_init was never called, which means the GPIOs were never set to
output and the LEDs didn't work.
2018-02-03 13:51:11 +01:00
arturo182 6731b47d5a nrf: Implement MCU temperature reading
If softdevice is available and enabled the SD function will be used,
otherwise use MCU registers.
2018-02-02 20:33:21 +01:00
arturo182 c6a542d166 nrf: Add SD 6.0.0-6.alpha to the download script 2018-02-02 20:31:47 +01:00
arturo182 fed9087274 nrf: Add flash section for fatfs for no SD pca10056 2018-02-02 20:31:47 +01:00
arturo182 616cbc6271 nrf: Use more generic header
It will include the mcu-specific header based on defines.
2018-02-02 20:31:47 +01:00
arturo182 d0b451be94 nrf: Use the right SPI registers on nRF52840 2018-02-02 20:31:47 +01:00
arturo182 a776c2a51c nrf: Fix errorneous indent
Otherwise we get the "recipe commences before first target" messsage.
2018-02-02 20:31:47 +01:00
Dan Halbert eb49359aec CPX: typo in mpconfigboard.h broke CIRCUITPY 2018-01-30 15:48:22 -05:00
Dan Halbert 64831f4e7d add SPI.frequency to nRF 2018-01-30 13:23:00 -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
sommersoft fe851fc15e re-added header inlcusion for system_get_chip_id 2018-01-23 13:50:24 -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
hathach dfa6b6e9c5 add Ctrl+C for REPL over bleuart 2018-01-18 11:32:47 -08:00
Kevin Townsend d5af898999 Added note on REPL over NUS 2018-01-18 11:32:47 -08:00
hathach 5e6f113779 add REPL via bleuart 2018-01-18 11:32:47 -08:00
microbuilder fda065ea89 Minor scan example cleanup 2018-01-18 11:32:47 -08:00
microbuilder e2ebcbe514 Simple BLE scanner example 2018-01-18 11:32:47 -08:00
microbuilder 1276c12097 Enable SD132v2.0.1 BLE and UBLUEPY support by default 2018-01-18 11:32:47 -08:00
Dan Halbert 23eb79ca8f turn on MICROPY_ENABLE_SOURCE_LINE in nrf 2018-01-16 18:11:54 -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 19d353ccd9 nrf: fixups for changes from 2.2
1. bidirectional SPI support (@microbuilder please check)
2. slight changes in DigitalIO types
3. placeholders (not implemented yet) for single/double-click bootloader support
2018-01-03 16:50:57 -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
hathach a997ab258e spacing clean up 2017-12-29 23:07:32 +07:00
hathach 7f79a0e78c added Ctrl+C interrupt 2017-12-29 22:43:31 +07:00
hathach a021a9e5f0 update uart to remove dependency on machine uart module 2017-12-29 21:25:43 +07:00
microbuilder 178925640b Moved comment to avoid abbreviation 2017-12-27 21:13:39 +01:00
microbuilder a14bfeba64 Merge branch 'nrf52_3.x' of github.com:microbuilder/circuitpython into nrf52_3.x 2017-12-22 12:03:41 +01:00
microbuilder 60feb1a9aa Added .gitattributes for ZIP bin support 2017-12-22 12:03:25 +01:00
Kevin Townsend b3928288f0
Add files via upload 2017-12-22 12:02:15 +01:00
Kevin Townsend 8dcd9cc35c
Delete feather52_bootloader_5.0.0_s132_single.zip 2017-12-22 12:00:41 +01:00
Kevin Townsend de72f7fabb
Delete feather52_bootloader_2.0.1_s132_single.zip 2017-12-22 12:00:34 +01:00
microbuilder ad7cd0399d Added 'mp_raise_NotImplementedError(NULL)' 2017-12-22 11:48:07 +01:00
microbuilder b9e229f739 Removed old code snippets 2017-12-22 11:47:15 +01:00
microbuilder ace872bf11 Added 'mp_raise_NotImplementedError(NULL)' 2017-12-22 11:45:51 +01:00
microbuilder a3289c3c2f Added D13 for standard LED examples 2017-12-22 11:42:33 +01:00
microbuilder 393bc9bce9 Removed leftover code snippet 2017-12-22 11:39:40 +01:00
microbuilder c868b66f5b Minor typo removed in path 2017-12-22 11:33:17 +01:00
microbuilder 99dd0a61ff Spaces to tabs 2017-12-22 11:29:39 +01:00
microbuilder 60a23f0fb6 nRF52 update with internal file system support 2017-12-21 13:49:14 +01: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
Kevin Townsend ce75a21e50 Revert "Supervisor REPL support for ports/nrf/boards/feather52"
This reverts commit 92113dde81.
2017-11-23 13:38:38 +01:00
Kevin Townsend 92113dde81 Supervisor REPL support for ports/nrf/boards/feather52 2017-11-23 09:22:11 +01: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
Kevin Townsend 237cc954e3 Fixed feather52 DFU support 2017-11-10 09:17:24 +01: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
Jerry Needell e2867eb4e9 enable framebuf for ESP8266 2017-11-06 14:54:54 -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 7b393bc406 Merge tag 'v1.9.3'
Introduction of ports subdirectory where all ports are moved to

The main change in this release is the introduction of a "ports/"
subdirectory at the top-level of the repository, and all of the ports are
moved here.  In the process the "stmhal" port is renamed to "stm32" to
better reflect the MCU that it targets.  In addition, the STM32 CMSIS and
HAL sources are moved to a new submodule called "stm32lib".

The bytecode has changed in this release, compared to the previous release,
and as a consequence the .mpy version number has increased to version 3.
This means that scripts compiled with the previous mpy-cross must be
recompiled to work with this new version.

There have also been various enhancements and optimisations, such as:
check for valid UTF-8 when creating str objects, support for reverse
special binary operations like __radd__, full domain checking in the math
module, support for floor-division and modulo in the viper emitter,
and addition of stack overflow checking when executing a regex.

The stm32 port sees improved support for F7 MCUs, addition of a new board
B_L475E_IOT01A based on the STM32L475, and support for the Wiznet W5500
chipset along with improved socket behaviour.

A detailed list of changes follows.

py core:
- objstr: startswith, endswith: check arg to be a string
- nlrx86,x64: replace #define of defined() with portable macro usage
- objtype: handle NotImplemented return from binary special methods
- objtype: mp_obj_class_lookup: improve debug logging
- map: remove unused new/free functions
- make m_malloc_fail() have void return type, since it doesn't return
- modstruct: in struct.pack, stop converting if there are no args left
- modstruct: check and prevent buffer-read overflow in struct unpacking
- modstruct: check and prevent buffer-write overflow in struct packing
- nlrthumb: get working again on standard Thumb arch (ie not Thumb2)
- objfloat: fix binary ops with incompatible objects
- obj: fix comparison of float/complex NaN with itself
- objtype: implement fallback for instance inplace special methods
- objtuple: properly implement comparison with incompatible types
- objstr: add check for valid UTF-8 when making a str from bytes
- objlist: properly implement comparison with incompatible types
- runtime0.h: move relational ops to the beginning of mp_binary_op_t
- runtime0.h: move MP_BINARY_OP_DIVMOD to the end of mp_binary_op_t
- objtype: make sure mp_binary_op_method_name has full size again
- runtime0.h: put inplace arith ops in front of normal operations
- builtinhelp: simplify code slightly by extracting object type
- runtime: implement dispatch for "reverse op" special methods
- nlrx86: fix building for Android/x86
- builtinhelp: change signature of help text var from pointer to array
- runtime.h: change empty mp_warning macro so var-args are non empty
- modbuiltins: implement abs() by dispatching to MP_UNARY_OP_ABS
- {objfloat,objcomplex}: optimise MP_UNARY_OP_ABS by reusing variables
- mpconfig.h: add note that using computed gotos in VM is not C99
- objstr: strip: don't strip "\0" by default
- objexcept: prevent infinite recursion when allocating exceptions
- stream: remove unnecessary checks for NULL return from vstr_add_len
- vstr: raise a RuntimeError if fixed vstr buffer overflows
- vm: use lowercase letter at start of exception message
- persistentcode: define mp_raw_code_save_file() for any unix target
- add config option to print warnings/errors to stderr
- objfloat: support raising a negative number to a fractional power
- objset: simplify set and frozenset by separating their locals dicts
- objset: check that RHS of a binary op is a set/frozenset
- objset: include the failed key in a KeyError raised from set.remove
- objtype: change type of enum-to-qstr table to uint16_t to save space
- objstr: make empty bytes object have a null-terminating byte
- mpprint: only check for null string printing when NDEBUG not defined
- objtype: clean up unary- and binary-op enum-to-qstr mapping tables
- persistentcode: bump .mpy version number to version 3
- bc: update opcode_format_table to match the bytecode
- modmath: add full checks for math domain errors
- modmath: convert log2 macro into a function
- formatfloat: don't print the negative sign of a NaN value
- formatfloat: use standard isinf, isnan funcs instead of custom ones
- modbuiltins: use existing utf8_get_char helper in builtin ord func
- emitnative: implement floor-division and modulo for viper emitter
- objtype: use CPython compatible method name for sizeof
- objtype: fit qstrs for special methods in byte type
- objtype: define all special methods if requested
- objtype: introduce MICROPY_PY_ALL_INPLACE_SPECIAL_METHODS

extmod:
- modubinascii: only include uzlib/tinf.h when it's really needed
- modussl_mbedtls: allow to compile with MBEDTLS_DEBUG_C disabled
- machine_pinbase: put PinBase singleton in ROM
- re1.5: upgrade to v0.8.2, adds hook for stack overflow checking
- modure: add stack overflow checking when executing a regex
- uos_dupterm: update uos.dupterm() and helper funcs to have index
- uos_dupterm: swallow any errors from dupterm closing the stream
- vfs: replace VLA in proxy func with small, static sized array
- modussl: add finaliser support for ussl objects
- modussl_mbedtls: allow to compile with unix coverage build

lib:
- add new submodule, stm32lib containing STM32 CMSIS and HAL source
- embed/abort_: use mp_raise_msg helper function
- libm: fix tanhf so that it correctly handles +/- infinity args
- libm: remove implementation of log2f, use MP_NEED_LOG2 instead
- axtls: update, support for SSL_EAGAIN return code
- berkeley-db-1.xx: update, allow to override MINCACHE, DEFPSIZE

drivers:
- memory/spiflash: change from hard-coded soft SPI to generic SPI
- display/ssd1306.py: improve performance of graphics methods
- nrf24l01: make nRF24L01 test script more portable
- display/ssd1306: implement SSD1306_I2C poweron method
- display/ssd1306: make poweron() work the same with SSD1306_SPI
- wiznet5k: improve the performance of socket ops with threading
- wiznet5k: get low-level W5500 driver working

tools:
- upip: upgrade to 1.2.2
- pyboard: use repr() when quoting data in error messages
- pyboard: update docstring for additional device support

tests:
- object_new: better messages, check user __new__() method
- class_new: add checks for __init__ being called and other improvements
- class_new: add another testcase for __new__/__init__ interaction
- class_inplace_op: test for inplace op fallback to normal one
- run-bench-tests: update locations of executables, now in ports/
- class_reverse_op: test for reverse arith ops special methods
- run-tests: skip class_inplace_op for minimal profile
- run-tests: fix copy-paste mistake in var name
- cpydiff: add cases for locals() discrepancies
- extmod: add test for ure regexes leading to infinite recursion
- extmod: add test for '-' in character class in regex
- run-tests: close device under test using "finally"
- net_inet: update tls test to work with CPython and incl new site

unix port:
- rename modsocket.c to modusocket.c
- modusocket: remove #if MICROPY_SOCKET_EXTRA code blocks
- enable MICROPY_PY_REVERSE_SPECIAL_METHODS

stm32 port:
- modmachine: make machine.bootloader() work when MPU is enabled
- modmachine: improve support for sleep/deepsleep on F7 MCUs
- compute PLL freq table during build instead of at run time
- modmachine: for F7 MCU, save power by reducing internal volt reg
- boards/pllvalues.py: make script work with both Python 2 and 3
- Makefile: use lib/stm32lib instead of local cmsis and hal files
- remove cmsis and hal files, they are now a submodule
- Makefile: automatically fetch stm32lib submodule if needed
- update to new STM Cube HAL library
- fix clock initialisation of L4 MCUs
- rename stmhal port directory to stm32
- remove unused usbd_msc.c file
- boards: change remaining stm32f4xx_hal_conf.h to unix line ending
- boards: change linker scripts to use "K" instead of hex byte size
- boards: fix I2C1 pin mapping on NUCLEO_F401RE/F411RE boards
- i2c: when scanning for I2C devices only do 1 probe per address
- modnwwiznet5k: release the GIL on blocking network operations
- boards: add new board B_L475E_IOT01A based on STM32L475
- make-stmconst.py: make sure mpz const data lives in ROM
- timer: make pyb.Timer() instances persistent
- mpconfigport.h: add configuration for max periphs on L4 series
- usbdev: make the USBD callback struct const so it can go in ROM
- usbdev: change static function variable to non-static
- usbdev: put all CDC state in a struct
- usbdev: put all HID state in a struct
- usbdev: simplify CDC tx/rx buffer passing
- usbdev: simplify HID tx/rx buffer passing
- usbdev/core: add state parameter to all callback functions
- usbdev: put all state for the USB device driver in a struct
- usbdev: simplify pointers to MSC state and block dev operations
- usbdev: merge all global USB device state into a single struct
- usbdev: make device descriptor callbacks take a state pointer
- usbdev: move all the USB device descriptor state into its struct
- timer: enable ARPE so that timer freq can be changed smoothly
- modnwwiznet5k: get the IP address of an established socket
- boards: fix typos in stm32f767_af.csv table
- usbd_cdc_interface: don't reset CDC output buf on initialisation
- modnwwiznet5k: implement WIZNET5K.isconnected() method
- modusocket: make getaddrinfo() work when passed an IP address
- modusocket: return OSError(-2) if getaddrinfo fails
- mpconfigport.h: add MICROPY_THREAD_YIELD() macro
- modnwwiznet5k: add support for W5500 Ethernet chip
- modnwwiznet5k: increase SPI bus speed to 42MHz
- modnwwiznet5k: implement stream ioctl for the Wiznet driver
- mphalport: improve efficiency of mp_hal_stdout_tx_strn_cooked
- make uos.dupterm() conform to specs by using extmod version

cc3200 port:
- enable micropython.kbd_intr() method
- use standard implementation of keyboard interrupt

esp8266 port:
- rename axtls_helpers.c to posix_helpers.c
- posix_helpers: set ENOMEM on memory alloc failure
- set DEFPSIZE=1024, MINCACHE=3 for "btree" module
- esp_mphal: send data in chunks to mp_uos_dupterm_tx_strn
- modnetwork: add "bssid" keyword arg to WLAN.connect() method
- modules/webrepl_setup: add info about allowed password length

zephyr port:
- Makefile: revamp "test" target after ports were moved to ports/
- use CONFIG_NET_APP_SETTINGS to setup initial network addresses
- switch to interrupt-driven pull-style console

pic16bit port:
- add definition of SEEK_SET to unistd.h

docs:
- pyboard/tutorial: add "timeout=0" to UART in pass-through example
- more xrefs to "MicroPython port" in glossary
- library/network: fix ref to "socket" module (should be "usocket")
- machine.Signal: improve style/grammar and add usage example
- library: add description of "index" parameter to uos.dupterm()
- library/micropython: fix typo in RST formatting
- library/framebuf.rst: generalise constructor to all colour formats
- btree: describe page caching policy of the underlying implementation
- esp8266/tutorial: update neopixel with example of using 4 bbp
- library/network: clarify usage of "bssid" arg in connect() method
- pyboard/quickref: add info for Switch, RTC, CAN, Accel classes
- pyboard/tutorial: update now that yellow LED also supports PWM
- esp8266/quickref: add quickref info for RTC class
- library: add missing cross-ref links for classes in pyb module
- library/network: update docs to state that W5500 is supported
- uselect: document one-shot polling mode
- usocket: elaborate descriptions
- usocket: document inet_ntop(), inet_pton()
- library/network: add dhcp_hostname parameter
- reference/isr_rules: minor typo correction
- ussl: fix module name refs and use "MicroPython port" term
- esp8266/general: add section on TLS limitations
- usocket: document that settimeout() isn't supported by all ports
- ure: add "|" (alternative) to the list of supported operators
- reference/isr_rules.rst: add tutorial on use of micropython.schedule()

travis:
- use --upgrade when pip is installing cpp-coveralls
- update build command now that stm32 Wiznet config has changed

examples:
- hwconfig_console: add .on()/.off() methods

all:
- convert mp_uint_t to mp_unary_op_t/mp_binary_op_t where appropriate
- convert remaining "mp_uint_t n_args" to "size_t n_args"
- make new ports/ sub-directory and move all ports there
- update Makefiles and others to build with new ports/ dir layout
- remove inclusion of internal py header files
- use NULL instead of "" when calling mp_raise exception helpers

README:
- update "Dependencies" section
- add explicit section on contributing
- add gcc and arm-none-eabi-newlib to list of required components

.gitattributes:
- remove obsolete entries for stmhal/hal, stmhal/cmsis
- add entries for files that will move to ports/ dir
2017-11-02 12:41: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