Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#7278 - 11/10/1999 09:48 Power up instability
altman
carpal tunnel

Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
Myself & Mike have had a go at the powerfail code and come up with some tweaks: basically, this upgrade patches an existing beta7a with a new kernel which is more stable at low voltages (eg: more reliable booting with engine off, after cranking, etc).

If people who've had problems in these areas would like to give it a try:

http://www2.empeg.com/upgrades/test/interim/

Thanks,
Hugo


Top
#7279 - 11/10/1999 11:01 Re: Power up instability [Re: altman]
xml
journeyman

Registered: 06/09/1999
Posts: 71
> If people who've had problems in these areas would like to give it a try

Brilliant. Starts all the time with the engine off, never did before.

Are you going to be offering us software downloadable hard disk upgrades and
different coloured front panels next... :)

Thanks,
Paul


Top
#7280 - 11/10/1999 11:26 Re: Power up instability [Re: xml]
altman
carpal tunnel

Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
Downloadable hard disk upgrades might be hard, but maybe new codecs that compress more (giving the overall effect of more music on the same unit) would *almost* fit the bill :)

Hugo



Top
#7281 - 11/10/1999 12:14 Re: Power up instability [Re: altman]
Henno
addict

Registered: 15/07/1999
Posts: 568
Loc: Meije, Netherlands
> powerfail code and come up with some tweaks

The patch works ! Until now, although the light came on when I slid the player into the dash and any button made the disk spin, the Empeg remained unconscious. Starting the engine always put life back into it, though.

With the patch, I can play the empeg plays anytime I slide it into the dash.

How did you do that? Can you adjust its sensititvity to line voltage, or is it starting up more slowly? Anyhow, it works. Issue resolved.

Henno

_________________________
Henno mk2 [orange]6 [/orange]nr 6

Top
#7282 - 11/10/1999 14:57 Re: Power up instability [Re: Henno]
altman
carpal tunnel

Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
Actually, the empeg has always worked at low voltages - we've tested it down to 8.5v(*) - but the powerfail interrupt kicked in (and still does) at 10.16v. Basically, when the empeg sees the voltage drop below this point, it decides that the power is failing and does things like blank the display and save where it is in the current tune (it does this fast enough so you can even yank it out of the dash it it remembers where it was).

In about beta5 Mike added a feature which, if the CPU was still running a couple of seconds after a powerfail, it would turn the display back on and carry on playing music. Problem was, we found a bug in the timer code here which caused the empeg to lock solid if a powerfail interrupt ocurred at a very particular point during bootup - the comparator is very sensitive and reacts even to small glitches of voltage below 10.16v, like the ones you get if the display powers up or the HDD has a current peak: the fix just cures this bug.

The next beta has some more speedups which have shaved about 1.5-2 seconds from the bootup time when on DC power (ie, in the car), and the empeg logo now comes up about 2 seconds after power on, so you know it's coming up!

Hugo
(*) Below 11v the sound quality suffers as the linear regulator which looks after the 4v outputs goes into oscillation. The digital side runs fine though.



Top
#7283 - 11/10/1999 15:31 Re: Power up instability [Re: altman]
Verement
journeyman

Registered: 02/09/1999
Posts: 97
Loc: Boston, MA, US
How does the application interface to the powerfail interrupt work? (I assume it's the player that writes out the current tune position and not the kernel?)


Top
#7284 - 11/10/1999 15:48 Re: Power up instability [Re: Verement]
altman
carpal tunnel

Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
No, it's the kernel that writes the info out. The player opens /dev/empeg_state and can store up to 126 bytes of info (well, it has a 128 byte block but there's a CRC-16 at the end). In case of a power fail, the kernel dumps the latest complete /dev/empeg_state 128 byte block to flash.

On power up, the kernel finds the latest valid block in flash and makes it available in /dev/empeg_state.

The kernel has to do it as there are, well, hard real-time constraints on the task - like running out of power to the CPU and flash :)

Hugo



Top