Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #26046 > unrolled thread

Watchdog for an embedded Linux-based system

Started bypozz <pozzugno@gmail.com>
First post2017-03-13 08:55 +0100
Last post2017-03-14 20:37 +0200
Articles 12 — 7 participants

Back to article view | Back to comp.arch.embedded


Contents

  Watchdog for an embedded Linux-based system pozz <pozzugno@gmail.com> - 2017-03-13 08:55 +0100
    Re: Watchdog for an embedded Linux-based system Mikko OH2HVJ <mikko.syrjalahti@nospam.fi> - 2017-03-13 10:09 +0200
      Re: Watchdog for an embedded Linux-based system pozz <pozzugno@gmail.com> - 2017-03-13 10:06 +0100
        Re: Watchdog for an embedded Linux-based system Joe Chisolm <jchisolm6@earthlink.net> - 2017-03-13 12:11 -0500
    Re: Watchdog for an embedded Linux-based system Tim Wescott <tim@seemywebsite.really> - 2017-03-13 11:24 -0500
      Re: Watchdog for an embedded Linux-based system Paul <paul@pcserviceselectronics.co.uk> - 2017-03-14 20:16 +0000
    Re: Watchdog for an embedded Linux-based system Don Y <blockedofcourse@foo.invalid> - 2017-03-13 17:02 -0700
      Re: Watchdog for an embedded Linux-based system Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-14 12:01 +0200
        Re: Watchdog for an embedded Linux-based system Don Y <blockedofcourse@foo.invalid> - 2017-03-14 09:09 -0700
          Re: Watchdog for an embedded Linux-based system Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-14 19:28 +0200
            Re: Watchdog for an embedded Linux-based system Don Y <blockedofcourse@foo.invalid> - 2017-03-14 11:07 -0700
              Re: Watchdog for an embedded Linux-based system Dimiter_Popoff <dp@tgi-sci.com> - 2017-03-14 20:37 +0200

#26046 — Watchdog for an embedded Linux-based system

Frompozz <pozzugno@gmail.com>
Date2017-03-13 08:55 +0100
SubjectWatchdog for an embedded Linux-based system
Message-ID<oa5j4h$hhc$1@dont-email.me>
I have a Linux-based SOM that intregrates complexity (CPU, memories, 
Ethernet PHY and so on) and I'm going to design a carrier board for it.

I'd like to add an external watchdog on the carrier board for two purposes:
- automatically rerun the system when the applications running
   on Linux crash for some reasons (mainly bugs)
- automatically rerun the system when the system is not able to
   start-up

For the big issue is the second point. I sometime have seen the system 
hangs during startup (during bootloader, during kernel initialization 
and so on).
I don't know the causes of these and the SOM manufacturer doesn't help 
too much. It says... it could happen on those complex systems based on a 
desktop OS as Linux. It says giving a pulse on main CPU RESET linux 
could be not sufficient in certain odd situations.

So I'm thinking to add an external watchdog that:
- monitors the Linux system activity (maybe a pin that goes high and
   low at a certain frequency by an application);
- open and close again a small relay that brings the main power supply
   voltage rail to the Linux system

Do you have better suggestions?

[toc] | [next] | [standalone]


#26047

FromMikko OH2HVJ <mikko.syrjalahti@nospam.fi>
Date2017-03-13 10:09 +0200
Message-ID<m2fuih38ek.fsf@mspro.in.enevo.com>
In reply to#26046
pozz <pozzugno@gmail.com> writes:

> So I'm thinking to add an external watchdog that:
> - monitors the Linux system activity (maybe a pin that goes high and
>   low at a certain frequency by an application);
> - open and close again a small relay that brings the main power supply
>   voltage rail to the Linux system
>
> Do you have better suggestions?

Sounds good to me. If you have the external watchdog as a separate MCU
(with super simple firmware and an external HW watchdog of it's own),
you can also ask the WD to cycle power on purpose.

Make sure you also take down all the incoming IO signals, they may keep
some part of the SOM powered and locked up. I've seen 0.4V to an IO pin
keep SRAM registers in a state that locked the system.

--
mikko

[toc] | [prev] | [next] | [standalone]


#26048

Frompozz <pozzugno@gmail.com>
Date2017-03-13 10:06 +0100
Message-ID<oa5n8n$tgi$1@dont-email.me>
In reply to#26047
Il 13/03/2017 09:09, Mikko OH2HVJ ha scritto:
> pozz <pozzugno@gmail.com> writes:
>
>> So I'm thinking to add an external watchdog that:
>> - monitors the Linux system activity (maybe a pin that goes high and
>>   low at a certain frequency by an application);
>> - open and close again a small relay that brings the main power supply
>>   voltage rail to the Linux system
>>
>> Do you have better suggestions?
>
> Sounds good to me. If you have the external watchdog as a separate MCU
> (with super simple firmware and an external HW watchdog of it's own),
> you can also ask the WD to cycle power on purpose.

Do you suggest any external HW watchdog?


> Make sure you also take down all the incoming IO signals, they may keep
> some part of the SOM powered and locked up. I've seen 0.4V to an IO pin
> keep SRAM registers in a state that locked the system.

Hmmm..., this could be a little more complex. Anyway, thank you for this 
suggestion.

[toc] | [prev] | [next] | [standalone]


#26051

FromJoe Chisolm <jchisolm6@earthlink.net>
Date2017-03-13 12:11 -0500
Message-ID<q6-dna6iu7dUT1vFnZ2dnUU7-X2dnZ2d@earthlink.com>
In reply to#26048
On Mon, 13 Mar 2017 10:06:10 +0100, pozz wrote:

> Il 13/03/2017 09:09, Mikko OH2HVJ ha scritto:
>> pozz <pozzugno@gmail.com> writes:
>>
>>> So I'm thinking to add an external watchdog that:
>>> - monitors the Linux system activity (maybe a pin that goes high and
>>>   low at a certain frequency by an application);
>>> - open and close again a small relay that brings the main power supply
>>>   voltage rail to the Linux system
>>>
>>> Do you have better suggestions?
>>
>> Sounds good to me. If you have the external watchdog as a separate MCU
>> (with super simple firmware and an external HW watchdog of it's own),
>> you can also ask the WD to cycle power on purpose.
> 
> Do you suggest any external HW watchdog?
> 
> 
>> Make sure you also take down all the incoming IO signals, they may keep
>> some part of the SOM powered and locked up. I've seen 0.4V to an IO pin
>> keep SRAM registers in a state that locked the system.
> 
> Hmmm..., this could be a little more complex. Anyway, thank you for this 
> suggestion.

Depends on what you have for free GPIO pins to reset a WDT.  A 555 and a
SSR can be rigged to do what you want.  If you have a serial port that 
supports full HW flow control or the like, you can use a CTS or other 
control pin.  A little dirt cheap uC can do the same thing and can
actually allow more control as you might want a longer WDT time during
system boot vs up and running the app.  The uC can listen on a serial
port and when the app starts it's heartbeat the uC can adjust the
timeout interval.

You can also do this with a simple shift register and appropiate
clock.  You clock in a high or low depending on what you need to
pop out the other end for the power reset.  The heart beat resets
the shift register.

The tricky part is the intial power on sequence with the WDT and
then the WDT power on to the main system.  Also will you allow
a normal reset of the system and how does the WDT react.

-- 
Chisolm
Republic of Texas

[toc] | [prev] | [next] | [standalone]


#26050

FromTim Wescott <tim@seemywebsite.really>
Date2017-03-13 11:24 -0500
Message-ID<J6adndCr5LAwWlvFnZ2dnUU7-I-dnZ2d@giganews.com>
In reply to#26046
On Mon, 13 Mar 2017 08:55:42 +0100, pozz wrote:

> I have a Linux-based SOM that intregrates complexity (CPU, memories,
> Ethernet PHY and so on) and I'm going to design a carrier board for it.
> 
> I'd like to add an external watchdog on the carrier board for two
> purposes:
> - automatically rerun the system when the applications running
>    on Linux crash for some reasons (mainly bugs)
> - automatically rerun the system when the system is not able to
>    start-up
> 
> For the big issue is the second point. I sometime have seen the system
> hangs during startup (during bootloader, during kernel initialization
> and so on).
> I don't know the causes of these and the SOM manufacturer doesn't help
> too much. It says... it could happen on those complex systems based on a
> desktop OS as Linux. It says giving a pulse on main CPU RESET linux
> could be not sufficient in certain odd situations.
> 
> So I'm thinking to add an external watchdog that:
> - monitors the Linux system activity (maybe a pin that goes high and
>    low at a certain frequency by an application);
> - open and close again a small relay that brings the main power supply
>    voltage rail to the Linux system
> 
> Do you have better suggestions?

Sounds good.  I'd look for a power supply with an enable input (like most 
PC power supplies these days) and use that instead of a relay.

AFAIK, when the system gets bodged to the point of needing a power cycle, 
it's because some peripheral or another gets bodged in a way that won't 
get un-bodged merely as a result of sweet-talking from the CPU.  But, 
that's just a guess.

-- 
www.wescottdesign.com

[toc] | [prev] | [next] | [standalone]


#26084

FromPaul <paul@pcserviceselectronics.co.uk>
Date2017-03-14 20:16 +0000
Message-ID<MPG.33325fe2b81c2e6b98981d@172.16.0.1>
In reply to#26050
In article <J6adndCr5LAwWlvFnZ2dnUU7-I-dnZ2d@giganews.com>, 
tim@seemywebsite.really says...
> 
> On Mon, 13 Mar 2017 08:55:42 +0100, pozz wrote:
> 
> > I have a Linux-based SOM that intregrates complexity (CPU, memories,
> > Ethernet PHY and so on) and I'm going to design a carrier board for it.
> > 
> > I'd like to add an external watchdog on the carrier board for two
> > purposes:
> > - automatically rerun the system when the applications running
> >    on Linux crash for some reasons (mainly bugs)
> > - automatically rerun the system when the system is not able to
> >    start-up
> > 
> > For the big issue is the second point. I sometime have seen the system
> > hangs during startup (during bootloader, during kernel initialization
> > and so on).
> > I don't know the causes of these and the SOM manufacturer doesn't help
> > too much. It says... it could happen on those complex systems based on a
> > desktop OS as Linux. It says giving a pulse on main CPU RESET linux
> > could be not sufficient in certain odd situations.
> > 
> > So I'm thinking to add an external watchdog that:
> > - monitors the Linux system activity (maybe a pin that goes high and
> >    low at a certain frequency by an application);
> > - open and close again a small relay that brings the main power supply
> >    voltage rail to the Linux system
> > 
> > Do you have better suggestions?
> 
> Sounds good.  I'd look for a power supply with an enable input (like most 
> PC power supplies these days) and use that instead of a relay.
> 
> AFAIK, when the system gets bodged to the point of needing a power cycle, 
> it's because some peripheral or another gets bodged in a way that won't 
> get un-bodged merely as a result of sweet-talking from the CPU.  But, 
> that's just a guess.

Just don't end up in a Windows BSOD cycle and as I just saw at a local
shop with their portable card reader.

	Power up 
	get fatal error
	Restart
	get fatal error
	Restart
	get fatal error
	Restart
	get fatal error
	..
	repeat ad nauseum

Removing battery for 30 secs made no difference.

Standard Windows configuration on most versions on getting BSOD
restart system to get BSOD and repeat.

If you do watchdog reset make sure the reset from the watchdog

	Cannot get STUCK in reset output
	Only reboots 'n' times before HALTING

-- 
Paul Carpenter          | paul@pcserviceselectronics.co.uk
<http://www.pcserviceselectronics.co.uk/>    PC Services
<http://www.pcserviceselectronics.co.uk/LogicCell/>   Logic Gates 
Education 
<http://www.pcserviceselectronics.co.uk/pi/>  Raspberry Pi Add-ons
<http://www.pcserviceselectronics.co.uk/fonts/> Timing Diagram Font
<http://www.badweb.org.uk/> For those web sites you hate

[toc] | [prev] | [next] | [standalone]


#26063

FromDon Y <blockedofcourse@foo.invalid>
Date2017-03-13 17:02 -0700
Message-ID<oa7boq$1qf$1@dont-email.me>
In reply to#26046
On 3/13/2017 12:55 AM, pozz wrote:
> I have a Linux-based SOM that intregrates complexity (CPU, memories, Ethernet
> PHY and so on) and I'm going to design a carrier board for it.
>
> I'd like to add an external watchdog on the carrier board for two purposes:
> - automatically rerun the system when the applications running
>   on Linux crash for some reasons (mainly bugs)
> - automatically rerun the system when the system is not able to
>   start-up
>
> For the big issue is the second point. I sometime have seen the system hangs
> during startup (during bootloader, during kernel initialization and so on).
> I don't know the causes of these and the SOM manufacturer doesn't help too
> much. It says... it could happen on those complex systems based on a desktop OS
> as Linux. It says giving a pulse on main CPU RESET linux could be not
> sufficient in certain odd situations.
>
> So I'm thinking to add an external watchdog that:
> - monitors the Linux system activity (maybe a pin that goes high and
>   low at a certain frequency by an application);
> - open and close again a small relay that brings the main power supply
>   voltage rail to the Linux system
>
> Do you have better suggestions?

Don't use a watchdog to fix a DESIGN PROBLEM.  Find a new vendor.
(How can you have confidence in your product if one of the main components
can't even meet its minimal performance requirements?)

[toc] | [prev] | [next] | [standalone]


#26074

FromDimiter_Popoff <dp@tgi-sci.com>
Date2017-03-14 12:01 +0200
Message-ID<oa8esa$k2s$1@dont-email.me>
In reply to#26063
On 14.3.2017 г. 02:02, Don Y wrote:
> On 3/13/2017 12:55 AM, pozz wrote:
>> I have a Linux-based SOM that intregrates complexity (CPU, memories,
>> Ethernet
>> PHY and so on) and I'm going to design a carrier board for it.
>>
>> I'd like to add an external watchdog on the carrier board for two
>> purposes:
>> - automatically rerun the system when the applications running
>>   on Linux crash for some reasons (mainly bugs)
>> - automatically rerun the system when the system is not able to
>>   start-up
>>
>> For the big issue is the second point. I sometime have seen the system
>> hangs
>> during startup (during bootloader, during kernel initialization and so
>> on).
>> I don't know the causes of these and the SOM manufacturer doesn't help
>> too
>> much. It says... it could happen on those complex systems based on a
>> desktop OS
>> as Linux. It says giving a pulse on main CPU RESET linux could be not
>> sufficient in certain odd situations.
>>
>> So I'm thinking to add an external watchdog that:
>> - monitors the Linux system activity (maybe a pin that goes high and
>>   low at a certain frequency by an application);
>> - open and close again a small relay that brings the main power supply
>>   voltage rail to the Linux system
>>
>> Do you have better suggestions?
>
> Don't use a watchdog to fix a DESIGN PROBLEM.  Find a new vendor.
> (How can you have confidence in your product if one of the main components
> can't even meet its minimal performance requirements?)

Hi Don,

this is how they do things nowadays, not much we can do about it.
Spread a mess over the currently exposed mess to cover it.
Like a friend of mine once said, our civilization won't be the
first one to fall.
Even in mass products - I had a phone from one of the leading
manufacturers which sometimes would not come out of reset no matter what
and for how long you press - took opening it and removing the battery
for a while to get it to work.
The messiness in our trade is past the point of no return, has been
for a while.

Dimiter

[toc] | [prev] | [next] | [standalone]


#26076

FromDon Y <blockedofcourse@foo.invalid>
Date2017-03-14 09:09 -0700
Message-ID<oa94do$vlj$1@dont-email.me>
In reply to#26074
Hi Dimiter,

On 3/14/2017 3:01 AM, Dimiter_Popoff wrote:

>> Don't use a watchdog to fix a DESIGN PROBLEM.  Find a new vendor.
>> (How can you have confidence in your product if one of the main components
>> can't even meet its minimal performance requirements?)
>
> this is how they do things nowadays, not much we can do about it.

Well, *I* can certainly not contribute to the practice!  If you've
got a "slow leak" in a tire, do you drive around with a *pump* in
the trunk (forever!) or do you fix the leak?

> Spread a mess over the currently exposed mess to cover it.

I think much of the problem comes from people treating software (and other
components) as "black boxes" -- despite the fact that they weren't rigorously
*designed* and *documented* as such.  Rather than UNDERSTAND what's going on,
they slap a band-aid on it to get the overall required behavior.  Yet, can
never be sure they've applied the RIGHT "band-aid" (cuz they don't know what
the PROBLEM is!)

Similarly, you see folks dismiss "intermittent"/sporadic failures as "flukes".
Hey, if it happened ONCE, who's to say it won't happen again?  Just because
it's not happening NOW (for some UNKNOWN reason), how do you know it won't
resume happening the day you start shipping product?  And, how do you know
it won't happen to EVERY unit that you ship??

I doubt the OP is constrained to having just *one* choice in terms of
"SoM/SoC running Linux".  And, what guarantee will he have that cycling
power WILL allow the device to boot properly?  (after all, didn't he just
recently apply power and watch it FAIL TO BOOT -- necessitating the power
cycling?)  Or, that there aren't other "issues" that will manifest DURING
OPERATION -- or, that *are* happening during operation but that he han't
rigorously identified in his test/validation procedure?

> Like a friend of mine once said, our civilization won't be the
> first one to fall.
> Even in mass products - I had a phone from one of the leading
> manufacturers which sometimes would not come out of reset no matter what
> and for how long you press - took opening it and removing the battery
> for a while to get it to work.
> The messiness in our trade is past the point of no return, has been
> for a while.

"Just push the product out the door.  Let the next guy worry about
why it doesn't work.  Chances are, a new version with a different set of
problems will be available at that time!  Offer the disgruntled user a
FREE UPGRADE (to that new set of disgruntling problems!  :> )"

Makes one wonder how tolerant of bugs, poor quality, etc. these same
folks are in the products that they *purchase* for their own use?!
How patient they'd be if their vehicle didn't start from time to
time unless they exited the cabin, closed the door, paused and
then repeated the attempt.  Or, a TV shutting off in the middle of
a ball game.  Or, their food order "disappearing" and that fact only
discovered after they'd waited 20 minutes for it to be served?

(sigh)

"Apres moi, le deluge!"

[toc] | [prev] | [next] | [standalone]


#26079

FromDimiter_Popoff <dp@tgi-sci.com>
Date2017-03-14 19:28 +0200
Message-ID<oa993a$i2o$1@dont-email.me>
In reply to#26076
On 14.3.2017 г. 18:09, Don Y wrote:
> Hi Dimiter,
>
> On 3/14/2017 3:01 AM, Dimiter_Popoff wrote:
>
>>> Don't use a watchdog to fix a DESIGN PROBLEM.  Find a new vendor.
>>> (How can you have confidence in your product if one of the main
>>> components
>>> can't even meet its minimal performance requirements?)
>>
>> this is how they do things nowadays, not much we can do about it.
>
> Well, *I* can certainly not contribute to the practice!  If you've
> got a "slow leak" in a tire, do you drive around with a *pump* in
> the trunk (forever!) or do you fix the leak?

What they seem to do in that situation is to put a larger tire over
the leaky one, pump a few kilograms of glue between the two and
move on....

Like I said before, past the point of no return. Way past really.

Dimiter

[toc] | [prev] | [next] | [standalone]


#26081

FromDon Y <blockedofcourse@foo.invalid>
Date2017-03-14 11:07 -0700
Message-ID<oa9bbl$qid$1@dont-email.me>
In reply to#26079
On 3/14/2017 10:28 AM, Dimiter_Popoff wrote:
> On 14.3.2017 г. 18:09, Don Y wrote:
>> Hi Dimiter,
>>
>> On 3/14/2017 3:01 AM, Dimiter_Popoff wrote:
>>
>>>> Don't use a watchdog to fix a DESIGN PROBLEM.  Find a new vendor.
>>>> (How can you have confidence in your product if one of the main
>>>> components
>>>> can't even meet its minimal performance requirements?)
>>>
>>> this is how they do things nowadays, not much we can do about it.
>>
>> Well, *I* can certainly not contribute to the practice!  If you've
>> got a "slow leak" in a tire, do you drive around with a *pump* in
>> the trunk (forever!) or do you fix the leak?
>
> What they seem to do in that situation is to put a larger tire over
> the leaky one, pump a few kilograms of glue between the two and
> move on....

But, that would *solve* the problem -- assuming they similarly
increased the size of the remaining tires.

The "tire pump" remedy I mentioned just *perpetuates* the problem.
Akin to treating symptoms instead of the underlying problem.

It is particularly annoying to see how willingly folks will "dismiss"
problems THAT THEY, THEMSELVES, WITNESSED if they are intermittent (not
EASY to track down).

I designed a LORAN-C-based autopilot early in my career.  In our first
sea trial of the prototype (a piece of perf board bolted to a chunk of
lumber!), we defined a course to circumnavigate Cape Cod (Massachusetts)
<https://en.wikipedia.org/wiki/Cape_Cod> via a set of "waypoints"
designed to allow us to hug the coastline.

[The autopilot worked by letting you enter the latitude and longitude of
these waypoints, in sequence, and it would steer the boat *to* each,
in turn (at the time, most autopilots simply tried to keep a vessel
pointed in a particular direction and couldn't compensate for drift)]

We monitored the boat's course with a position plotter (took positional
information from a LORAN-C receiver and plotted those on a chart/map).
As expected, the vessel's track was true to the series of waypoints we'd
entered (you use the nominal coordinates of buoys in the ocean/bay
as markers cuz its hard to tell one wave from another!  :> ).

But, there was a very noticeable 'S' in the track at one particular point.
As if the algorithm had "overflowed" and then overcompensated before
eventually returning to its ideal track.  I spent weeks (off-hours)
digging through my source code, the floating point library implementation,
etc. in an attempt to understand why this anomaly was present.

Unfortunately, I had no way to log the raw data from the LORAN receiver;
that was the purpose of the plotter's record!  Nor any way to log the
actions INTENDED by my device (had it COMMANDED the vessel to take such
a course?).

My boss dismissed the "problem" -- citing the fact that we had stopped
the vessel in that general area to do some deep sea fishing.  As such,
its movements were largely at the whim of the ocean current and the
MANUAL compensation that the skipper would occasionally bring to bear
(to keep the waves from turning the vessel sideways which would leave it
vulnerable to being toppled by larger waves).

I still have that code (I have *everything* I've ever designed/written)
and periodically drag it out hoping to stumble on some OTHER explanation.
I'd much prefer a genuine bug to explain the behavior than HOPE it was
as my boss had suggested!

A colleague had implemented a video game that suffered from an annoying
"problem" -- almost invariably when the player was having a REALLY GOOD
game!  Yet, it proved difficult to track down as the game is, by its
very nature, based on "random" events (pseudo-random number generators
governing its actions; non-repeatable interactions with the player, etc.).

The game was released with the "problem" unresolved (that market is very
aggressively competitive and narrow windows of "opportunity").

Some *years* later, the problem was found to be a genuine bug (duh!).
Unfortunate that EVERY unit shipped had that bug.  *But*, a strong sense
of closure finally KNOWING the cause!

> Like I said before, past the point of no return. Way past really.

[toc] | [prev] | [next] | [standalone]


#26082

FromDimiter_Popoff <dp@tgi-sci.com>
Date2017-03-14 20:37 +0200
Message-ID<oa9d3c$198$1@dont-email.me>
In reply to#26081
On 14.3.2017 г. 20:07, Don Y wrote:
> On 3/14/2017 10:28 AM, Dimiter_Popoff wrote:
>> On 14.3.2017 г. 18:09, Don Y wrote:
>>> Hi Dimiter,
>>>
>>> On 3/14/2017 3:01 AM, Dimiter_Popoff wrote:
>>>
>>>>> Don't use a watchdog to fix a DESIGN PROBLEM.  Find a new vendor.
>>>>> (How can you have confidence in your product if one of the main
>>>>> components
>>>>> can't even meet its minimal performance requirements?)
>>>>
>>>> this is how they do things nowadays, not much we can do about it.
>>>
>>> Well, *I* can certainly not contribute to the practice!  If you've
>>> got a "slow leak" in a tire, do you drive around with a *pump* in
>>> the trunk (forever!) or do you fix the leak?
>>
>> What they seem to do in that situation is to put a larger tire over
>> the leaky one, pump a few kilograms of glue between the two and
>> move on....
>
> But, that would *solve* the problem -- assuming they similarly
> increased the size of the remaining tires.

Touch the other 3 units which still work? You must be kidding.
And the solution would be typical: add a few kilograms of weight
to the car (tire +glue), make that wheel wobbly (the glue won't
be spread evenly and who would care about balancing a fix like this)
so the ride will be bumpy, never mind the vibrations
might pull the whole thing apart and kill someone - "on very rare
occasions".... :).


> .....
>
> I still have that code (I have *everything* I've ever designed/written)

Me too - almost. I lost a little of my earliest work (a few floppies)
but I have never needed that.

Dimiter

[toc] | [prev] | [standalone]


Back to top | Article view | comp.arch.embedded


csiph-web