|
I spent a day working on a library to manipulate GPIOs on a STM32, using nothing but CMSIS. It was difficult because I'm not used to bare metal, but it works.
Then I spent a day working on a library to bit bang an i8080 bus because MCUFriend i8080 based LCDs on arduino shields use pins that the nucleo boards do not have attached to the FMC controller.
I failed miserably at that. Bodmer did too, so I don't feel as bad. It's a timing issue. the i8080 doesn't include a clock line, and the write strobes have to be timed in a particular fashion. His works hardcoded for my board specifically but it ONLY works when you hard code all the pins, and then batch the writes such that pins on the same port get written all at once. For me to be able to do that without hardcoding the pins would require some C++ metaprogramming magic that I don't know if I'm up for, if it's even possible.
I tried using Bodmer's library to do SPI to a similar display with the STM32 and it doesn't appear to work.
Maybe my wiring is wrong but I seriously doubt it at this point, especially given his general purpose i8080 STM32 code doesn't work either (at least on my board/for me)
I don't know if I'm up for trying to code an SPI driver for this until I can verify the wiring with some known good code. I have a path for that, but it involves using Arduino with the stupid thing to get a proof of life.
My life is now datasheets, old forum posts, and every flippin thing like this I can bookmark: STM32 GPIO registers cheatsheet · GitHub[^]
My life is register manipulation and bit twiddling.
My life is frustration, as it takes a significant amount of effort to do the smallest thing.
And all because all their frameworks are basically not up to my standards.
My standards are simple: I gave up VisualBASIC a long time ago, and bit part of the reason is I DON'T LIKE 'VISUAL' if it means I *must* work with it. To use Cube, you have to use their atrocious GUI editor to prepare a project, and configure your clocks and peripherals and such.
How about no. When I work, that kind of thing belongs in config.h as a bunch of #defines and things of that nature.
And if I can't work with it that way, that's a deal breaker.
STM32 was designed by engineers for engineers. I'm sure my hardware guys will love these things.
But holy hell. At least with the ESP32 I had the option to target one of two frameworks, and I could write code that targeted either/or pretty readily.
With STM32 you have a choice - framework agnostic or hardware agnostic, otherwise you are forking like 4 times to support every framework.
I refuse to set these boards up using a GUI. I refuse. That's what template parameters are for.
I told my little cohort that things are about 5x as difficult to do most anything hardware related now, and that this is our new reality.
Or really, my new reality, since I'm the one who codes the firmware.
The worst part is, I'm the one that was pushing us to move away from ESP32s.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
advice you don't need, but, that is so easy to give:
1) triage: ignore edge cases ... solve for only most in demand hardware
2) don't try to fix bugs the hardware makers didn'g handle unless they pay you $ensational compensation up-front.
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
I'm trying to decide if it's more worthwhile just to write from near scratch per project, just ripping and modifying previous code of mine, rather than trying to create something reusable across boards and chips.
Now I know why nobody has made libraries for these things.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
The engineers that designed the hardware for my last two projects (slave PLC's for heat treating) used my "Windows GUI" to debug (and program) their firmware (and hardware).
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
I didn't reach something like that, but a salesman of Siemens made the statement that in the new version of TIA, there would not be any programm assertion / blocked execution more. When I said that he was wrong, he bet a starter kit... I won 3 of them and some time later an email from someone of the dev department saying "thanks" because they hadn't thought of that.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
imho, layers of "virtual personification" will soon be wrapped around the bare-faced embryonic AI-Chats in use now. Thousands of users will $ubscribe to Beyonce-MusicChat. Retrophiliacs will try to reincarnate Clippy !
in 5/7/5 syllable form (what i dursrt [1] call 'haikoid' form)
the prompt engineer
quacks when your half-baked code needs
another goosing [2]
[1] Middle English durren, daren, from first and third person singular of Old English durran "be bold enough, have courage" (to do something), also transitive "to venture, presume," from Proto-Germanic *ders- (source also of Old Norse dearr, Old High German giturran, Gothic gadaursan), according to Watkins from PIE root *dhers- "bold" (source also of Sanskrit dadharsha "to be bold;" Old Persian darš- "to dare;" Greek thrasys "bold," tharsos "confidence, courage, audacity;" Old Church Slavonic druzate "to be bold, dare;" Lithuanian drįsti "to dare," drąsus "courageous").
An Old English irregular preterite-present verb: darr, dearst, dear were first, second and third person singular present indicative; mostly regularized 16c., though past tense dorste survived as durst, but is now dying, persisting mainly in northern English dialect.
Transitive sense of "attempt boldly to do" is from 1630s. Meaning "to challenge or defy (someone), provoke to action," especially by asserting or implying that one lacks the courage to accept the challenge, is by 1570s. Weakened sense in I dare say (late 14c.) "I suppose, I presume, I think likely," now usually implying more or less indifference. How dare you? is from c. 1200 (Hu durre ȝe).
[2] goosing: [^]
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
To add to this:
Political weaponization of AI. Democrats here in the States want to control what is "truthful and factual data and info" that an AI bot will provide users. Republicans are calling foul, along with a lot of middle tier Democrats.
When Republicans take office, if they ever do, they will want to control the facts for AI, which is just a dangerous.
It's a colossal mess already and it will only get worse.
I can only assume the same is going on for other countries.
The big question obviously is, who gets to control the AI and what information it works with and responds with.
Skynet - Terminator - end of the world as we know it. Corporations will control the world not Governments. Their will/agenda/narative will be enforced by armies of Androids.
|
|
|
|
|
Political views/rants are OT for the Lounge, and your remarks have nothing to do with my post.
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
Does this mean we can pie Slacker now?
Asking for a friend.
Jeremy Falcon
|
|
|
|
|
Hi Jeremy,Jeremy Falcon wrote: we can pie Slacker now? i don't know what 'pie' refers to here.
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
I linked to a Wikipedia article that explains it... a pie to the face.
Jeremy Falcon
|
|
|
|
|
Colleague Slacker007 still has slack with me ... as do ... Thee
Minor lapses into OT rantish do not call for The Holy Inquisition ... unless, of course, if your thang is fomenting ... combat.
cheers, bill
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
He’s awesome. I’m just looking for any excuse to go buy some pies.
Jeremy Falcon
|
|
|
|
|
if you've ever had a fresh coconut pie from north Thailand, made with a small sweet coconut ... your tongue will be changed.
Charoen Resort Chiang Rai: [^]
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
|
Jeremy Falcon wrote: pie Slacker
Food fight!
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Wordle 760 4/6
⬛🟨🟨🟨⬛
⬛🟩🟩⬛🟨
⬛🟩🟩🟨⬛
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 760 3/6
⬜⬜🟨⬜⬜
🟩🟩⬜🟩🟨
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 760 4/6
🟨⬜🟨⬜⬜
⬜🟩⬜🟩🟩
🟩🟩⬜🟩🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 760 2/6*
⬜⬜🟨⬜⬜
🟩🟩🟩🟩🟩
Well ... I wish I could say it was skill, but no - very lucky guess!
"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!
|
|
|
|
|
Wordle 760 3/6
⬜⬜⬜🟩🟨
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
🟨⬜⬜🟨⬜
⬜🟨🟨⬜⬜
🟩🟩🟩🟩🟩
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 760 4/6
⬜⬜🟨🟨⬜
⬜⬜⬜🟩🟨
🟨⬜⬜⬜🟨
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 760 3/6 - Lucked out.
⬜⬜⬜🟨⬜
🟨⬜🟨⬜🟨
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 760 4/6*
⬜🟨⬜⬜⬜
⬜⬜🟨🟨🟨
🟨🟨🟨⬜⬜
🟩🟩🟩🟩🟩
|
|
|
|
|