For a long while, i’ve wanted a little calculator to sit by my electronics bench and help out with the little calculations that come up - in a way that makes it not matter if “nF” should be “e-9” or “e-12”
So when PicoCalc came out, i knew i had to grab one and build it
The syntax was originally a bit “vi-like” because it made the parsing a bit simpler, but i’ve just pushed v16 which removes the : from the beginnings of commands, and adds a much better help command.
I’ve also expanded the README so it now has some instructions on how to use things
Please lmk if they’re helpful, or if there’s more clarity needed.
This is VERY helpful, thanks! I was looking for a “help” and now you have it - great.
And I think the move to simpler syntax is also helpful (eg: “g” instead of “:g”), so to that end could I suggest that when defining a function, the “->” could be eliminated? Or perhaps replaced with “,” as in the graph command. That is, you are defining “f:” and the first argument is the “x” and the second arg is the y value as a function of that x, which in the graph command is delimited by a comma. Just a thought (I’m slow typing with that little keyboard!)
Also, and unusual thing. I tried “small” and found the lowercase “g” has an unusual graphical glitch. Almost like it is g prime g’ somehow.
Should these comments be made in your git project somehow, or is it okay to post here?
ok - i think v17 should hopefully make life a bit easier
You need to use the SHIFT key much less now (only really for + and *, and for the < when specifying axis ranges). You can use the [ and ] brackets instead of the () ones.
Function and variable definitions are much simpler and are unified now - it’s just
Thank you fot this release.
Nevertheless, it seems to have a small problem on my pico2 : the results are printed out but immediately erased. Hard to see on a simple operation but more obvious on a graph.
I use the uf2 loader it that’s relevant.
f.
I’ve been developing on a pico2, so that should be ok, but perhaps there’s a conflict with the uf2 loader. I’ll give it a try and see.
just in case it’s important, do you know which version of the main board bios you’re using? I’ve been testing with 1.6 but I know there are a few others around…
TBH I am not sure. I don’t remember what I did, and I think it’s v1.2. since that’s the only files I have on my disks, dated june 2025.
Do you know a way for me to see that release version easely ?
Unfortunately I’m not sure how you can easily tell which version is installed. It’s possible that there’s a way to find out – but updating it was quite a manual process, so if you don’t remember doing it, I imagine you have the stock install, which I believe is 1.2 or 1.4
I’ve just tested with a pico2 and uf2loader and it worked fine for me, so unless it’s the bios thing, i’m not really sure what it could be
v20 did include quite a few changes to how I’m using the LCD - I believe I’m doing everything properly, but there is a small chance that my code is unwittingly doing something out-of-spec and I’m just getting lucky with my board.
I guess I’d recommend either trying to update your flash to 1.6, or sticking with v18 if that was working for you
What seems to happen is the cursor Y position doesn’t get incremented, and the new cursor input has an Erase-to-EOS function that erases everything.
The problem seems to occur only when calc_process_input() is called, all other calls to text_emit_str() seems to work properly. Which doesn’t make any sense to me yet.
But no sweat, I’ll debug this further and get back to you with a better diagnostic later.
j.
I recompiled your app. With the uf2 generated locally it works.
So maybe the .uf2 file on github’s release page has a problem or I made a bad download ?
[edit] Note that your uf2 is 192000 bytes long, mine has 713216 bytes, I did not check the SDK version I am using very carefully so it could be anything in there …
Note also that I used your latest source, labelled v21 so maybe it’s different already.
J.