Commit Graph

1240 Commits

Author SHA1 Message Date
Scott Shawcroft 121903b6ee
Tweaks based on feedback 2018-08-31 14:21:48 -07:00
Scott Shawcroft 6697544cdf
Introduce displayio to render graphics to displays.
It's designed to minimize RAM footprint by using Sprites to
represent objects on the screen. The object model also facilitates
partial screen updating which reduces the bandwidth needed to display.

This is all handled in C. Python simply manipulates the objects with
the ability to synchronize to frame timing.
2018-08-31 12:31:52 -07:00
Dan Halbert 93100a7517
Merge pull request #1146 from hathach/nrf52_usb_serial_bug
update tinyusb to fix #1007 serial issue
2018-08-28 15:39:34 -04:00
hathach 87811ec3a0 update readme board name feather_nrf52832 2018-08-28 16:15:20 +07:00
Scott Shawcroft 569a050e82
Merge pull request #1143 from notro/stat_epoch_fix
Fix os.stat() epoch and use RTC for file timestamp
2018-08-26 22:22:45 -07:00
ladyada ded38d30b6 rename pin.h to nrf_pin.h to avoid conflict with Pin.h 2018-08-26 20:37:12 -04:00
Noralf Trønnes b61cf8d81f samd: Use RTC to set file timestamp
Use RTC to set file timestamp for file operations done on the board.
2018-08-25 20:43:09 +02:00
Jerry Needell e8b94d0024 adjust SAMD51 neopixel_write timing 2018-08-24 07:01:50 -04:00
Dan Halbert 4cc33f8de6 Merge remote-tracking branch 'adafruit/master' into nrf_board_rename 2018-08-23 16:25:57 -04:00
Dan Halbert 728622f09d
Merge pull request #1139 from hathach/nrf52_usb_serial
use unique DevicID for usb serial
2018-08-23 09:30:31 -04:00
hathach 4a8cd03de1 use unique DevicID for usb serial 2018-08-23 14:00:54 +07:00
hathach fed1960424 remove s140 6.0.0 and s132 6.1.0 (not supported yet) 2018-08-23 00:27:39 +07:00
hathach 0c0ac06fc7 add SD 6.1.0 to download all 2018-08-22 23:09:09 +07:00
hathach 7961103ee6 update SD to v6.1.0 2018-08-22 21:51:30 +07:00
Dan Halbert 05ea9fd296 remove stray underscore 2018-08-22 10:26:52 -04:00
Dan Halbert eaf4d19dbb Merge remote-tracking branch 'adafruit/master' into nrf_board_rename
Merge #1137
2018-08-22 10:24:10 -04:00
hathach a516d1123f fix typos 2018-08-22 19:42:41 +07:00
hathach 02b1b53153 Merge branch 'master' into nrf52_dfu_touch1200 2018-08-22 15:24:12 +07:00
hathach fc955b1591 remove bootloader binaries, update readme for using adafruit-nrufitl and flashing bootloader 2018-08-22 15:22:17 +07:00
Dan Halbert c503cf990b forgot to change .travis.yml 2018-08-21 20:35:58 -04:00
Dan Halbert 85df32907f rename nrf boards to feather_nrf52832 and feather_nrf52840_express 2018-08-21 18:45:37 -04:00
hathach df4184e478 rename linker file to SD major version only 2018-08-21 16:02:57 +07:00
hathach 1c4accfa39 Merge branch 'nrf52_remove_boot_target' into nrf52_dfu_touch1200 2018-08-21 15:17:03 +07:00
hathach b7dd33b76e add touch 1200 for dfu-flash 2018-08-21 15:15:44 +07:00
Scott Shawcroft 182a8d7120
Merge pull request #1131 from tannewt/hallowing3
Support Hallowing in 3.x
2018-08-20 18:26:07 -07:00
Scott Shawcroft 2b6b0ffcd2
Remove HID from hallowing so we have more room for other stuff. 2018-08-20 18:04:35 -07:00
Scott Shawcroft 44de3d49a8
Speed up zero neopixel pulses.
SK6812 on 5v is pickier than WS2812 on 5v.

Hopefully fixes #1083.
2018-08-20 17:04:46 -07:00
ladyada aeeb40e02c
Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-20 10:52:33 -07:00
Dan Halbert 1768057e87
add HalloWing 2018-08-20 10:52:24 -07:00
Noralf Trønnes eefb6842a0 i2cslave: Fix missing translate() when raising exceptions
The translate() changes where applied after travis had checked the
i2cslave PR so this wasn't caught.
2018-08-18 16:00:06 +02:00
Scott Shawcroft 1a6f6ff8e4
Merge pull request #1122 from Jahor/patch-1
Fix PWM Support on port 1 of NRF52840
2018-08-17 16:54:03 -07:00
Scott Shawcroft 4a4d84ba42
Merge pull request #1064 from notro/i2cslave
Add busio.I2CSlave
2018-08-17 16:51:45 -07:00
Egor Leonenko 18e9f74738
Fix PWM Support on NRF52840
Replace usage of pin number alone with port+pin combination in NRF port of PWMOut
2018-08-17 19:34:03 +12:00
Scott Shawcroft e8cf6a9072
Update to merged peripheral change. 2018-08-16 18:05:53 -07:00
Scott Shawcroft 96534e598e
Fix unix coverage and update translations. 2018-08-16 17:41:53 -07:00
Scott Shawcroft 76e0373576
Fix nrf and unix 2018-08-16 17:41:38 -07:00
Scott Shawcroft 2cd166b573
Fix esp and samd 2018-08-16 17:41:35 -07:00
Scott Shawcroft de5a9d72dc
Compress all translated strings with Huffman coding.
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.

Builds without LTO work as well but include both untranslated
strings and compressed strings.

This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531.
2018-08-16 17:40:57 -07:00
Noralf Trønnes 11cbeb87ad ports/atmel-samd: Implement i2cslave.I2CSlave
This adds support for SAMD acting as a I2C slave in polled mode.
2018-08-16 17:20:49 +02:00
Noralf Trønnes b6822b86ac busio/I2C: Split out samd_i2c_get_sercom()
It will be shared with I2CSlave.
2018-08-16 17:06:40 +02:00
ladyada d8f2a61c39 Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-14 13:04:33 -04:00
hathach e1ccc07841 remove bootloader & dfu-bootloader target
user should go to bootloader repo to upgrade bootloader
2018-08-14 20:19:28 +07:00
Dan Halbert bbc034cd3d
Merge pull request #1104 from tannewt/more_strings
Fixes and translate more strings.
2018-08-09 20:00:18 -04:00
Scott Shawcroft 24e53ad591
Rework escaping and fix ESP build. 2018-08-09 15:58:45 -07:00
Scott Shawcroft 86d2154d71
Change file mode back. 2018-08-09 09:14:14 -07:00
Scott Shawcroft 94c5ceab36
Initial SAMR board revision. 2018-08-09 05:36:46 -07:00
Jeff Epler b0e33f6a11 atmel-samd: UART: allocate rx buffer in long-lived region
This is not strictly needed in order for #1056 to be resolved,
because the "make long-lived" machinery is unaware of this pointer.

However, as UARTs are assumed to be long-lived, this change is
beneficial because it moves the long-lived buffer into the upper
memory area with other long-lived objects, instead of remaining in
the low heap.
2018-08-08 19:21:57 -05:00
Dan Halbert 2e80f37709
Merge pull request #1096 from tannewt/tune_neopixel
Retune neopixel timings on SAMD51. They were too slow.
2018-08-07 21:33:12 -04:00
Scott Shawcroft b0dd645e27
Retune neopixel timings on SAMD51. They were too slow.
Fixes #1083
2018-08-07 16:58:37 -07:00
Scott Shawcroft 933add6cd8
Support internationalisation. 2018-08-07 14:58:57 -07:00
Dan Halbert 498fec64e2 increase new dynamic stack size to a comfortable value for now 2018-08-03 22:35:20 -04:00
Dan Halbert dfa2581ffd
Merge pull request #1057 from tannewt/flexible_heap
Add basic memory allocation outside Python runtime
2018-08-02 18:43:06 -04:00
Scott Shawcroft 5704bc8c93
Share memory.c and a bit of polish. 2018-08-02 14:35:46 -07:00
Scott Shawcroft 64e5691fe7
Update to peripherals merge. 2018-08-02 13:59:12 -07:00
Scott Shawcroft 168aa394db
Move pin struct to the peripherals library.
Its slimmed down by removing the qstr and bit packing TCC info.

The trinket m0 build actually grows by 20 bytes. The arduino zero
build shrinks by 188 bytes.
2018-08-02 13:59:05 -07:00
Scott Shawcroft b50f46d4be
Rename to SRC_QSTR_PREPROCESSOR for clarity. 2018-08-02 11:07:22 -07:00
Scott Shawcroft 8cf03d2d00
Speed up QSTR creation by pre-filtering files before pre-processing. 2018-08-02 00:51:52 -07:00
hathach 0bc3432106 Merge branch 'master' into nrf52_sys_module 2018-08-01 11:53:12 +07:00
Dan Halbert 65bd07bb0b
Merge pull request #1074 from hathach/nrf52840_usb_hid
Nrf52840 usb hid
2018-08-01 00:47:50 -04:00
hathach 592c190069 PR review clean up 2018-08-01 11:31:32 +07:00
hathach 8640d37149 try to address sys module, compile ok 2018-08-01 10:19:20 +07:00
hathach 200669216e more clean up 2018-08-01 08:52:07 +07:00
hathach bac233e99b clean up 2018-08-01 08:47:41 +07:00
hathach 533d8dda96 fix samd usb hid typo 2018-08-01 08:40:04 +07:00
hathach 6ddd8583da clean up 2018-08-01 08:20:20 +07:00
Scott Shawcroft a88cdaca6a
Remove rogue execute bit. Must a common incorrect shortcut for me. :-) 2018-07-31 12:42:21 -07:00
hathach 1e524f1b98 Merge branch 'master' into nrf52840_usb_hid 2018-08-01 00:58:23 +07:00
hathach 85bd46a4e1 enable MICROPY_PY_ARRAY_SLICE_ASSIGN, MICROPY_PY_BUILTINS_SLICE_ATTRS 2018-07-31 23:09:39 +07:00
hathach 4bece22c92 add hid keyboard LED indicator stub 2018-07-31 23:02:15 +07:00
hathach 05139e2aee all hid devices seems to be ok 2018-07-31 22:54:26 +07:00
hathach 2c85f42330 add usb hid syscontrol 2018-07-31 21:57:00 +07:00
hathach ef58adacd3 usb hid consumer control works 2018-07-31 21:19:02 +07:00
hathach fd661c1d57 improve usb hid 2018-07-31 21:06:24 +07:00
Scott Shawcroft b334289669
Reenable LTO for debug. 2018-07-31 05:18:23 -07:00
Scott Shawcroft 12cf5e51c2
Allow for resizing the stack area. 2018-07-31 05:18:23 -07:00
Scott Shawcroft 777542c716
Add basic memory allocation outside Python runtime
This allows for the heap to fill all space but the stack. It also
allows us to designate space for memory outside the runtime for
things such as USB descriptors, flash cache and main filename.

Fixes #754
2018-07-31 05:18:03 -07:00
hathach 27b2a9fe59 add usb_desc, disable tinyusb stack CFG_TUD_DESC_AUTO 2018-07-31 17:50:32 +07:00
hathach d15caf0dbd hid keyboard and mouse work well 2018-07-31 16:42:04 +07:00
hathach 221d54a595 workaround to use lib/utils/interrupt_char.c 2018-07-31 14:28:34 +07:00
hathach ae783b0b1a update tinyusb, set scsi sense key for unsupported commands 2018-07-31 13:54:58 +07:00
Scott Shawcroft a6d94b6845
Merge pull request #1068 from dhalbert/micropython-25ae98f-merge
Micropython 25ae98f merge
2018-07-30 12:33:44 -07:00
Dan Halbert fbe98ff9a9
Merge pull request #1071 from dhalbert/3.x-hallowing
add HalloWing
2018-07-29 20:24:47 -04:00
Dan Halbert 680597547c add HalloWing 2018-07-29 19:22:16 -04:00
Dan Halbert bfbb5cde5a put back test in qemu-arm build 2018-07-28 23:40:17 -04:00
Dan Halbert 2e260a0eab Merge remote-tracking branch 'adafruit/master' into micropython-25ae98f-merge 2018-07-28 14:13:54 -04:00
Dan Halbert f48b70050e merge finished 2018-07-28 13:29:47 -04:00
hathach 368d59796f adding usb_hid
compiled with undefined ref
2018-07-27 17:36:41 +07:00
hathach 21339c4155 house keeping 2018-07-27 17:22:21 +07:00
hathach e86f7d0b88 add usb msc callback description 2018-07-27 00:17:14 +07:00
hathach 5bdf40901f update tusb lib 2018-07-26 17:16:41 +07:00
Dan Halbert bc760dd341 WIP: complete manual inspection of all significant changes 2018-07-23 21:34:25 -04:00
hathach bb28faf39c arturo182 review 2018-07-17 23:57:49 +07:00
hathach a0b9871ba9 use seperate interrupt_char.c for nrf
move usb descriptors into usb.c
2018-07-17 21:52:20 +07:00
hathach d4e84a9bd4 Merge branch 'master' into fix_nrf52840_serial 2018-07-17 21:27:16 +07:00
hathach 3525d65af3 should fix #1021
- update tinyusb for wanted char
- move usb code into usb.c
2018-07-17 21:24:49 +07:00
Dan Halbert 2809b4f9dd Merge branch 'master' into micropython-25ae98f-merge 2018-07-16 19:36:40 -04:00
Dan Halbert a20ab40ed2 Merge 3.0.0 final bugfixes and changes to master 2018-07-16 09:01:46 -04:00
Dan Halbert e2e01efa84 compiles and runs; hangs on import storage;storage.VfsFat.<tab> 2018-07-13 22:51:10 -04:00
Dan Halbert bfe14ff824
Merge pull request #1014 from arturo182/nrf_shared_ble
nrf: Split the ble module into a shared part and the port implementation
2018-07-13 10:23:37 -04:00
Dan Halbert 414267388d
Merge pull request #1023 from arturo182/nrf_pyocd
nrf: Fix flashing with pyocd
2018-07-13 10:02:20 -04:00
arturo182 05c1384b67 nrf: Split the ble module into a shared part and the port implementation
This allows other ports to implement these shared bindings.
2018-07-13 16:01:15 +02:00
arturo182 883ca21321 nrf: Fix flashing with pyocd 2018-07-13 15:22:46 +02:00
arturo182 9729fc3d31 nrf: Fix BLE on nRF52840 after adding the USB functionality 2018-07-13 14:55:02 +02:00
Dan Halbert 7c219600a2 WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
hathach 873e20273e fix travis build 2018-07-12 02:17:55 +07:00
hathach f98c7f708e merge review 2018-07-12 01:37:23 +07:00
hathach 10846d316b Merge branch 'master' into nrf52840_usbboot 2018-07-11 21:35:44 +07:00
Dan Halbert 4962468fff
Merge pull request #1011 from arturo182/nrf_cleanup
nrf: More cleanup and porting
2018-07-10 15:44:30 -04:00
hathach a53b1c7cf1 code format 2018-07-10 22:49:51 +07:00
arturo182 eab00ff140 nrf: Remove even more unused files 2018-07-10 14:59:22 +02:00
arturo182 2c63fb2a94 nrf: Remove the random hal and module
Thus getting rid of the whole old hal!
The module is not needed because the common-hal
nRF implementation uses HW RNG anyway.
2018-07-10 14:59:22 +02:00
arturo182 1163462635 nrf: Remove the old time hal and replace with nRFx 2018-07-10 14:59:10 +02:00
Scott Shawcroft e875f4e52e
Merge pull request #1002 from arturo182/nrfx_gpio
nrf: Rewrite the DigitalInOut hal using nRFx
2018-07-09 17:54:38 -07:00
Dan Halbert 8bb363f7c4 must set pull after setting direction with gpio_set_pin routines 2018-07-09 17:18:06 -04:00
hathach 0e819599e7 Merge branch 'master' into nrf52840_usbboot 2018-07-10 02:02:52 +07:00
hathach 7715d19efe update bootloader hex 2018-07-10 01:20:37 +07:00
hathach 97a1ae911e add family option for uf2 2018-07-10 01:18:14 +07:00
hathach f199e87085 add ARRAY_SIZE
which is missing when building with debug mode
2018-07-10 01:06:57 +07:00
hathach c5089d7274 generate uf2 by default
update tusb
2018-07-10 01:02:33 +07:00
Dan Halbert 64b9ee9c74
Merge pull request #985 from tannewt/heap_tweaks3
A few heap related tweaks
2018-07-08 23:21:38 -04:00
Scott Shawcroft a45659c59a
Merge pull request #1000 from arturo182/nrfx_uart
nrf: Rewrite the UART HAL using nRFx
2018-07-08 20:17:47 -07:00
Scott Shawcroft 133b99b6f2
Merge pull request #999 from arturo182/nrf_mphalport
nrf: mphalport cleanup
2018-07-08 20:13:21 -07:00
Scott Shawcroft fd5634e4aa
Merge pull request #992 from arturo182/nrf_i2c_fix
nrf: Fix I2C transfers with data larger than HW allows
2018-07-08 20:12:09 -07:00
arturo182 388f554ff6 nrf: Rewrite the DigitalInOut hal using nRFx 2018-07-08 17:48:32 +02:00
arturo182 25ece8fb3d nrf: Rewrite the UART HAL using nrfx 2018-07-08 16:42:04 +02:00
arturo182 c6a2a55bc9 nrf: Cleanup mpconfigboard files
All the removed defines were used by legacy modules that are now
removed.
2018-07-08 15:18:11 +02:00
arturo182 887486582e nrf: Remove port-specific help
It contains mentions to the pyb module which was removed.
The ble-specific help will be re-added later when the API
is stabilized.
2018-07-08 15:18:11 +02:00
arturo182 1ea633c484 nrf: mphalport cleanup 2018-07-08 14:39:30 +02:00
arturo182 da27253693 nrf: Fix I2C transfers with data larger than HW allows 2018-07-06 21:12:24 +02:00
arturo182 ac74edb4e4 nrf: Fix SPI transfers with data larger than HW allows 2018-07-06 21:10:25 +02:00
hathach baf68a936e remove hal_time files 2018-07-06 15:59:20 +07:00
hathach 3e319694aa mp_hal_delay_ms() to call background task
remove hal_time.c
2018-07-06 15:48:01 +07:00
hathach 948ddf8463 make SD default to s140 and s132 for nrf52840 and nrf52832
add CFG_HWUART_FOR_SERIAL for using jlink as REPL
2018-07-06 14:39:49 +07:00
hathach 6ef3a0b181 implement filesystem_writable_by_python() 2018-07-06 13:01:07 +07:00
Scott Shawcroft 54179a0189
Use .s in samd Makefile too. 2018-07-05 04:44:00 -07:00
hathach 0806c0a38b update fatfs cached sector when running write10 2018-07-05 17:43:38 +07:00
hathach 4e5d9a029d clean up 2018-07-05 17:26:07 +07:00
hathach 0365912e28 implement msc with internal_flash api
Note: only work with SD is disabled.
2018-07-05 16:19:04 +07:00
hathach 3564e98181 implement msc flash, seems to work 2018-07-05 15:22:23 +07:00
hathach 1745e20391 replace jlink with native usb cdc for serial REPL 2018-07-05 11:30:12 +07:00
hathach be2ff20e42 enable usb cdc interface
not handle anything yet.
2018-07-04 17:15:49 +07:00
hathach 7fff7f5e70 add usb msc support for nrf52840 2018-07-04 16:40:53 +07:00
Scott Shawcroft 8fb976f0bd
Split out assembly source files. 2018-07-03 07:25:54 -07:00
mrmcwethy d9723bb613
include RTC fix for SAMd51 in circuitpython build 2018-07-03 06:52:05 -07:00
Scott Shawcroft 074c5ea144
Merge pull request #977 from dhalbert/update_crickit_libs-2
update crickit-related libs
2018-07-03 12:04:05 -07:00
Dan Halbert bf9981e8db bring all frozen libraries up to date 2018-07-03 14:39:21 -04:00
Scott Shawcroft dbc977485c
Support gathering register values on nrf. 2018-07-03 06:31:07 -07:00
Scott Shawcroft ec78d3cefd
Mark pointers in cpu registers as in use.
This prevents bugs where gc_collect is called from C code that did
a recent allocation.
2018-07-03 05:45:50 -07:00
hathach 46c453cf0a add tinyusb as submodule 2018-07-03 17:46:08 +07:00
hathach b14b28067e Merge branch 'master' into nrf52840_usbboot 2018-07-03 17:29:28 +07:00