Commit Graph

6809 Commits

Author SHA1 Message Date
Scott Shawcroft
2098515f6a atmel-samd: Rework pin definitions to share most of the data structures and included based on ASF defines. 2016-10-26 17:57:47 -07:00
Scott Shawcroft
73848f4cd0 atmel-samd: Stop aliasing os to uos and time to utime. They expose different APIs. Fixes #23. 2016-10-26 13:33:50 -07:00
Scott Shawcroft
34fa81eaf3 atmel-samd: Hook in DTR for more ports and make the serial TX more resiliant to long strings. 2016-10-26 13:32:41 -07:00
Scott Shawcroft
04284a9fe3 Merge pull request #38 from tannewt/autoreset
atmel-samd: Support auto-reset based on USB write activity.
2016-10-26 11:12:55 -07:00
Scott Shawcroft
d189a3f3cf atmel-samd: Support auto-reset based on USB write activity.
It will soft-reboot micropython after a burst of writes to the
file system. This means that after you save files on your computer
they will be automatically rerun.

This can be disabled in the build by unsetting AUTORESET_TIMER in
mpconfigboard.h.

Using the REPL will also prevent the soft resets until you reset
with CTRL-D manually.
2016-10-25 18:36:37 -07:00
Scott Shawcroft
614c1fdba2 atmel-samd: Only output to USB after DTR and don't send anything larger than the room left in the USB TX buffer. 2016-10-25 18:29:04 -07:00
Scott Shawcroft
b7768a74a7 atmel-samd: Fix file system init.
Adding the USB write protection prevented file system reset from
working. Since it happens before USB start we temporarily set the
volume to writeable and then set it back to read-only before USB is
started.
2016-10-25 15:13:43 -07:00
Scott Shawcroft
d05299f57a atmel-samd: Add D13 led as mass storage write indicator. 2016-10-25 15:06:05 -07:00
Scott Shawcroft
3a5aad516a atmel-samd: Remove unused header. 2016-10-25 15:04:20 -07:00
Scott Shawcroft
fff96a0ce6 atmel-samd: Fix include guard. 2016-10-25 15:03:22 -07:00
Scott Shawcroft
16584dfee6 atmel-samd: Fix the Feather builds by switching to the VFS mass storage implementation. 2016-10-24 12:42:09 -07:00
Scott Shawcroft
82526b803c Add Travis CI badge. 2016-10-24 12:33:59 -07:00
Scott Shawcroft
58f37fc013 Build mpy-cross first because other builds depend on it. 2016-10-24 12:12:22 -07:00
Scott Shawcroft
710bf34fbd Add atmel-samd boards to travis build. 2016-10-24 11:59:50 -07:00
Scott Shawcroft
f5ca66805b atmel-samd: Tweak DAC logic for clarity. Thanks @bcr for the suggestion. 2016-10-21 17:08:14 -07:00
Scott Shawcroft
30dc24191f Merge pull request #31 from tannewt/external_flash
Add support for external flash chips and improve mass storage.
2016-10-21 16:38:57 -07:00
Scott Shawcroft
b2834c30a6 atmel-samd: Support reading from the flash cache. 2016-10-21 16:04:18 -07:00
Scott Shawcroft
98c8f2f6a3 atmel-samd: Update the FatFs sector cache on USB mass storage write
to the same sector.

This fixes #20, the issue where a listdir or import won't work
without a reset when it was run before the file was copied.
2016-10-21 15:44:10 -07:00
Scott Shawcroft
b8ef783052 extmod: Fix getting sector size when the max and min sizes are the
same.

Also switch the max size back to 512 for atmel-samd to save ram.
2016-10-21 15:44:10 -07:00
Scott Shawcroft
9eb86e8015 Add support for USB writeable, MicroPython read-only volumes.
This prevents file system corruption due to two systems mutating
it at once.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
eb62d03e33 atmel-samd: Add flash write activity LED. 2016-10-21 15:44:09 -07:00
Scott Shawcroft
8b1526e95e atmel-samd: Add a heap based cache for writing to flash.
The code will fallback to the flash scratch space when the GC
cannot allocate us enough memory.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
bb1822faea atmel-samd: Support external flash on the Metro M0 w/Flash.
This uses a scratch flash sector to save data before writing a full sector.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
46f6f9f899 atmel-samd: Start USB at the end so storage is initialized. 2016-10-21 15:44:09 -07:00
Scott Shawcroft
aacb1adcd1 atmel-samd: Add linker file for bootloaderless board with external flash. 2016-10-21 15:44:08 -07:00
Scott Shawcroft
853e5fc652 atmel-samd: Ensure at least 2k is left for the stack. 2016-10-21 15:43:24 -07:00
Scott Shawcroft
306c921ed1 atmel-samd: Rework mass storage interaction with underlying block
storage to use micropython's VFS interface.

This makes mass storage work with any VFS implementation rather
than a single one.
2016-10-21 15:36:59 -07:00
Scott Shawcroft
6fe8c7b32c Merge pull request #26 from adafruit/ssd1306_hardware_i2c
Support SSD1306 with hardware I2C interface. Closes #15
2016-10-20 16:17:02 -07:00
Tony DiCola
a23cc5aa14 drivers: Remove SSD1306 driver, it lives in separate micropython-adafruit-ssd1306 repo now. 2016-10-20 23:13:22 +00:00
Tony DiCola
f539312af3 atmel-samd: Enable framebuffer for SSD1306 and other displays. 2016-10-20 23:10:28 +00:00
Tony DiCola
00a44fa36c Merge remote-tracking branch 'micropython/master'
Conflicts:
	README.md - Kept Adafruit README.md intact.
	py/emitglue.c - Added xtensa architecture as an OR of the define.
	zephyr/README.md - Fixed spelling mistake.
2016-10-20 23:01:13 +00:00
Paul Sokolovsky
3967ca7390 stmhal/Makefile: Use standard rules for frozen module generation.
As defined in py/py.mk.
2016-10-21 01:27:17 +03:00
Paul Sokolovsky
b440307b4a py/py.mk: Automatically add frozen.c to source list if FROZEN_DIR is defined.
Now frozen modules generation handled fully by py.mk and available for reuse
by any port.
2016-10-21 01:08:43 +03:00
Scott Shawcroft
1f13f870b8 Merge pull request #25 from adafruit/drivers-more
Update drivers.rst
2016-10-20 10:16:59 -07:00
Radomir Dopieralski
0901c145ba Update drivers.rst 2016-10-20 18:58:46 +02:00
Scott Shawcroft
2cc1b25eef Merge pull request #24 from adafruit/urandom
atmel-samd: Enable full urandom module from extmod. Closes #17.
2016-10-20 09:20:18 -07:00
Paul Sokolovsky
3f251efb9b esp8266/modules/webrepl: Enforce only one concurrent WebREPL connection.
Concurrent WebREPL connections were never supported, now actually check
for this.
2016-10-20 16:50:38 +03:00
Tony DiCola
5333f5f987 atmel-samd: Enable full urandom module from extmod. 2016-10-20 06:41:21 +00:00
Scott Shawcroft
0cb0bd0f25 atmel-samd: More updates to the docs including the in-code docs. 2016-10-19 16:49:35 -07:00
Scott Shawcroft
7ebc9a4511 Switch away from sphinx.parsers which isn't available in sphinx 1.3.5 on Read The Docs. 2016-10-19 10:53:37 -07:00
Scott Shawcroft
4c9fcd6d21 Support markdown. 2016-10-19 10:53:37 -07:00
Scott Shawcroft
d28b456b31 Add title to contributing doc. 2016-10-19 10:53:37 -07:00
Scott Shawcroft
6fcb54d2ca Merge pull request #18 from turbinenreiter/master
Add Adalogger board definition in preparation of adding SD card support.
2016-10-19 09:23:44 -07:00
Sebastian Plamauer
9b1170a65d [atmel-samd] add adalogger board definitions 2016-10-19 10:02:01 +02:00
Alex March
84679e0c06 extmod/vfs_fat_file: Check fatfs f_sync() and f_close() returns for errors. 2016-10-19 15:57:07 +11:00
Damien George
17ba6ef5fa cc3200: Fix thread mutex's so threading works with interrupts.
Running Python code on a hard interrupt is incompatible with having a GIL,
because most of the time the GIL will be held by the user thread when the
interrupt arrives.  Hard interrupts mean that we should process them right
away and hence can't wait until the GIL is released.

The problem with the current code is that a hard interrupt will try to
exit/enter the GIL while it is still held by the user thread, hence leading
to a deadlock.

This patch works around such a problem by just making GIL exit/enter a
no-op when in an interrupt context, or when interrupts are disabled.

See issue #2406.
2016-10-19 14:24:56 +11:00
Scott Shawcroft
46e7f8e4fb Documentation rework to unify the docs together rather than having them
on a per port basis.

Also enables generating docs from inline RST in C code. Simply omits all
lines except those that start with //|. Indentation after "//| " will be
preserved.
2016-10-18 17:42:47 -07:00
Paul Sokolovsky
204222653e esp8266/main: Mark nlr_jump_fail() as MP_FASTCODE.
It's probably not strictly needed so far, but serves as an example of
MP_FASTCODE use and may be helpful in the future.
2016-10-19 00:21:14 +03:00
Paul Sokolovsky
9514d847fe esp8266: Add MP_FASTCODE modifier to put a function to iRAM.
It can be used in the following manner:

void MP_FASTCODE(foo)(int arg) { ... }
2016-10-19 00:20:10 +03:00
Paul Sokolovsky
462748de0c esp8266/esp8266.ld: Move main.o to iROM. 2016-10-19 00:12:54 +03:00