Unoffical empeg BBS

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

Topic Options
#314961 - 13/10/2008 23:52 ASCII Commands
FieroSTi
member

Registered: 07/05/2007
Posts: 104
So is the empeg capable of outputting ASCII commands as well as receiving them?

Top
#314965 - 14/10/2008 01:47 Re: ASCII Commands [Re: FieroSTi]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31578
Loc: Seattle, WA
Depends on the commands you want to output, but definitely do-able if you're willing to do a little kernel hacking.

By default, I'm not sure if any of the things it outputs on its serial port would be useful to you or would even be considered "commands". But the kernel is fully open-source and has already been heavily modified (mostly by Mark Lord, who made the Hijack kernel). There are a lot of things you can do in there.

The only issue would be if you want the commands to somehow be driven by the Empeg Player application (the actual MP3 player app that plays songs on the empeg). That's going to be trickier because the player app is closed source. There are still some things that the Kernel can do to detect what's going on while the player app is running.

What *exactly* did you have in mind?
_________________________
Tony Fabris

Top
#315033 - 14/10/2008 22:04 Re: ASCII Commands [Re: tfabris]
FieroSTi
member

Registered: 07/05/2007
Posts: 104
Basically I want to run a Terk XMD1000 XM Direct adapter from the serial port on the empeg. The XMD box receives ASCII commands and sends back ASCII confirmations as well as artist/track information. Essentially, I want to control the XMD1000 from serial and have artist and song titles displayed on screen. Can it be done?

Top
#315038 - 15/10/2008 01:39 Re: ASCII Commands [Re: FieroSTi]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31578
Loc: Seattle, WA
That would definitely require writing a piece of custom software. Whether it is a userland app or a kernel hack, I don't know which would be better. But with the proper coding skills, I'll bet it could be done. If you pull it off, it would make some other XM+Empeg owners happy.
_________________________
Tony Fabris

Top
#315089 - 15/10/2008 20:43 Re: ASCII Commands [Re: tfabris]
FieroSTi
member

Registered: 07/05/2007
Posts: 104
...and ideally, I'l like to pipe the audio from the XM Direct through the AUX input on the empeg. If that's not possible, it can be fixed via a relay on the empeg/XMD inputs to the amp and a 12V switch, but I'd rather the empeg handle the audio switching, if possible. At any rate, I've got absolutely no Linux coding experience, so any recommendations as to where I should start, haha?

Top
#315090 - 15/10/2008 21:07 Re: ASCII Commands [Re: FieroSTi]
FieroSTi
member

Registered: 07/05/2007
Posts: 104
...even better, I could use the Tuner serial port, and then I'd just have to modify the kernel in some fashion? What does the audio output look like on the tuner serial? Is it just composite audio, L/R or some type of digital or serial signal? Does anybody have a pinout, and possibly related serial or digital protocols, if applicable, of the tuner connector?

Top
#315274 - 20/10/2008 09:16 Re: ASCII Commands [Re: FieroSTi]
tman
carpal tunnel

Registered: 24/12/2001
Posts: 5528
The tuner connection can in theory be reconfigured to do I2S but its never been tested. Stereo decoding along with RDS is done by the DSP inside the empeg itself.

As for doing what you want, you'll have to connect it via the AUX connection. You could in theory make a replacement tuner that provides the same interface but it will require a very large amount of work.

Top
#315282 - 20/10/2008 11:00 Re: ASCII Commands [Re: FieroSTi]
LittleBlueThing
addict

Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
Originally Posted By: FieroSTi
...and ideally, I'l like to pipe the audio from the XM Direct through the AUX input on the empeg. If that's not possible, it can be fixed via a relay on the empeg/XMD inputs to the amp and a 12V switch, but I'd rather the empeg handle the audio switching, if possible.

Yes - but one step at at time.

Quote:
At any rate, I've got absolutely no Linux coding experience, so any recommendations as to where I should start, haha?

Well, what coding skills do you have? You'll need good C and a linux development box (vmware would do). POSIX should mean something to you. There's no real windowing environment.
If you want to hack the kernel you should be aware of the implications of being in an event loop.

It is 'easy' to write a userspace app that sits on the empeg and does things when you press the buttons/twiddle the knob. You can also write to the screen and access the disk. What more do you need wink

I'm sure it could control the serial port too (you may need to take it away from the player app - maybe even get the kernel to provide another tty interface and a mechanism to switch (just like A: B: floppies sharing a single floppy drive years ago))

I don't know if there is a 'hello world' userspace example. If not then I'm sure someone (including me) will help write one.

However you are very unlikely to find anyone to code it up for you - OTOH, you'll (eventually/usually) get help asking specific questions.

(nb technically you could do it in all kinds of ways - but if you want help then the outline above is most likely to produce support.)
_________________________
LittleBlueThing Running twin 30's

Top