|
"If your parents never had children, chances are... neither will you." Dick Cavett
|
|
|
|
|
Mine had seven - I had none ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Today I found a vector graphics library in C that can potentially run on little devices (at least after I'm done with it)
GitHub - sammycage/plutovg: Tiny 2D vector graphics library in C[^]
1. It supports text and it uses the same "STB" truetype engine as my library does in order to do so. What a happy coincidence! I've made some mods to my fork, but it's not a problem.
2. Someone else wrote an SVG engine that works on top of it, meaning I think it's feature complete enough for that that I can too.
3. It appears on first blush that it creates contours and edges upon document creation rather than upon render, which is a boon for performance compared to what I had been forced to do before.
4. It uses tables to do a lot of trigonometry required.
So now not only do I have my anti-aliased, alpha blended vector graphics additions to GFX, I can finally hopefully sidestep my crashing issue (The waterbed post from the other day) because my strong suspicion is the crash was coming from the SVG end of things. Since I'm replacing that entire mess with this, that will hopefully tie that in a bow as well.
Once finished GFX will be the premier embedded graphics library for doing vector graphics.
At that point I'll feel it's a worthy alternative to LVGL depending on the project needs.
Man, what a find.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I just use an 8-point font to save code space.
|
|
|
|
|
I take it it's open source ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Yeah - MIT license, like my lib.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
That open source project appears to be unattributed and based off FreeType[^], make sure to add that to your tertiary licence chain after you refactor it to be unrecognizable. After you get it working on your MCU it should be easy to compare to the improvements over the LVGL offering[^]. Looks like FreeType on LVGL requires 24KB of stack.
|
|
|
|
|
It uses some code from Freetype, and my license documentation will reflect that.
I'm actually pouring over all the code to convert it to C++ and do things like integrate it such that it uses my bitmap class instead of its own - that sort of thing, so I'm pretty familiar with where the codebase comes from.
And I've worked with FreeType before and am familiar with it, which is why I made TinyTTF - and contributed that to LVGL as it runs in more places.
That said, the freetype bits used in pluto isn't very heavy - just typedefs and rasterization algorithms.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
"Looking back, my life so far seems like one long obstacle race, with me as its chief obstacle." - Jack Paar
I miss Jack Paar also.
|
|
|
|
|
Why up a hill of course.
Jeremy Falcon
|
|
|
|
|
"I hated my last boss. He asked, Why are you two hours late? I said, I fell downstairs. He said, That doesn't take two hours." - Johnny Carson
I miss "Heeere's Johnny!"
|
|
|
|
|
Quote: Where's Johnny?
Sounds like a song.Where's Johnny - YouTube[^]
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
|
Yesterday we decided to splurge in the posh restaurant St.Maxime in the picturesque town of Deventer and had "Oeufs bénédictine" for lunch.
Probably better known as Eggs Benedict - Wikipedia[^] in the states.
To my surprise Wikipedia mentions this was invented in the states, but to me it seems more likely that the origin was French.
modified 31-Aug-24 8:30am.
|
|
|
|
|
Na, we have a lot of good recipes in France, but this one is definitely not French - has some origins in Quebec yet, so maybe a touch of French
|
|
|
|
|
I love eggs benedict, and will always order it if it is on the menu. My current favourite is on the breakfast menu of De Juf in Middelburg. EGGS BENEDICT €14,50, served on light multi-grain toast with avocado and poached eggs, and Hollandaise sauce, options: warm smoked salmon, or pulled pork, or bacon, or tomato.
Delicious
The most over the top eggs benedict that I have had was made with lobster and served at the Atlantis Hotel, Paradise island, in The Bahamas. There was a huge aquarium built into the wall of the restaurant with, amongst other fish, sharks and rays.
|
|
|
|
|
Sounds good, have to remember that address when I visit Middelburg again
|
|
|
|
|
Yesterday I enjoyed fresh kale w/ raisins to my surprise. I insist on an egg w/ each meal however I can not recall last occasion I enjoyed same as much as I expected to.
|
|
|
|
|
Wordle 1,169 5/6*
⬜⬜🟩🟨⬜
🟩🟨🟩⬜⬜
🟩⬜🟩🟨⬜
🟩⬜🟩🟩🟩
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
⬜⬜⬜⬜⬜
🟨⬜🟩🟩🟨
🟩🟩🟩🟩🟩
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,169 4/6
⬛⬛⬛⬛🟩
🟩⬛⬛⬛🟩
🟩⬛🟩⬛🟩
🟩🟩🟩🟩🟩
No yellows.
Jeremy Falcon
|
|
|
|
|
Wordle 1,169 2/6
⬛⬛🟩⬛⬛
🟩🟩🟩🟩🟩
A second 2 row in a week!
I must have done something good to deserve this!
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 1,169 3/6
🟨⬜⬜⬜⬜
⬜⬜🟨🟩🟩
🟩🟩🟩🟩🟩
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Wordle 1,169 4/6
⬜⬜⬜🟨⬜
🟨⬜🟨⬜🟨
⬜⬜🟨🟩🟩
🟩🟩🟩🟩🟩
Within you lies the power for good - Use it!
|
|
|
|
|
Some of my code is causing heap corruption.
I don't know what code, but I suspect it's my SVG code. The issue is that it works sometimes. But if I look at it funny it starts crashing, and my stack trace keeps pointing me to different places depending on the seemingly unrelated changes I make in main(). Sometimes it points me to some font rendering code. Sometimes it points me to a seemingly innocuous assign to a local variable in my SVG parser code. It's maddening.
It doesn't reproduce on the PC, at least 64-bit. I haven't tried 32 because trying to get 32-bit executables built on a windows machine these days I think requires a VM?
I tried running Deleaker against it, not sure if it would pick up heap corruption - it either doesn't, or it isn't coming up on the PC.
Unfortunately, much of this code is derived in many places from work that wasn't mine to begin with, and so instrumenting it to detect heap corruption if I have to wrap all malloc/reallocs etc will cause me real pain.
I don't know what to do. Maybe this would rear its head if I had kilobytes instead of gigabytes of RAM? but i wouldn't even know how to set that up on a PC without altering my code to use a custom constrained heap.
I'm so frustrated I've put it down, but it's gnawing at me, because it's definitely blocking any attempt I make at releasing.
I wish these little IoT devices had good memory protection. It just now occurred to me to try this on an ARM and hope i can reproduce it. Maybe I'll get a better stack trace. Who knows?
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|