Commit Graph

462 Commits

Author SHA1 Message Date
Matthew McGowan 295cc18190 style(swan_r5): pre-commit whitespace style changes 2021-09-28 18:52:03 -07:00
Matthew McGowan 8a3fb7bd13 fix(swan_r5):fixes timer definitions in the array. Requires padding to match peripheral with interrupt handler index. 2021-09-28 18:52:02 -07:00
Matthew McGowan 7b7b4997a4 docs(swan_r5): misc comments/formatting 2021-09-28 18:52:02 -07:00
Matthew McGowan 599368373e feat(swan_r5): user button tested 2021-09-28 18:52:02 -07:00
Matthew McGowan 40c3b5c7e6 docs(swan_r5):todo cleanup 2021-09-28 18:52:02 -07:00
Matthew McGowan 88f6bb2cf2 chore(swan_r5):pwmio test 2021-09-28 18:52:02 -07:00
Matthew McGowan 9d27d249cf chore(swan_r5):tests used to smoke test the board functionality 2021-09-28 18:52:02 -07:00
Matthew McGowan 2a05b22f42 reworks memory map for flash 2021-09-28 18:52:02 -07:00
Brandon Satrom 48f67d007e feat: add Blues Swan R5 support
complete pin mapping for Feather pins

stubbed out files needed for complilation. still to be modified

0 out all CPY modules in mpconfigboard.mk until we get the build running

add csv for pin generation for STM32L4R5

add F4R5 references in peripherals files

refactored out board files BECAUSE I AM AN IDIOT; add L4 series system clocks file from CubeMX

took a guess at the number of USB endpoint pairs to get the build done

guess was close, but wrong. It is 8

clean up peripheral DEFs

Fixes build error:
```
In file included from ../../py/mpstate.h:33,
                 from ../../py/mpstate.c:27:
../../py/misc.h: In function 'vstr_str':
../../py/misc.h:196:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI
 static inline char *vstr_str(vstr_t *vstr) {
 ^~~~~~
```
Sleuthing steps:
* verify that the feather_stm32f4_express board builds correctly
* put a `#error` at the bottom of the `mpstate.c` file.
* build for the feather and swan boards, with V=2 to capture the build command for that file.
* use a differencing tool to inspect the differences between the two invocations
* inspecting the differences, I saw a missing `-mcpu=cortex-m4` I tested by adding that to the Swan build command. The file built fine (stopping at the hard error, but no other warnings.)

A grep through the sources revealed where this flag was being set for the stm ports.

With this commit, the build gets further, but does not complete. The next exciting episode in this unfolding coding saga is just a commit away!

working build with minimal set of modules for the Blues Swan r5

chore:change header copyright name to Blues Wireless Contributors

USB operational.  Fixed up clocks to be hardwired for LSE no HSE case. (Trying to combine HSE in there made the code much more complex, and I don't have a board to test it out on.)

USART working

adds support for `ENABLE_3V3` and `DISCHARGE_3V3` pins.  I am surprised that pin definitions are quite low-level and don't include default direction and state, so the code currently has to initialize `ENABLE_3V3` pin as output.  The LED takes over a second to discharge, so I wonder if the board startup code is not having the desired affect.

short circuit implementation of backup memory for the STM32L4

all the ports

remove company name from board name to be consistent with the Arduino board definition.

add default pins for I2C, SPI and UART, so that `board.I2C` et al. works as expected.  Confirmed I2C timing.

fix board name

fix incorrect pin definition. add test to allow manual check of each output pin

analog IO

code changes for WebUSB. Doesn't appear to work, will revisit later.

ensure that `sys.platform` is available

checkin missing file

feat: make room for a larger filesystem so the sensor tutorial will fit on the device.

fix:(stm32l4r5zi.csv): merged AF0-7 and AF8-15 into single lines and removed extraneous headers mixed in with the data.

fix(parse_af_csv.py): pin index in the csv is 0 not 1, and AF index made 1 larger

chore(Swan R5): update peripherals pins from `parse_af_csv.py` output

optimize flash sector access
2021-09-28 18:52:02 -07:00
Michael Thomson 94ca3f594e Enable CS "active-high" device support
Reference https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/issues/71

Add a new parameter cs_active_value for devices that require CS to use "active high" logic.

Update mpconfigboard.mk to disable pyb_nano_v2 from core build as its flash is too small now.
2021-09-23 09:14:39 +01:00
Dan Halbert 02dc0481c5 shrink stm32f411ve_discovery 2021-09-14 19:50:46 -04:00
Neradoc 8625e53817 change board dicts to include a common macro with __name__ 2021-09-03 21:03:55 +02:00
microDev d526925d49
make aesio module full build dependent 2021-09-02 19:02:01 +05:30
Scott Shawcroft 6ef5241f59
Merge pull request #5267 from pewpew-game/meowbit-stage
stm32: Add support for Stage games to Meowbit
2021-08-30 18:35:41 -07:00
Radomir Dopieralski 89fc1890af stm32: Add support for Stage games to Meowbit
This enables the _stage library and adds stage and ugame modules to the
frozen modules, so that all Stage games should work.

I had to do several hacks:

* Since displayio.release_displays doesn't release the pins, I couldn't
  re-initialize the display inside the ugame module. Instead I changed
  the default display initialization for the board to match what Stage
  expects.

* I wanted to make the MENU key works as K_Z, but when I try to use it
  with the keypad module, I get "pin in use" error. So for now only the
  A and B buttons are used.
2021-08-30 20:27:50 +02:00
Jeff Epler 468558896c remove paralleldisplay from ports where it was unimplemented 2021-08-29 07:33:54 -05:00
Jeff Epler 7520feed1c Move ParallelBus to its own module 2021-08-29 07:33:54 -05:00
Neradoc 4d05bb26bf change board.ID to board.board_id 2021-08-26 23:11:55 +02:00
Neradoc b14b294516 add board.ID 2021-08-26 23:11:55 +02:00
Dan Halbert ce5e267143 shrink thunderpack_v11; fix PulseOut doc 2021-08-23 21:57:29 -04:00
Dan Halbert 7587a521cb
Merge pull request #5145 from FoamyGuy/bitmaptools_paint_fill
Bitmaptools boundary_fill
2021-08-23 16:20:38 -04:00
Jeff Epler 379461df7d Deprecate Display's constructor arg set_vertical_scroll 2021-08-23 09:17:59 -05:00
foamyguy 4c95150dab eol file 2021-08-22 08:53:10 -05:00
foamyguy 707f2e25af disable bitmaptools on devices without enough room 2021-08-22 08:52:12 -05:00
Dan Halbert 57841dc92b
Merge pull request #5171 from tannewt/unicode_filenames
Turn on unicode for FATFS
2021-08-21 16:31:54 -04:00
microDev f6d1caabc9
Merge pull request #5182 from tannewt/fix_imx
Check background pending before sleep
2021-08-21 08:00:10 +05:30
microDev 7a0f8ae87f
Merge pull request #5175 from jepler/canio-timeout
canio: Run background tasks while waiting for message reception
2021-08-20 09:25:46 +05:30
Mark f9f106b58d
Merge pull request #5123 from gamblor21/keypad_dup_pin_check
Check for duplicate pins in rows and columns
2021-08-19 22:20:04 -05:00
Scott Shawcroft 5c6e80a2bb
Shrink builds by defining advanced micropython API
Also, ignore more pins on SAMD boards and disable EXFAT on others.
2021-08-19 16:49:33 -07:00
Scott Shawcroft d2860b58b0
Check background pending before sleep
There is a race between when we run background tasks and when we
sleep. If an interrupt happens between the two, then we may delay
executing the background task. On some ports we checked this for
TinyUSB already. On iMX RT, we didn't which caused USB issues.
This PR makes it more generic for all background tasks including
USB.

Fixes #5086 and maybe others.
2021-08-19 12:18:13 -07:00
Jeff Epler 6ea136987e run codeformat 2021-08-19 13:54:13 -05:00
Jeff Epler cabe96e188 canio: Run background tasks while waiting for message reception
Closes: #5004
2021-08-18 11:39:40 -05:00
Scott Shawcroft e0ce5ff045
Fix some builds by disabling exfat 2021-08-18 08:22:29 -07:00
gamblor21 d02a4b9f71 Removed ulab to make space in blackpill with flash board 2021-08-18 10:16:44 -05:00
Scott Shawcroft de796e2304
Move OneWire to `onewireio` from `busio`
This will allow finer grained inclusion in 8.0.0

Fixes #5135
2021-08-12 10:47:14 -07:00
Chris Wilson c0902dade6 stm/boards: Add support for SparkFun STM32 MicroMod Processor board. 2021-08-09 23:11:13 -07:00
evildave666 4d14bcf2a2 Add WeAct manufacturer for black pill boards 2021-08-06 16:06:16 +09:00
Lucian Copeland da149b0a42 Merge remote-tracking branch 'upstream/main' into stm32-sleepmem 2021-07-30 15:35:55 -04:00
Scott Shawcroft daf90aae83
Merge remote-tracking branch 'adafruit/main' into pulseout_switch 2021-07-26 18:48:59 -07:00
Scott Shawcroft 412eb87080
Switch to pin, frequency and duty_cycle PulseOut
Passing in a PWMOut still works but is deprecated. It will be
removed in CircuitPython 8.0.0

This also switches STM32 timer indices and channel indices to
0-based in our pin data rather than `- 1` everywhere. The latter is
more bug prone.

Most of the way for #3264

Tested on Metro M0, Metro M4, Feather S2, Feather nRF52840, Feather
STM32F4 and Arduino RP2040.
2021-07-26 18:35:49 -07:00
Scott Shawcroft 8258f51132
Merge pull request #5061 from evildave666/blackpill-remove-nvm
remove unused nvm reserved space from stm32f411ce_blackpill_with_flash
2021-07-26 14:13:29 -07:00
evildave666 f059bab253 Modify mpconfigboard.mk to point to the new linker file and re-include modules 2021-07-26 14:13:41 +09:00
evildave666 57c6279b40 Added new linker file 2021-07-26 13:59:25 +09:00
Chris Wilson 49dc5805ee Fix CAN pin assignment on Feather STM32F405 Express board. 2021-07-24 22:01:50 -07:00
Lucian Copeland 696c035b67 Add STM32 sleep memory 2021-06-25 17:43:18 -04:00
Scott Shawcroft b81573d439
Merge pull request #4891 from dhalbert/keypad-scanning-events
keypad: support for vector and matrix key scanning
2021-06-24 10:25:21 -07:00
Dan Halbert db297add67 fix other too-big builds 2021-06-18 13:20:31 -04:00
Jeff Epler e1d7e46e88 fix keyboard interrupt 2021-06-18 11:15:51 -05:00
Dan Halbert 4655a71793 Turn off keypad on some builds to avoid overflow 2021-06-15 14:11:04 -04:00
Dan Halbert f97e0ec631 fix ulab commit 2021-06-15 11:51:28 -04:00
Dan Halbert a192f1ca2f merge from upstream 2021-06-15 11:21:08 -04:00
Jeff Epler 1a06d06468 ulab: disable on several stm boards with constrained flash storage 2021-06-11 07:46:21 -05:00
Dan Halbert b815164bdf Turn off keypad on a few small builds 2021-06-10 10:09:55 -04:00
Jeff Epler 49db85cb3d Check that select firmwares build on Windows with MSYS2
This configuration is used by @ladyada and more often than it should
we've discovered late that a change introduced problems building
there.

By adding this to regular CI, hopefully we learn about and fix these
issues sooner rather than later.
2021-05-28 16:47:29 -05:00
Scott Shawcroft 561ffec693
Merge remote-tracking branch 'adafruit/main' into simplify_status_led 2021-05-20 13:46:42 -07:00
Scott Shawcroft 5643355e90
Merge remote-tracking branch 'adafruit/main' into simplify_status_led 2021-05-20 08:35:15 -07:00
Scott Shawcroft b78e9fcd19
Improve STM reset reason
This causes safe mode to skip the wait for reset when waking up
from an alarm. (It also means we don't flash the LED for it.)
2021-05-19 11:48:02 -07:00
Lucian Copeland bce541dcc5 Minor text fixes 2021-05-18 15:16:25 -04:00
Lucian Copeland 633d83cc3e Merge remote-tracking branch 'upstream/main' into sleep-revamp 2021-05-17 18:57:10 -04:00
Lucian Copeland 715f7ee490 Add STM32 and NRF52 compatibility 2021-05-14 14:34:35 -04:00
Scott Shawcroft 689ec86225
Merge pull request #4754 from dhalbert/fix-endpoint-checking
Fix endpoint checking; Clean up safe mode printing
2021-05-14 11:25:01 -07:00
Dan Halbert c65986f526 shrink a bit more 2021-05-14 09:18:14 -04:00
Dan Halbert 0fcb11b7b2 shrink some STM32F4 builds: turn MIDI back off 2021-05-13 23:14:12 -04:00
Dan Halbert fa6c06fb38 count in/out endpoints; allow more usb modules on low-endpoint boards 2021-05-13 21:59:02 -04:00
Scott Shawcroft 1a0b4193b7
Simplify the status LED to save power
This also removes the need to pin share because we don't use the
status LED while user code is running.

The status flashes fallback to the HW_STATUS LED if no RGB LED is
present. Each status has a unique blink pattern as well.

One caveat is the REPL state. In order to not pin share, we set the
RGB color once. PWM and single color will be shutoff immediately but
DotStars and NeoPixels will hold the color until the user overrides
it.

Fixes #4133
2021-05-13 14:41:20 -07:00
Scott Shawcroft 35ee4add63
Merge pull request #4388 from hierophect/stm-alarm
STM32: Alarms and sleep
2021-05-13 10:27:51 -07:00
Lucian Copeland 849e3a7319 Style fixes, submodules 2021-05-13 11:24:27 -04:00
Lucian Copeland 525b34b042 Fix formatting and broken links
Implmements missed pre-commit changes for all files, and fixes links broken by
cleanup in #4698
2021-05-10 18:04:43 -04:00
Lucian Copeland 0d3c5222d8 Merge remote-tracking branch 'upstream/main' into stm-alarm 2021-05-10 17:30:33 -04:00
Kattni Rembor 294ef59f27 Add LED pin to Adafruit boards. 2021-05-10 16:39:01 -04:00
Jeff Epler 446169e078
Merge pull request #4720 from tannewt/merge_1.13
Merge in MicroPython 1.13
2021-05-08 08:46:03 -05:00
Lucian Copeland 9920741c2f Merge remote-tracking branch 'upstream/main' into stm-espr-pico-fix 2021-05-06 17:43:38 -04:00
Scott Shawcroft 42f4065c8a
Merge remote-tracking branch 'adafruit/main' into merge_1.13 2021-05-06 11:17:53 -07:00
Lucian Copeland 80a459d1f8 Remove settings for DNP oscillator 2021-05-06 13:52:07 -04:00
Dan Halbert 843598ec3a fix more board builds 2021-05-05 18:44:27 -04:00
Scott Shawcroft f0bb26d70f
Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
Dan Halbert d2b558993e merge from main, including MicroPython 1.12 merge 2021-05-03 20:56:04 -04:00
Dan Halbert 94ed5e0048
Merge pull request #4696 from dhalbert/no-pulseio-on-small-boards
Include pulseio only on CIRCUITPY_FULL_BUILD
2021-05-03 09:35:29 -04:00
Dan Halbert e475dc8899 Fix broken builds 2021-05-03 00:09:15 -04:00
Jeff Epler e95e921ca1 codeformat: Fix filename matching
In #4683, tannewt noticed that uncrustify was not running on some
file in common-hal.

I investigated and found that it was not being run on a bunch of paths.

Rather than make incremental changes, I rewrote list_files to work
bsaed on regular expressions; these regular expressions are created from
the same git-style glob patterns.

I spot-checked some specific filenames after this change, and all looks good:

```
$ python3 tools/codeformat.py -v --dry-run tests/basics/int_small.py ports/raspberrypi/common-hal/pulseio/PulseIn.c extmod/virtpin.c tests/thread/thread_exit1.py  ports/raspberrypi/background.h extmod/re1.5/recursiveloop.c
tools/codeformat.py -v --dry-run tests/basics/int_small.py ports/raspberrypi/common-hal/pulseio/PulseIn.c extmod/virtpin.c tests/thread/thread_exit1.py ports/raspberrypi/background.h extmod/re1.5/recursiveloop.c
uncrustify -c /home/jepler/src/circuitpython/tools/uncrustify.cfg -lC --no-backup extmod/virtpin.c ports/raspberrypi/background.h ports/raspberrypi/common-hal/pulseio/PulseIn.c
black --fast --line-length=99 -v tests/thread/thread_exit1.py
```
recursiveloop and int_small are excluded, while PulseIn, virtpin,
and background are included.

Testing running from a subdirectory (not _specifically_ supported though):
```
(cd ports && python3 ../tools/codeformat.py -v --dry-run raspberrypi/common-hal/pulseio/PulseIn.c ../extmod/virtpin.c)
../tools/codeformat.py -v --dry-run raspberrypi/common-hal/pulseio/PulseIn.c ../extmod/virtpin.c
uncrustify -c /home/jepler/src/circuitpython/tools/uncrustify.cfg -lC --no-backup ../extmod/virtpin.c raspberrypi/common-hal/pulseio/PulseIn.
```

As a side-effect, a bunch more files are re-formatted now. :-P
2021-04-30 10:48:08 -05:00
Lucian Copeland 07b86fcb76 fix sleepmemory object redefine error 2021-04-29 17:28:06 -04:00
Lucian Copeland bab5a22f0c Fix build issues
H7 compatibility problems in port.c and peripherals/exti
NRF build failures due to new use of const for PinAlarm pin objects
Isolated board flash overage on blackpill_with_flash, remove audio modules
2021-04-29 14:48:16 -04:00
Dan Halbert f06d54524d merge from adafruit 2021-04-28 23:48:26 -04:00
Lucian Copeland 9fe8d61656 Fix broken MP macros from 1.11 merge 2021-04-28 18:26:52 -04:00
Lucian Copeland 9feef41c82 Merge remote-tracking branch 'upstream/main' into stm-alarm 2021-04-28 15:10:55 -04:00
Scott Shawcroft 17fcd499b2
Merge pull request #4649 from tannewt/merge_1.11_2
Merge MicroPython v1.11 into CircuitPython
2021-04-27 11:02:02 -07:00
Scott Shawcroft 76033d5115
Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
Dan Halbert 9d1fcc3b14 merge from main 2021-04-25 10:27:52 -04:00
Artyom Skrobov 4e3c1d4a4c [build] Allow USB to be set to 0
Unify USB-related makefile var and C def as CIRCUITPY_USB.

Always define it as 0 or 1, same as all other settings.

USB_AVAILABLE was conditionally defined in supervisor.mk,
but never actually used to #ifdef USB-related code.

Loosely related to #4546
2021-04-23 11:13:34 -04:00
Dan Halbert 64e0958916 wip: descriptor building 2021-04-21 23:25:36 -04:00
Lucian Copeland 8ce89860e6 Pass pre-commit formatting 2021-04-21 17:34:13 -04:00
Lucian Copeland e0024c70de Merge remote-tracking branch 'upstream/main' into stm-alarm 2021-04-15 16:32:30 -04:00
Artyom Skrobov 92d7f31046 [synthio] disable in stm32f411ce_blackpill_with_flash
region `FLASH_FIRMWARE' overflowed by 228 bytes
2021-04-13 03:01:55 -04:00
Kevin Lutzer 4fb3139273 switch orders the flash memory is listed 2021-04-08 21:56:25 -06:00
Kevin Lutzer c672b33770 add W25Q64JVxQ as a supported flash for stm32f411 black pill 2021-04-08 21:53:38 -06:00
Artyom Skrobov 4ee781227f [meowbit] change board.BUZZ type to PWMAudioOut,
as advised in #4257
2021-04-03 13:35:19 -04:00
Lucian Copeland 8a2143f161 Clean up comments and debugging pins 2021-04-02 17:40:40 -04:00
Lucian Copeland 9240146b22 Make light sleep store true alarm object to global map 2021-04-02 16:58:42 -04:00
Lucian Copeland 66a1583183 Implement fake and true deep sleep alarm differentiation 2021-04-02 15:13:10 -04:00
Lucian Copeland 17585e1e07 Clean up API 2021-04-02 14:08:48 -04:00