- 29 Jul, 2021 4 commits
-
-
Earle F. Philhower, III authored
-
Pontus Oldberg authored
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
Identify some spots that GCC's -fanalyzer noted might need nullptr checks, and add them.
-
- 23 Jul, 2021 3 commits
-
-
Earle F. Philhower, III authored
Use the existing Arduino Stream method of setTimeout to set the Wire I2C timeout delay. Fixes #260
-
Earle F. Philhower, III authored
When LittleFS.begin() or SDFS.begin() is called after the filesystem is already mounted, don't unmount/remount. When an unmount happens, all old Files become invalid (but the core doesn't know this), so you would end up with random crashes in FS code. Now, check for _mounted, and if so just return immediately from begin().
-
Ubi de Feo authored
you had "esrle" instead of "earle" in the GH URL :)
-
- 22 Jul, 2021 1 commit
-
-
Earle F. Philhower, III authored
Wire::requestFrom() returns the number of bytes read from the slave. In the case of error, the slave can end up returning a very large integer for PICO_GENERIC_ERROR which would then be used as the # of bytes read causing crashes and errors. Running TalkingToMyself without connecting the I2C ports would show this behavior. Now, when PICO_GENERIC_ERROR is returned, set the read-back buffer len to 0 explicitly.
-
- 20 Jul, 2021 1 commit
-
-
Giampiero Baggiani authored
-
- 19 Jul, 2021 2 commits
-
-
Maximilian Gerhardt authored
-
Earle F. Philhower, III authored
When a Python MSI/etc. is installed under Windows, it sets a global PYTHONHOME and other variables. Our shipped Python can end up using these variables and attempt to load the wrong PYC files and fail to run. Avoid by using -I isolated mode in Python calls Fixes #252
-
- 17 Jul, 2021 1 commit
-
-
Earle F. Philhower, III authored
Use a libstdc++ compiled with -fno-exceptions to avoid including the code needed to unwind C++ exceptions. Saves ~4K RAM and ~5K flash.
-
- 15 Jul, 2021 1 commit
-
-
Earle F. Philhower, III authored
The PWM HW can only divide 125MHZ sysclk by 1...256. That's only down to about 500khz. If the max count of the PWM (analogWriteScale) is too low then the actual PWM period will be much less than desired (and PWM frequency of course much higher). For example, at analogWriteFreq(100); analogWriteScale(256); the true PWM period would be 125M / 256 (pwmdiv) / 256 (scale) = ~2khz. Conversely, at high frequencies and large scales it is impossible to achieve the requested frequency and a much lower one would be generated. For example: freq(60K), scale(32768). PWM period = 125M / 1 (pwmdiv) / 32768 = ~4kHz. Avoid this by adjusting the analogWrite scale in the core to either increase the PWM count for low frequencies, or decrease it for high frequencies. This is done behind the scenes and code is not required to be changed. The PWM frequency will still not be perfcetly exact due to the divider HW and clocks involved, but it will be very close across the whole range. Fixes #234
-
- 07 Jul, 2021 1 commit
-
-
majbthrd authored
-
- 06 Jul, 2021 1 commit
-
-
Earle F. Philhower, III authored
Enable use of the included openocd binary with pico-debug
-
- 04 Jul, 2021 2 commits
-
-
Earle F. Philhower, III authored
The Pico SDK has some magic with const pointers that generates lots of "ignored qualifer" warnings on the more pedantic modes. To clean the normal builds up, disable this warning for now. At some point a PR to the PICO-SDK may be indicated.
-
Earle F. Philhower, III authored
Fixes #236 Compiler warning flags were completely ignored/missed in platform.txt. Add them, as normal, and include -Werror=return-type because GCC will produce crashing apps when a function return value is missing.
-
- 30 Jun, 2021 3 commits
-
-
Earle F. Philhower, III authored
-
Ha Thach authored
* update included tinyusb to 1.2.0 move tusb_config.h from core to library for more portability * pump tinyusb * update tinyusb to 1.3.0 * try to fix ci warning
-
Earle F. Philhower, III authored
-
- 29 Jun, 2021 2 commits
-
-
Earle F. Philhower, III authored
Use the 24-bit SYSTICK peripheral, wrapped in logic to extend it to a full 32 or 64bits. W/o the wrapper, SYSTICK will wrap around in ~100ms. Adds rp2040.getCycleCount() and rp2040.getCycleCount64() Clean up the libpico build process as crt0.S from the pico-sdk should be directly used. Clean up the keywords file.
-
Earle F. Philhower, III authored
-
- 26 Jun, 2021 3 commits
-
-
Ha Thach authored
Fix issue with usbd_desc_cfg value may not be initialized as zero.
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
Fixes #222 The HW needs to have the TXC_ABRT flag cleared when a slave transmission is cut short by the master, or else it will effectively break the I2C bus and never recover.
-
- 19 Jun, 2021 1 commit
-
-
Earle F. Philhower, III authored
The O_CREAT/etc. flags on the Pico are a full 32-bits in size, but the core was generating a flag for SdFat using an 8-bit type, so all the O_CREAT, O_TRUNC, O_APPEND, etc. flags got cut off. Fix the flag size. Fixes #214
-
- 16 Jun, 2021 2 commits
-
-
Earle F. Philhower, III authored
Serial1.flush/Serial2.flush was not waiting for the proper FIFO to clear. Use the proper call from the Pico SDK. Thanks to Peter Remias for noting it.
-
Earle F. Philhower, III authored
* Add PDM library for Arduino Nano RP2040 Connect * No PDM test in CI, only works on Arduino Nano RP2040
-
- 14 Jun, 2021 1 commit
-
-
Earle F. Philhower, III authored
Thanks to @Claupio for the bringup! Reference #208
-
- 13 Jun, 2021 1 commit
-
-
Earle F. Philhower, III authored
Fixes a hang when reading from the Serial UART ports because before the core would pause indefinitely for the next character. Now, wait up to Serial.setTimeout() milliseconds and if it times out return -1 to the app. Fixes #210
-
- 11 Jun, 2021 3 commits
-
-
Earle F. Philhower, III authored
Minor rev to the tinyUSB version used, new ID function.
-
Earle F. Philhower, III authored
The PIO programs that generate tone() and Servo() use the TX FIFO to receive updates to the period/duty cycle. The original code would push into the FIFO (potentially blocking the app if the FIFO was full) and generate at least one cycle of every value written into the control. Basically, the output would lag the changes by 1 cycle or more (which could be 20ms+ on Servo). Fix this by clearing any old, ungrabbed values from the FIFO before sending a new one to the program. Instead of a FIFO, there is effectively now just a control register and updates will be immediate. Update the Siren.ino example with delays because now the tone() calls will not block and run 10x+ faster.
-
Earle F. Philhower, III authored
Many functions are defined inside the api/Common.h, so remove them from the Arduino.h header to have them appear only once. Fix up the abs() macro to avoid macro problems, add round()
-
- 10 Jun, 2021 1 commit
-
-
Earle F. Philhower, III authored
Fixes #202
-
- 08 Jun, 2021 6 commits
-
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
-
Earle F. Philhower, III authored
It's still OOS, so hookup taken from their schematics.
-