PicoMite 6.02.01b0

From TheBackShed….

“Editor now correctly colour codes string literals and comments split across continuation lines”

1 Like

Can I ask what is the latest Picomite version that works with uf2 loader?

None.

The principal author does not wants to support this because of memory constraints, I do not disagree on this point. For more information see https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=18608

Within minutes of upgrading to this my keyboard locked up @ernst !. Only the power button worked, 378MHz, fast I2C. Will keep testing…

UPDATE
Happened again within 10 minutes of running an i2c heavy app. Back to a core with 6.02.01b0 installed. Booted fine. Did ‘flash erase 1’ to clear the autorun and display your version number. Keyboard locked again !, won’t clear. Will reflash with 6.92.91b0.

1 Like

I know that there is a problem with I2C which I am trying to find, at this moment I suspect that it is caused by the BIOS not responding. This is a difficult problem because there is no clear indication because it can can happen after 10 minutes but also after 20 hours.

The keyboard I2C routines have not been changed the last versions, there for it is unlikely to be a problem in the latest beta. I have created a modified b0 and a modified bios that I am using to catch the condition so that I can try to take action when it happens. This will take more time as I have not yet found the optimal method to detect the problem when it happens.

FYI: I have mentioned that I have two Pico boards giving I2C problems, recently another Pico2 board showed the same I2C problem but this board recovered somehow. What I did find is that it may be a boot timing problem because I2C started working after resetting the Pico (which I can do with the reset button on the Adafruit Proto Under Plate PiCowBell).

The problem is known, the cause is unknown, and I am trying to find what, this all takes time.

3 Likes

Yes weird how my old core with 6.02.01b0 locked up after flash erase 1 when it previously gave almost zero problems !?. Flash nuked and b0 reflashed, on test…

Note keyboard firmware old official 1.2. Cpu 378MHz, i2c fast.

Update, running fine again on 6.02.01b0 :blush:

Hmmmm a note from Peter re his recent update which might explain why my old core also locked up on insertion (yet I always flash_nuke)

“I’ve forced a flash reset when it is loaded for the PicoMite and WebMite versions which should clear old config which was causing problems”

I have made a small change in the V6.02.01B2 beta release and the uf2 files have been refreshed on the download area. The change is related to the I2C problem I am trying find, it may need many hours to confirm that this solves the problem, in about 22 hours I may know more …

2 Likes

I’m still getting lockups with your tweaks in place. :cry:

I know, I am searching for the problem. The bad part is that this is not a new problem, it has been there for much longer but now it is surfacing. Maybe it has become visible because I have doing endurance test ? more usage ? higher clock speed ? The not so good information is that is might be in the bios, picomite keeps trying but the bios does not anwer. Before my changes there would have been clear error message: “IIIIIIIIIIIIIIIIII…” (instead of “I2C not responding”).

What clock are you using with the I2C? With zeptoforth I’m using the originally-recommended clock of 10 kHz with only limited problems (on relatively rare occasions (except for right after having installed the PicoCalc terminal emulator, where this happens quite frequently for some reason) the keyboard locks up, and sometimes if I have my PicoCalc packed while on in my soft case for it, where keys are liable to be mashed unintentionally, sometimes resulting in my keyboard driver getting weirdly out of sync with the BIOS).

I have been using 100 Khz for all versions. This keyboard problem is very difficult to analyze because it can take hours or minutes for it happen.
At this moment the test is running at 100 Khz for 4 Hrs 30 minutes using a modified PicoMite and a modified keyboard firmware.

1 Like

I often see this whilst debugging C programs so I don’t think is is a problem with your code but a problem with the BIOS. It occurs right after I flash my code to the pico and requires a restart of the PicoCalc to correct.

It does look like that, I am running a modified PicoMite and a modified BIOS for 8+ hours now. According to the counters I placed in the keyboard process there were 21 nack on write, 0 on read, and the keyboard is still responding.
I think I may have found a fix in the bios for this problem, but it will need some more time to validate.

1 Like

Some good news. With a modified V6.02.01b0 and a modified bios I have been testing the keyboard at 100Khz for about 27 hours. The keyboard locked up 4 times, each lockup was resolved within about 450 msec. Another test is now running with 400Khz clock speed.

4 Likes

And looking very good so far !. 400Khz i2c, 378Mhz core clock.

Hats off to @ernst

1 Like

After I upgraded to keyboard BIOS 15.6, I tried to turn on my PicoCalc. No click, no display. Horror!
I could use a terminal on the serial port normally but no display on the PicoCalc itself. I pulled the batteries and put them back in. Yay! The click sounds when turning it on and the display comes up as it’s supposed to. Whew! So this combination of the updated BIOS and latest patches to 6.00.01b2 should be pretty solid, right?

Where can we get BIOS 15.6? Is it available for testing or still too early?

Officially not yet available :cry: I hope that I will be able to complete testing and tuning in time for the final v6.02.01 release.

2 Likes