|
honey the codewitch wrote: and the one that is wired on a breadboard only works when they are disabled
Years ago, on basically a breadboard of a controller using some archaic 8 bit processor that the engineer had wired up, everything worked fine.
When we went to production with PCB's of the schematic, the assembly code would occasionally just blow up, randomly, anywhere. The hardware engineer blamed my code.
One dark and stormy night, I sat on the workbench with an oscilloscope and several probes and discovered there was a race condition on the address select line -- you know, those old processors that had 16 bit address lines but spit out the lower and upper 8 bits serially with an LSB/MSB line to be used as a latch.
Turns out that on the prototype hand-wired board, the latch wire was long enough for the address lines to have settled. On the PCB, the latch trace was really short. So occasionally and randomly, the latch would occur before the address lines to have settled.
We cut the trace, added about 3 inches of wirewrap wire, and everything ran solidly.
The hardware engineer was impressed. It actually was quite a turning point for our work relationship - he never trusted software geeks before, and now he did.
|
|
|
|
|
So to speak your intention is to fix the wrong wiring by software?
Not sure whether this is the correct solution
|
|
|
|
|
In this case it is, due to this code targeting primarily hand wired devices. Running everything at maximum leaves no room for any noise or capacitance tolerance, and that's a problem.
It's kind of like making software that targets multiple platforms or environments. In those cases, sometimes you have to work with the lowest common denominator.
The demo board my optimized code works on is all super high quality components and construction, very well engineered, because it was a board given out by vendors at trade shows, so Espressif put their best foot forward, making these boards absolutely top shelf, but I can't write my code to target that specifically.
Real programmers use butterflies
|
|
|
|
|
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
Most probably a problem of slope rates (capacitive load of the wild wiring). Ok one can sometimes adjust this by clockrate as a workaround(?). But the chance to burn down the hardware doing like is also always present; not all signals have a schmitt trigger input circuit
|
|
|
|
|
Well.. that's a new one!
But it certainly a good problem to have!
|
|
|
|
|
Actually it's not. I don't know where the code needs to be slowed down. It could be anywhere. Yikes.
Real programmers use butterflies
|
|
|
|
|
You just need to get yourself a More Magic switch
Keep Calm and Carry On
|
|
|
|
|
Sorry, I have to ask... did you try increasing the voltage yet? Just bypass those pesky 3v3 regulators, they are just slowing things down.
|
|
|
|
|
Umm, I want this to work for other people, not just me. I'm not writing it for just me. If the code is 10% slower but works with most devices it won't kill anyone.
Real programmers use butterflies
|
|
|
|
|
The is usually an easier problem to fix than increasing speed. That's the problem I have fought over the last two years and defeated.
Anyway, it sounds to me like you need configurable delay points with the ability to minimize them for certain devices and increase them for others. One that's one approach anyway.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
That might be too complicated, given that 90% of the boards out there need the lowest common denominator code. I think I just need to find the sweet spot.
But you're right - sometimes. Maybe most of the time, it's easier to speed things up than slow things down. Unless you can just throw another core at it (I have two)
Real programmers use butterflies
|
|
|
|
|
The wired breadboards work well up to about 1 MHz, then can have some strange behaviour above that. I suspect it is due to capacitance, but could be mistaken on that. The behaviour your describing fits into that kind of scenario.
Ken
|
|
|
|
|
Absolutely. The thing is though, is that I have to be able to tolerate it. I know it's possible because I'm working with code that does it as a guide, but I'm clearly missing something.
Real programmers use butterflies
|
|
|
|
|
Thought of the Day will be making a brief return over the festive period, starting Monday (and probably but not definitely ending the following Friday).
So how long are you folks shutting down for? I assume most companies are working up to or on Christmas Eve and restarting in the new year?
"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!
|
|
|
|
|
1. Cool
2. You assume correctly in my circumstance.
// TODO: Insert something here Top ten reasons why I'm lazy
1.
|
|
|
|
|
I think our company is following that plan. But as usual, I've booked two weeks off, so today is my last day until 4th January.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Office, no shutting down since 25th is on Sunday and we do not have the awesome English holiday rule. Me, next week Wednesday is last until 4th Jan.
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
TotD
Company closes after next Thursday (23rd) until Monday, Jan 3rd - but I'm taking the prior week so today is my last day of the year. Woot!!!
|
|
|
|
|
this is my last day, taking 2 weeks off as is most of my team.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
Cool.
The University we support is shutting down for two weeks starting Monday. The Foundation, where I work isn't shutting down but everyone is getting the 23rd, 24th, and 31st as well as three additional days of their choice during the next two weeks off as paid holidays.
Me, I'm taking two weeks and visiting my parents.
|
|
|
|
|
My clients (education support sector) will be out from today through the rest of the year. I however traditionally take the downtime to try and get caught up, though it is a much more relaxed schedule.
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
I think today is the last 2021 day, so they should cut the power anyti
|
|
|
|
|
1. Good News.
2. Company Half Day on 24th, Bank Holidays then back on 29th
|
|
|
|
|
My clients will have work going on until Friday and then restarting the following Wednesday. Which means that if there are any issues, I'll be working. (There probably won't be!) But if I need a break from washing up and playing Monopoly, there's some fun real-time GPS/mapping work to do, some CSS tweaks and logging of a TCP/IP communication stream that all need to be ready early January. Plus I need to automate some archival stuff as that will save me time (and therefore also income!) in 2022.
|
|
|
|