Releases: g4eml/PicoTuner
V0.12 Add support for Pico 2
Add support for the Raspberry Pi Pico 2 which uses the RP2350 chip.
No functional changes to the code.
The .uf2 firmware file now supports both Pico 1 and Pico 2 modules.
There is unlikely to be any performance difference between the two types.
Fix Error with Low data rate TS
The USB transfer was timing out with low data rates, resulting in a corrupted TS.
This was occurring with 333 1/3 or lower data rates.
USB transfer timeout increased to fix this.
Checked working down to 125 1/4.
Compared with FTDI module on OpenTuner and Portsdown and the behaviour is now identical as far as I can tell.
V0-10 Fix DMA error
Fixes a DMA error where occasionally the DMA would overwrite invalid memory causing a hard crash.
Also changes the Onboard LED function. This now flashes to indicate the firmware is running.
Add Power Control on GPIO 22
Add power control output on GPIO 22.
Set low on booting.
Goes high when USB is fully configured.
Add new command to remotely force BOOTSEL mode.
Adds new command 0xBB which will force the PicoTuner to enter BOOTSEL mode ready for firmware upload.
Useful to avoid having to remove the case and press the BOOTSEL button (although this will still work)
python script provided to send the necessary command.
V0.7 This one might actually fix the hanging!
Convert Static declarations to Globals to move variables from the stack to general memory.
Tidy Up code.
Seems to have greatly improved the intermittent hang problem.
Speed Up I2C
I2C speed increased to 400K which is the maximum allowed in the NIM datasheet.
Command buffer size Increased, just in case.
Some extra error checking.
Swap Cores
It looks like the intermittent hanging may have been due to a stack overflow from Core0 to Core1. This change swaps the tasks allocated to the cores. Core 0 is now doing the less stack Intensive tasks and Core 1 is doing the more stack intensive ones.
This seems to have improved (fixed?) the intermittent lockups we were seeing.
Fix intermittent hanging. (Hopefully!)
Intermittent hanging of code caused by two things.
Command Buffer Overflow when very busy during frequency changes. Buffer size increased.
Intermittent hang in USB send routine when the result buffer exceeded 64 bytes.
Change Device Name to BATC PicoTuner
Change the device descriptor name to 'BATC PicoTuner'
This will need associated changes in Longmynd and Rydeplayer.