Commit Graph

1175 Commits

Author SHA1 Message Date
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
Scott Shawcroft
bf00cde37d
Comment tweak after board change 2018-07-02 14:51:06 -07:00
Scott Shawcroft
b91202969a
Merge pull request #982 from arturo182/nrf_makefile
nrf: Save some flash bytes by using extra compile flags
2018-07-02 14:33:47 -07:00
Scott Shawcroft
05a088b369
Merge pull request #972 from arturo182/nrf_i2c
nrf: Rewrite the I2C common-hal using nrfx
2018-07-02 14:33:06 -07:00
arturo182
da491ec961 nrf: Save some flash bytes by using extra compile flags
Both of these are used in the atsamd port as well.
2018-07-02 22:00:04 +02:00
Dan Halbert
7c9a0e2996 remove unnecessary extern in nrf/mphalport.c 2018-06-29 16:06:51 -04:00
Dan Halbert
7028a399c2 remove previously added esp8266/mphalport.{c,h} 2018-06-29 16:04:18 -04:00
Dan Halbert
2a0b857643 implement mp_hal_delay_us() to not need interrupts, and use it 2018-06-29 16:01:46 -04:00
mrmcwethy
df4469f92b Test the BOARD parameter for nullness; display a error if nothing provided 2018-06-29 12:22:31 -07:00
mrmcwethy
d392f01f2c include RTC fix for SAMd51 in circuitpython build 2018-06-29 05:45:38 -07:00
Dan Halbert
b4fd77bb7c fix nrf and esp8266 builds for OneWire fix 2018-06-29 00:00:05 -04:00
Dan Halbert
52a11547cb fix OneWire timing and DigitalInOut.switch_to_input() 2018-06-28 23:32:20 -04:00
Scott Shawcroft
429168d4ac
Merge pull request #970 from arturo182/nrf_softdev
nrf: Remove unsupported softdevice defines
2018-06-28 14:01:19 -07:00
Scott Shawcroft
007155276a
Merge pull request #969 from arturo182/nrf_more_commonhal
nrf: Rewrite more common-hal with nrfx and sync with atsamd port
2018-06-28 14:00:45 -07:00
Scott Shawcroft
039b4dc00a
Merge pull request #968 from arturo182/nrf_qstr
nrf: Remove old qstr defines
2018-06-28 13:57:46 -07:00
Scott Shawcroft
ae82a93b56
Merge pull request #967 from arturo182/nrf_os
nrf: Rewrite the os common-hal using nrfx
2018-06-28 13:55:34 -07:00
arturo182
178c089045 nrf: Rewrite the I2C common-hal using nrfx 2018-06-28 22:45:02 +02:00
arturo182
6e6a500801 nrf: Rewrite the os common-hal using nrfx 2018-06-27 21:01:07 +02:00
arturo182
af5cb9c492 nrf: Remove unneeded hal files 2018-06-27 21:00:34 +02:00
arturo182
b87bba8a28 nrf: Rewrite more common-hal with nrfx and sync with atsamd port 2018-06-27 20:55:29 +02:00
arturo182
1fa8fac5d7 nrf: Remove old qstr defines
These were used by the microbit music module, which was removed.
2018-06-27 20:52:13 +02:00
arturo182
b9f02ca3c5 nrf: Remove unsupported softdevice defines 2018-06-27 20:48:57 +02:00
arturo182
2a12fcd18b nrf: Rewrite the AnalogIn common-hal using nrfx 2018-06-27 20:41:30 +02:00
hathach
c4f11dfd32 flash target update bootloader setting to skip crc checksum 2018-06-27 15:22:44 +07:00
hathach
8fbe1d73e9 clean up makefile 2018-06-27 15:13:20 +07:00
hathach
4920cc47ca move dfu-gen dfu-flash dfu-bootloader bootloader uf2 target to common Makefile since several board use it 2018-06-27 14:31:08 +07:00
hathach
bed7310fd7 update bin files 2018-06-27 14:13:18 +07:00
hathach
ecd3993d43 update pin map for feather52840 2018-06-27 14:06:15 +07:00
Dan Halbert
1f3de5174e Freeze Adafruit_CircuitPython_Crickit into crickit builds 2018-06-26 19:49:55 -04:00
Scott Shawcroft
91427b0b23
Merge pull request #959 from arturo182/nrf_spim
nrf: Rewrite the SPI common-hal using nrfx
2018-06-26 11:00:12 -07:00
Scott Shawcroft
d7d132d5a3
Merge pull request #960 from arturo182/nrf_stm_cleanup
nrf: Remove leftovers from stm32 code copy
2018-06-26 10:52:04 -07:00
arturo182
16973d0559 nrf: Remove unused hal files
Makes it easier to keep track of what's left to rewrite.
2018-06-26 00:13:41 +02:00
arturo182
2f1e678d60 nrf: Rewrite the SPI common-hal using nrfx
Use SPIM2 on nRF52832 and SPIM3 on nRF52840. SPIM3 is able to go
up to 32MHz!
2018-06-25 23:46:34 +02:00
arturo182
b14d13e318 nrf: Remove leftovers from stm32 code copy 2018-06-25 23:38:10 +02:00
hathach
8d065fe0e6 update reamde 2018-06-26 00:16:58 +07:00
hathach
54547683f9 add uf2, bootloader target 2018-06-25 23:31:14 +07:00
hathach
4722371be9 update bootloader hex with uf2 2018-06-25 23:27:00 +07:00
hathach
f5be5ed6ee Merge branch 'master' into nrf52840_usbboot 2018-06-25 17:12:24 +07:00
arturo182
596a1d8843 nrf: Rename feather52 to feather52832 in readme files 2018-06-22 10:04:39 +02:00
Damien George
a2ac7e4fc9 stm32/boards: Add .ld and af.csv files for STM32F722.
These files can also be used for F723, F732 and F733 MCUs.
2018-06-22 15:39:10 +10:00
Damien George
ec7982ec6d stm32/mboot: Add support for erase/read/write of external SPI flash.
This patch adds support to mboot for programming external SPI flash.  It
allows SPI flash to be programmed via a USB DFU utility in the same way
that internal MCU flash is programmed.
2018-06-22 15:30:34 +10:00
Damien George
7f41f73f0f stm32/qspi: Don't require data reads and writes to be a multiple of 4.
Prior to this patch the QSPI driver assumed that the length of all data
reads and writes was a multiple of 4.  This patch allows any length.  Reads
are optimised for speed by using 32-bit transfers when possible, but writes
always use a byte transfer because they only use a single data IO line and
are relatively slow.
2018-06-22 15:07:01 +10:00
jerryneedell
de4cd1ee73 add pins D3/D4 to pins.c
fixes  #948
2018-06-20 22:26:59 -04:00
arturo182
25e71a56d4 nrf: Update the PCA10056 example to use new pin naming 2018-06-20 23:39:36 +02:00
arturo182
deec17e4fe nrf: Remove really old examples
These examples rely on machine and pyb modules, so they have to get.
Leaving 3 BLE examples that also rely on those modules, but can be
fixed to use CP's modules.
2018-06-20 23:38:18 +02:00
arturo182
9c08db55ff nrf: Cleanup machine and microbit leftovers
The music module was useful when this port had support for the
microbit, now that it was removed, it's not so useful.
2018-06-20 23:30:34 +02:00
arturo182
c2d4d0a10b nrf: Simplify pin generation and definition
This commit cleans up the pin generation code, all the pins and their
AF (only ADC, for now) are specified in nrf52_af.csv and board use their
own csv file to specify which pins are available on that board and if
they have any special names.
2018-06-20 23:26:32 +02:00
arturo182
ff918556cd nrf: Simplify the board makefiles
With the only difference between a SD and non-SD build is the linker
file, there's no need to have two separate .mk per board files,
just use a conditional.
2018-06-20 21:21:45 +02:00
arturo182
5509f394dc nrf: Add a nrfx submodule and prepare for using the new drivers 2018-06-20 20:43:59 +02:00
arturo182
7cd34f2a94 nrf: Cleanup Makefile after nrf51 removal 2018-06-20 18:21:18 +02:00
arturo182
97f10241f9 nrf: Fix default board after feather52 rename 2018-06-20 18:21:18 +02:00
arturo182
b47a67d566 nrf: Remove machine, pyb and utime modules
Micropython legacy, keeping it consistent with atsam port.
2018-06-20 18:21:18 +02:00
jerryneedell
80d16cb7df
add pins D3/D4 to pins.c
fixes  #948
2018-06-19 22:34:29 -04:00
Damien George
561ae9a91b stm32/boards/NUCLEO_F091RC: Fix TICK_INT_PRIORITY so it is highest prio.
Fixes issue #3880.
2018-06-20 12:24:18 +10:00
Damien George
5962c210c5 stm32/mboot: Define constants for reset mode cycling and timeout.
And fix timeout value so that it does actually finish with reset_mode=1.
2018-06-19 23:23:17 +10:00
hathach
61437106e7 update bootloader for feather nrf52840 2018-06-19 15:27:07 +07:00
hathach
6d2702ed98 Merge branch 'master' into nrf52840_usbboot 2018-06-19 14:50:17 +07:00
Scott Shawcroft
4e7eee3553
Merge pull request #946 from arturo182/nrf_sd6
nrf: Use the production version of s140 6.0.0
2018-06-18 16:29:41 -07:00
arturo182
feee808955 nrf: Use the production version of s140 6.0.0 2018-06-18 23:12:28 +02:00
Scott Shawcroft
05547b72ac Switch to Feather52s full name to avoid confusion with the nrf52840 later.
Fixes #940
2018-06-18 10:51:04 -07:00
Damien George
e49cd106b4 stm32/spi: Fix SPI driver so it can send/recv more than 65535 bytes.
The DMA peripheral is limited to transferring 65535 elements at a time so
in order to send more than that the SPI driver must split the transfers up.

The user must be aware of this limit if they are relying on precise timing
of the entire SPI transfer, because there might be a small delay between
the split transfers.

Fixes issue #3851, and thanks to @kwagyeman for the original fix.
2018-06-18 17:41:14 +10:00
Damien George
338af99a7f stm32/can: Use MP_OBJ_ARRAY_TYPECODE_FLAG_RW where appropriate. 2018-06-18 13:42:05 +10:00
rolandvs
ca2b1d6b36 stm32/boards/NUCLEO_F091RC: Add Arduino-named pins and rename CPU pins.
To match pin labels on other NUCLEO 64 boards.
2018-06-18 13:06:27 +10:00
rolandvs
0d3de68669 stm32/boards/stm32f091_af.csv: Split labels that are multiple funcs. 2018-06-18 13:05:24 +10:00
Damien George
a5f5552a0a tests/unix/extra_coverage: Don't test stream objs with NULL write fun.
This behaviour of a NULL write C method on a stream that uses the write
adaptor objects is no longer supported.  It was only ever used by the
coverage build for testing the fail path of mp_get_stream_raise().
2018-06-18 12:35:56 +10:00
Damien George
ceff433fcc stm32/mboot: Adjust user-reset-mode timeout so it ends with mode=1.
If the user button is held down indefinitely (eg unintenionally, or because
the GPIO signal of the user button is connected to some external device)
then it makes sense to end the reset mode cycle with the default mode of
1, which executes code as normal.
2018-06-18 12:23:27 +10:00