Commit Graph
195 Commits
Author SHA1 Message Date
Earle F. Philhower, III 8ae69a3463 Minor keyword and mutex fixes for multicore 2021-05-08 11:13:26 -07:00
Earle F. Philhower, III 763846aee8 Additional multicore fixes, BOOTSEL and PIO (#123)
BOOTSEL needs to be multicore protected, too.
Reading BOOTSEL required disabling the flash interface, so the other
core needs to be idles while this runs.

Make the PIO program object multicore safe, too, so that if both cores
try to load a program they won't step on each other.
2021-05-07 16:03:21 -07:00
Earle F. Philhower, III 2da190f5b4 Update README.md 2021-05-06 20:57:51 -07:00
Earle F. Philhower, III 9b2f40c06a Update multicore.rst
Fix some typos
2021-05-06 20:48:06 -07:00
Earle F. Philhower, III f1e77995f5 Look for UF2 drives in additional spots on Linux (#37)
Fixes #28
1.2.0
2021-05-06 20:04:36 -07:00
Earle F. Philhower, III 70a30dc219 Add multicore safety, FIFO, update pico-sdk (#122)
Update pico-sdk to 1.1.2

Add methods to block the opposite core while doing flash updates.
Ensure opposite core is stopped in LittleFS and EEPROM while doing
flash updates.

Update documentation with new calls.
2021-05-06 19:57:21 -07:00
Earle F. Philhower, III 6cf0b30fdf Merge branch 'master' of https://github.com/earlephilhower/arduino-pico 2021-05-06 08:28:35 -07:00
Earle F. Philhower, III a62075d8f1 Add HWSerial redirect
Fixes #120
2021-05-06 08:28:08 -07:00
Oğuzhan Başer 47915df2da PWM functions definitions missing (#114)
* add keywords file

* Add PWM function definitions
2021-04-27 07:11:02 -07:00
Earle F. Philhower, III 1815c45f92 Add multicore support with setup1/loop1 (#113)
Support running code on the second core by adding a setup1() and/or
a loop1() routine to a sketch.  These functions operate exactly like
the normal Arduino ones, and anything they call will be run on
the second core automatically.

Add a simple multicore example.
2021-04-24 11:40:29 -07:00
Earle F. Philhower, III 2d58f08bf2 Update README.md 2021-04-22 10:39:29 -07:00
Earle F. Philhower, III 6e51516d6c Set default pins for peripherals per datasheet (#103)
Using the official Raspberry Pi Pico datasheet and the Adafruit Feather
RP2040 schematic, set the default pins for peripherals to match.

Fixes #92
1.1.0
2021-04-16 10:23:43 -07:00
Earle F. Philhower, III 011ecdb5a6 More multicore safety plumbing, IRQs, analogXXX (#107)
Keep a per-core IRQ stack for noInterrupts since each core has its own
enable/disable.

Make analogRead/analogWrite multicore safe
2021-04-15 17:16:13 -07:00
Earle F. Philhower, III b793ad5533 Make Tone multicore safe (#106)
Add a mutex around the Tone mapping for multicore safety.
2021-04-15 16:21:47 -07:00
Earle F. Philhower, III b5aeb84cb3 Add NOT_AN_INTERRUPT define (#105)
Fix #104
2021-04-15 12:50:35 -07:00
Earle F. Philhower, III d490499c86 Add note about Win7 driver installation (#102)
Fixes #96
2021-04-13 18:11:48 -07:00
Earle F. Philhower, III 9e0e266b4f Add hardware_dma include path (#101)
Fix #100
2021-04-13 15:44:27 -07:00
Earle F. Philhower, III 47c12047da Remove api from include path, add redirects
Can't have cores/rp2040/api in the include path because the Arduino API
dir has a "String.h" file.  On Windows, because it is case-insensitive
normally, this overrides the POSIX "string.h" header leading to bad
stuff.

Add manual redirect includes for commonly accessed headers in the
cores/rp2040 path instead.
1.0.3
2021-04-09 05:38:35 -07:00
Earle F. Philhower, III 323099069e Fix JSON, Arduino 2.0 beta
Missing Size field was causing the Arduino 2.0 beta to reject the JSON.
1.0.2
2021-04-08 18:10:01 -07:00
Earle F. Philhower, III 8fed1ccf97 Add HAVE_HWSERIALX and api/dir to include path (#94)
Fixes #93
2021-04-08 05:43:51 -07:00
Earle F. Philhower, III 19552151f2 Fix Picoprobe USB PID
Thanks to @me-no-dev for pointing out that the Picoprobe does UART
passthrough!
1.0.0 1.0.1
2021-04-06 20:51:21 -07:00
Earle F. Philhower, III af1d595e71 More documentation cleanup 2021-04-06 16:00:57 -07:00
Earle F. Philhower, III 735c14acc7 Clean up documentation 2021-04-06 15:49:56 -07:00
Earle F. Philhower, III 952f04df1f Update install document formatting 2021-04-06 12:15:40 -07:00
Earle F. Philhower, III 6b63f71ca4 Update README.md 2021-04-06 12:12:26 -07:00
Earle F. Philhower, III 85a79104b6 Allow misaligned pgm_read_XXX macro reads (#81)
Update the ArduinoAPI with new macros/inlines that allow accessing
values that are not naturally aligned (i.e. an int at address 0x0001).

Fixes #79
2021-04-06 12:08:26 -07:00
Earle F. Philhower, III bbac9d4b96 Add full-fledged documentation, update I2S API (#80)
Last step before 1.0. Docs for readthedocs.io.

Update the I2S API to mimic others where `setXXX` is called before
`begin()` to set the GPIO pins used.
2021-04-06 08:01:45 -07:00
Earle F. Philhower, III 84a9273b3b Add'l demos 2021-04-03 07:34:27 -07:00
Earle F. Philhower, III c1ab2b7352 Update FLASH_SIZE_BYTES to avoid assert on > 2MB
The SDK would assert if a flash write/erase happened past the end of the
flash space it was built with.  So, 8MB chips would crash when accessing
offset 3MB, for example.

Avoid this by specifying the maximum flash available so the SDK won't
trip.

Fixes #76
2021-04-02 23:54:34 -07:00
Earle F. Philhower, III d48aafaf24 Add licenses to README.md 2021-04-02 20:36:04 -07:00
Earle F. Philhower, III 4e50fe866a Add LittleFS, SD, and SDFS Filesystems and File:: interface (#49)
Pull in the ESP8266 File/Dir/etc. filesystem and port LittleFS
and SD/SDFS to the RP2040.

See https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html
for more information
2021-04-02 17:46:12 -07:00
Earle F. Philhower, III 1eb48f724d Add I2S output support and I2S class/library (#73)
Using the PIO-driven I2S from pico-extras, add I2S output support.

Be sure to `git submodule update --init` to get the new directories.
2021-04-02 16:21:36 -07:00
Earle F. Philhower, III 29f272e9ca Clear up FS menus
Heise.de seems to have been confused by the menu options for the
filesystem/sketch selection.  Explicitly list the Sketch and FS sizes in
each menu tem to avoid future confusion.
2021-04-02 16:19:14 -07:00
Earle F. Philhower, III a536d9ce96 Update ArduionApi to include Print::printf
Instead of duplicating output call in all children, fork ArduinoApi and
add it in the Print base class.
2021-04-02 12:58:26 -07:00
Earle F. Philhower, III e98fac6e82 Merge branch 'master' of https://github.com/earlephilhower/arduino-pico 2021-04-02 12:41:15 -07:00
Scott Smith ed29fc539c Correct analogReadTemp KEYWORD (#75)
reference: cores/rp2040/wiring_analog.cpp:108:extern "C" float analogReadTemp()
2021-04-02 11:36:20 -07:00
Earle F. Philhower, III 8d8236983a Allow initVariant() 2021-04-02 08:53:59 -07:00
Earle F. Philhower, III 118afd0f92 Add multicore include directory to path 2021-04-02 07:36:44 -07:00
Earle F. Philhower, III c35cc02aa0 Enable debug symbols in libpico.a 2021-03-31 15:32:29 -07:00
Earle F. Philhower, III 7bfffed649 Move Adafruit Feather RP2040 to w25x10cl_4
Testing in #42.  Thanks @blurfl!
2021-03-31 14:11:24 -07:00
Earle F. Philhower, III 09268fe064 Add multiple boot2 options with /2 and /4 SPI div (#67)
Build all 4 different boot_stage2 objects with SPI/2 and SPI/4 options.
Add a menu to the generic board to allow selecting between them.
Use the potato/4 boot2 for the Adafruit Feather until we have a better
version verified.

Fixes #42
2021-03-31 12:42:51 -07:00
Earle F. Philhower, III c988c1c8a4 Add debug prints on error conditions to the core 2021-03-30 18:17:52 -07:00
Earle F. Philhower, III 96e31c640e Add analogReadTemp() to get RP2040 core temp (#63) 2021-03-30 16:10:06 -07:00
Earle F. Philhower, III d9a4bbd95c Add ancient AVR compatibility macros (#59) 2021-03-30 11:57:01 -07:00
smischny 3d824aac31 Update wiring_analog.cpp (#61)
Fixed the calculation of the pwm clock divider to be the system clock hz divided by the product of the analog frequency and scale.
2021-03-30 10:46:58 -07:00
Earle F. Philhower, III 2418cf2743 Update README.md 2021-03-29 16:41:30 -07:00
Earle F. Philhower, III e4fe1fcf02 Merge pull request #56 from earlephilhower/bootsel
Add BOOTSEL, allowing BOOTSEL use as a button
2021-03-29 16:19:47 -07:00
Earle F. Philhower, III 1124455627 Add BOOTSEL, allowing BOOTSEL use as a button
Since every board has a bootsel button, allow end users to read its
state with a simple `if (BOOTSEL)`.  Uses code from the pico-examples.
2021-03-29 16:14:45 -07:00
Earle F. Philhower, III 481ee1c9cf Merge pull request #55 from earlephilhower/openocd
Add picoprobe upload support, cleanup up boards
2021-03-29 13:13:19 -07:00
Earle F. Philhower, III 1290f72e3e Add picoprobe upload support, cleanup up boards 2021-03-29 13:11:14 -07:00