|
Forum Index : Microcontroller and PC projects : MMBasic V6.03.00 release candidates
| Author | Message | ||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
The battery is fully charged right now, and the behavior remains the same: The PicoCalc only starts up sporadically. However, the PicoCalc starts up immediately when connected via the micro-USB cable. As soon as I plug it in, the heartbeat starts, and when I press the power button, I see the normal startup screen. Frank |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
Does the PicoCalc run without batteries with just the USB-C cable connected? If so try that. I suspect you are seeing some sort of brown-out during boot presumably caused by some trivial timing change caused by different caching on the RC23/24 builds |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
Just tried it: It behaves the same way as with the battery. The PicoCalc only starts up occasionally. |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
The plugged in USB is isolating the Pico from the main PicoCalc power giving the Pico lots or time to startup properly Try this and see if makes any difference. I've increased the time before the Pico increases its cpu speed PicoMite.zip |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
Unfortunately, no change! |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
For completeness can you try a different Pico2 module ? |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
Unfortunately, I don't have any available right now. Oh yeah, the PicoCalc wasn't recognized as such again: option list PicoMite MMBasic RP2350A V6.03.00RC24 OPTION FLASH SIZE 4194304 OPTION COLOURCODE ON OPTION CPUSPEED (KHz) 200000 > [?7h Only after an OPTION RESET... Frank Edited 2026-06-23 22:22 by Frank N. Furter |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
I've spoken to my friend who lent me the PicoCalc when I did the integration. He has installed RC24 on a genuine Pico2 in his PicoCalc and it is running with no issue at all. The one difference that may be relevant is that starting with RC23 I changed the build to enable the single precision H/W floating point in the RP2350 builds. This is then used for a number of internal calcs that speed up some user commands. It may be that combination of your PicoCalc electrics and that Pico2 module are somehow causing problems. The next step must be to try a different Pico2, in the meantime you will have to stick with RC22. Sorry I can't help further. |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
Thank you for your efforts! Frank |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 647 |
Frank, What version of the BIOS is on the PicoCalc? I'm running the latest version, 1.6, and it works fine with rc22. Matthias |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
Frank's works with RC22, is yours OK with RC24? |
||||
| toml_12953 Guru Joined: 13/02/2015 Location: United StatesPosts: 678 |
I have 1.6 as well and it works fine with RC24, too. |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 647 |
Updated to rc24 with a pico2 in PicoCalc and it’s working! Even with the library! Every start-up works straight away and outputs the information from mm.startup |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
@homa, @toml_12953: Did you really install a Pico2 with an RP2350? Not the Wi-Fi version??? Actually, I think I still have BIOS version 1.5 on the board - do you have a link to instructions on how to update it? Frank |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
Frank, I can absolutely guarantee that RC24 will work reliably on a standard Pico2 with BIOS 1.5. My friend has reinstalled and retested for me. This is why I need you to try a different module. The change from 22 to 23 was enabling the RP2350 singler precision FPU. My suspicion is that the FPU on your module may be giving problems and not starting up properly when the power-up is via the PicoCalc circuitry rather than direct on the Pico itself. I can't see any other explanation and I have extended boot timings to try and overcome it but to no avail. |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1141 |
Okay, I'll see if I can find another Pico2 in my stash this weekend... Frank |
||||
| toml_12953 Guru Joined: 13/02/2015 Location: United StatesPosts: 678 |
Did you really install a Pico2 with an RP2350? Not the Wi-Fi version??? Actually, I think I still have BIOS version 1.5 on the board - do you have a link to instructions on how to update it? Frank I have a Pimoroni Pico 2W Plus in my two PicoCalcs. I use the Web version of the interpreter. |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 647 |
Frank's works with RC22, is yours OK with RC24? Updated to rc24 with a pico2 in PicoCalc and it’s working! Even with the library! Every start-up works straight away and outputs the information from mm.startup There seems to be a minor glitch with rc24 that’s new – at least, I hadn’t noticed it before. When switching off, if I don’t hold the button down long enough, an ‘f’ appears in the command line. In other words, a quick press of the on/off button always results in the letter ‘f’ appearing, as if it had been typed on keyboard. If I hold the button down, the PicoCalc switches off properly. |
||||
| homa Guru Joined: 05/11/2021 Location: GermanyPosts: 647 |
Did you really install a Pico2 with an RP2350? Not the Wi-Fi version??? Actually, I think I still have BIOS version 1.5 on the board - do you have a link to instructions on how to update it? Frank Hi Frank, here are the instructions in German: https://www.boardprojects.com/bios-keyboard-firmware-update-auf-dem-clockwork-picocalc/ And yes, at the moment I’m only using the pico2 without Wi-Fi. Matthias |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11603 |
V6.03.00RC25 PicoMiteRP2040V6.03.00RC25.zip PicoMiteRP2350V6.03.00RC25a.zip PicoMiteRP2350V6.03.00RC25b.zip PicoMite_User_Manual.pdf Fixes a couple of bugs in WEB processing and increases TLS buffer to cater for sites like microsoft.com that use extra long encryption keys Support of OV2640 camera on RP2350 builds except VGA and HDMIWEB Minor enhancement to the LOAD JPG command to allow images to be downscaled to making reviewing easier, new scale parameter New command WEB TCP CLIENT WRITE data%() [,timeout] See manual for details of the new commands Example program for sending an email with a picture attached using the new command. Use the new OV2640 camera commands to take a jpeg picture and then email it. Sub MailSend Const cr = Chr$(13)+Chr$(10) Local integer b(512), buf(1100) Local integer fnbr, fsize, k Local String txt, h$, enc$, chunk$ Local string EmailFrom="MyEmailAddress" Local string EmailTo="YourEmailAddress" Local string smtpuser = "MyUsername" Local string smtppass = "MyPassword" Local string bd = "=_picomite_boundary_=" Local string fname = "A:/test.jpg" txt = "Test email" ErrEmail = true : FaultDetected = true If Dir$(fname, File) = "" Then Print "Attachment not found: " + fname : Exit Sub On Error Skip WEB OPEN TLS CLIENT "mail.smtp2go.com", 8465 If MM.Errno <> 0 Then Print "Connect failed" : Exit Sub ' wait for the 220 greeting BEFORE talking (not an early talker) ' uncomment if using WEB OPEN TCP CLIENT ' WEB TCP CLIENT READ b(), 30000 ' If Not WaitCode(b(), "220") Then GoTo bail WEB TCP CLIENT REQUEST "EHLO picomite" + cr, b() If Not WaitCode(b(), "250") Then GoTo bail WEB TCP CLIENT REQUEST "AUTH LOGIN" + cr, b() If Not WaitCode(b(), "334") Then GoTo bail WEB TCP CLIENT REQUEST base64Encode(smtpuser) + cr, b() If Not WaitCode(b(), "334") Then GoTo bail WEB TCP CLIENT REQUEST base64Encode(smtppass) + cr, b() If Not WaitCode(b(), "235") Then GoTo bail WEB TCP CLIENT REQUEST "MAIL FROM:<" + EmailFrom + ">" + cr, b() If Not WaitCode(b(), "250") Then GoTo bail WEB TCP CLIENT REQUEST "RCPT TO:<" + EmailTo + ">" + cr, b() If Not WaitCode(b(), "250") Then GoTo bail WEB TCP CLIENT REQUEST "DATA" + cr, b() If Not WaitCode(b(), "354") Then GoTo bail ' ===== build the DATA body in buf() and stream it with WRITE ===== LongString Clear buf() h$ = "From: " + EmailFrom + cr h$ = h$ + "To: " + EmailTo + cr h$ = h$ + "Subject: My subject" + cr h$ = h$ + "MIME-Version: 1.0" + cr h$ = h$ + "Content-Type: multipart/mixed; boundary=" + Chr$(34) + bd + Chr$(34) + cr + cr h$ = h$ + "--" + bd + cr h$ = h$ + "Content-Type: text/plain; charset=us-ascii" + cr + cr LongString Append buf(), h$ LongString Append buf(), txt + cr h$ = "--" + bd + cr h$ = h$ + "Content-Type: image/jpeg; name=" + Chr$(34) + "test.jpg" + Chr$(34) + cr h$ = h$ + "Content-Transfer-Encoding: base64" + cr h$ = h$ + "Content-Disposition: attachment; filename=" + Chr$(34) + "test.jpg" + Chr$(34) + cr + cr LongString Append buf(), h$ fnbr = 1 Open fname For Input As #fnbr fsize = Lof(#fnbr) Do While fsize > 0 k = MIN(189, fsize) chunk$ = Input$(k, #fnbr) enc$ = base64Encode(chunk$) If LLen(buf()) + Len(enc$) + 2 > 8700 Then WEB TCP CLIENT WRITE buf() LongString Clear buf() EndIf LongString Append buf(), enc$ + cr fsize = fsize - k Loop Close #fnbr LongString Append buf(), "--" + bd + "--" + cr WEB TCP CLIENT WRITE buf() LongString Clear buf() WEB TCP CLIENT REQUEST "." + cr, b() If WaitCode(b(), "250") Then ErrEmail = false : FaultDetected = false Print "Email sent with attachment" Else Print "Send not confirmed" EndIf WEB TCP CLIENT REQUEST "QUIT" + cr, b() bail: WEB CLOSE TCP CLIENT End Sub Function WaitCode(b() As integer, code As string) As integer WaitCode = (LInStr(b(), code) > 0) End Function Function base64Encode(si As string) As string Local integer iiii = Math(base64 encode si, base64Encode) End Function Example program using the new camera commands Option explicit Option default none Dim float ch Dim imag%(320*240\8-1) Dim s$ If Instr(MM.DEVICE$,"HDMI") Then Mode 4 Drive "b:" Camera open ov2640 gp20,gp21,gp22,gp26,gp27,gp0 Do Camera change imag%(),ch' initialise the change image Do Camera change imag%(),ch,1 Loop Until ch>10 s$="Movement" Inc s$, LEFT$(Date$,2)+Mid$(Date$,4,2)+RIGHT$(Date$,2) Inc s$," "+LEFT$(Time$,2)+Mid$(Time$,4,2)+RIGHT$(Time$,2)+".jpg" Camera capture jpeg s$,sxga Load jpg s$,,,,,4 Pause 2000 Loop Edited 2026-06-26 03:11 by matherp |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |