#300599 - 15/07/2007 07:46
Interface Seeburg wall box to empeg
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
I'm trying to interface a seeburg walllbox http://tomszone.com/3W1.html into an empeg. I think I pretty much figured out the logic but I had a few questions: I plan on compling an arm app to run on the player. How do I add it to the start up script? (e.g. rcS) I plan on sending the hxxp://empeg/?NODATA&SERIAL=%23FID%2b command to quenue songs. Is there and easier way? I would prefer just to dump the command to a /proc file I can use empeg_notify to determine the state of the player. But is there and easier way to find out if the empeg has finished the playlist? Can I use the tuner serial port to receive seeburg commands? Ideally, It would be nice if I could insert my app as a shim between the serial port and the player app. ideas? Thanks, -Techtom
|
Top
|
|
|
|
#300600 - 15/07/2007 11:42
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote: I plan on compling an arm app to run on the player. How do I add it to the start up script? (e.g. rcS)
Add it to /empeg/var/config.ini as follows:
[hijack] ;@EXEC_ONCE some command of yours
Quote:
I plan on sending the <a href="hxxp://empeg/?NODATA&SERIAL=%23FID%2b" target="_blank">hxxp://empeg/?NODATA&SERIAL=%23FID%2b</a> command to quenue songs. Is there and easier way? I would prefer just to dump the command to a /proc file
I think the same thing is doable as follows, or something very close to this:
echo 'SERIAL=#FID+' >/proc/empeg_notify
Quote:
I can use empeg_notify to determine the state of the player. But is there and easier way to find out if the empeg has finished the playlist?
Define, programmatically, "finished the playlist". Note that the empeg merely pauses at the end of a playlist. Pressing "Play" starts it up again. You could screen scrape the "end of playlist" message, though.
Quote:
Can I use the tuner serial port to receive seeburg commands?
Possibly. But I think there's actually a *third* serial port on that connector(?) also. Use it instead.
Cheers
|
Top
|
|
|
|
#300601 - 15/07/2007 12:03
Re: Interface Seeburg wall box to empeg
[Re: mlord]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
Quote:
Can I use the tuner serial port to receive seeburg commands?
Possibly. But I think there's actually a *third* serial port on that connector(?) also. Use it instead
Mmmm... Pin-7 at the tuner connector is an (unused) I2S signal line. Which means it's a serial line of some kind. I dunno where it terminates on the mainboard, though.
Cheers
|
Top
|
|
|
|
#300602 - 15/07/2007 12:15
Re: Interface Seeburg wall box to empeg
[Re: mlord]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
Quote: I plan on sending the <a href="hxxp://empeg/?NODATA&SERIAL=%23FID%2b" target="_blank">hxxp://empeg/?NODATA&SERIAL=%23FID%2b</a> command to quenue songs. Is there and easier way? I would prefer just to dump the command to a /proc file
I think the same thing is doable as follows, or something very close to this:
echo 'SERIAL=#FID+' >/proc/empeg_notify
Yup, that works, as in:
echo 'SERIAL=#211+' >/proc/empeg_notify
|
Top
|
|
|
|
#300603 - 15/07/2007 17:24
Re: Interface Seeburg wall box to empeg
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Quote:
I can use empeg_notify to determine the state of the player. But is there and easier way to find out if the empeg has finished the playlist?
Define, programmatically, "finished the playlist". Note that the empeg merely pauses at the end of a playlist. Pressing "Play" starts it up again. You could screen scrape the "end of playlist" message, though.
The problem is that if you send #FID+ to a player that is at the end of the playlist, it will not play. You'd need to send <space>. but then the player will replay the whole playlist with the added song at the end. For "jukebox" like opperation, you need to perform the following test:
read empeg_notify: if notify_FidTime = "0:00:00"; // empeg might be starting a new tune/playlist or paused wait 2 seconds and read empeg_notify again if notify_FidTime = "0:00:00"; // empeg is paused send #NewFID else (from first if) ;// empeg is playing send #NewFID+
The above logic should work fine, but It has to wait at least one second to see if the player is paused.
Thanks for your help,
-Techtom
|
Top
|
|
|
|
#300604 - 15/07/2007 17:29
Re: Interface Seeburg wall box to empeg
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Mmmm... Pin-7 at the tuner connector is an (unused) I2S signal line. Which means it's a serial line of some kind. I dunno where it terminates on the mainboard, though.
I don't think I can use pin-7 because I2S is a serial audio bus format (the format CD players send to the D/A converter). It probably terminates in the DSP. Does your kernel support/initialize three uarts?
-Techtom
Edited by techtom (15/07/2007 17:37)
|
Top
|
|
|
|
#300605 - 15/07/2007 19:47
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
The problem is that if you send #FID+ to a player that is at the end of the playlist, it will not play. You'd need to send <space>. but then the player will replay the whole playlist with the added song at the end. For "jukebox" like opperation, you need to perform the following test:
read empeg_notify: if notify_FidTime = "0:00:00"; // empeg might be starting a new tune/playlist or paused wait 2 seconds and read empeg_notify again if notify_FidTime = "0:00:00"; // empeg is paused send #NewFID else (from first if) ;// empeg is playing send #NewFID+
The above logic should work fine, but It has to wait at least one second to see if the player is paused.
There is a field in /proc/empeg_notify that is a simple 0/1 value for paused/playing. I think it's called "sound" or something like that.
Cheers
|
Top
|
|
|
|
#300606 - 15/07/2007 19:49
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
Quote:
Mmmm... Pin-7 at the tuner connector is an (unused) I2S signal line. Which means it's a serial line of some kind. I dunno where it terminates on the mainboard, though.
I don't think I can use pin-7 because I2S is a serial audio bus format (the format CD players send to the D/A converter). It probably terminates in the DSP. Does your kernel support/initialize three uarts?
Yeah, it must go to the DSP then. The main SA1100 CPU has three serial ports configured: one for the back panel, one for the tuner, and another for the I/R transceiver (not the remote control, the *other* I/R that's unused).
To use the tuner serial port, some extra hackery will be needed inside the kernel to isolate your use of it from that of the player software and Hijack. Perfectly doable, and as you surmised it's likely the only solution that can be done without hardware hackery.
Cheers
|
Top
|
|
|
|
#300607 - 15/07/2007 22:02
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
Quote: I'm trying to interface a seeburg walllbox http://tomszone.com/3W1.html into an empeg.
Absolutely brilliant idea. Wow.
Since the keypad has letters A-F, you could even just do four-digit FIDs directly... was that your plan?
|
Top
|
|
|
|
#300608 - 16/07/2007 00:20
Re: Interface Seeburg wall box to empeg
[Re: tfabris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Absolutely brilliant idea. Wow. Since the keypad has letters A-F, you could even just do four-digit FIDs directly... was that your plan?
No. To keep it simple the Wallbox works as is. The wall box sends pulses to indicate the buttons pressed. They are always a letter number pair. I plan on using an off the shelf $99 pulse to rs232 converter from http://www.cdadapter.com/pcplay.htm I don't have it yet so I don't have all the interface details worked out.
The emplayer app is very simple. Start it with a playlist fid (e.g. Seeburg 0x1151). The app listens on the tuner rs-232 port and recieves the button press "G3". the app looks up the 73rd FID entry in the playlist. The app checks notify_Sound value, if zero send #FID else send #FID+
The FID entry in the play list can be a tune or another playlist. So the Seeburg can start either one from a single button press.
I figure i can keep it simple if I just use an rs232 interface...
However, the ideal way to do it (and save $99) would be to find a single GPIO input pin that the app could read. The app would listen for the pulses and count them to determine the buttons pressed. Any suggestions as to what gpio to use? (e.g one that I can read from user space)
-Techtom
Here's a ethernet version of the same thing... http://www.bengtson.org/seeburg/ He also has more details on the pulse interface
Edited by techtom (16/07/2007 00:43)
|
Top
|
|
|
|
#300609 - 16/07/2007 01:07
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
Quote: recieves the button press "G3". the app looks up the 73rd FID entry in the playlist.
Aha. That'd work, too, and wouldn't require updating some kind of second list on an intermediary device. All you'd need to do is make sure the playlist is ordered correctly. OK, I'm with ya.
Quote: However, the ideal way to do it (and save $99) would be to find a single GPIO input pin that the app could read. The app would listen for the pulses and count them to determine the buttons pressed. Any suggestions as to what gpio to use? (e.g one that I can read from user space)
I seem to recall that the PCA version of the tuner module deliberately included some general purpose I/O lines that you might be able to mess with. If you happened to have one of those. If not, then you're not really saving the 99.00 because then you'd have to buy a PCA tuner.
|
Top
|
|
|
|
#300610 - 16/07/2007 01:37
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
However, the ideal way to do it (and save $99) would be to find a single GPIO input pin that the app could read. The app would listen for the pulses and count them to determine the buttons pressed. Any suggestions as to what gpio to use? (e.g one that I can read from user space)
There are several GPIO lines attached to the rear-panel DB-9 connector (serial port). The "headlight sense" line is a good candidate, as it is not normally used for anything when operating on AC power.
That's serial port pin-8 (CTS). Also possible, is the telephone mute input, on serial port pin-1 (CD).
Cheers
|
Top
|
|
|
|
#300611 - 16/07/2007 02:25
Re: Interface Seeburg wall box to empeg
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Quote:
However, the ideal way to do it (and save $99) would be to find a single GPIO input pin that the app could read. The app would listen for the pulses and count them to determine the buttons pressed. Any suggestions as to what gpio to use? (e.g one that I can read from user space)
There are several GPIO lines attached to the rear-panel DB-9 connector (serial port). The "headlight sense" line is a good candidate, as it is not normally used for anything when operating on AC power.
That's serial port pin-8 (CTS).
Great! I assume that there is no memory manager on the empeg. So I should be able to read it from a Volatile char pointer right? What's the address & Bit #?
Another question, for a "hello world" app, What are the correct gcc-arm-linux flags to generate a statically linked app?
Thanks,
Techtom
|
Top
|
|
|
|
#300612 - 16/07/2007 09:31
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
Quote:
Quote:
However, the ideal way to do it (and save $99) would be to find a single GPIO input pin that the app could read. The app would listen for the pulses and count them to determine the buttons pressed. Any suggestions as to what gpio to use? (e.g one that I can read from user space)
There are several GPIO lines attached to the rear-panel DB-9 connector (serial port). The "headlight sense" line is a good candidate, as it is not normally used for anything when operating on AC power.
That's serial port pin-8 (CTS).
Great! I assume that there is no memory manager on the empeg. So I should be able to read it from a Volatile char pointer right? What's the address & Bit #?
Another question, for a "hello world" app, What are the correct gcc-arm-linux flags to generate a statically linked app?
The empeg uses Linux as the O/S, which is a protected memory operating system. So, yes, it has a memory manager.
Use the source.
Cheers
|
Top
|
|
|
|
#300613 - 16/07/2007 20:01
Re: Interface Seeburg wall box to empeg
[Re: techtom]
|
carpal tunnel
Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
|
Quote:
Another question, for a "hello world" app, What are the correct gcc-arm-linux flags to generate a statically linked app?
arm-empeg-linux-gcc object1.o object2.o -Wl,-Bstatic $(STATIC_LIBS) -Wl,-Bdynamic $(DYNAMIC_LIBS) -o $@
|
Top
|
|
|
|
#300614 - 16/07/2007 20:29
Re: Interface Seeburg wall box to empeg
[Re: tonyc]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
Quote:
Another question, for a "hello world" app, What are the correct gcc-arm-linux flags to generate a statically linked app?
arm-empeg-linux-gcc object1.o object2.o -Wl,-Bstatic $(STATIC_LIBS) -Wl,-Bdynamic $(DYNAMIC_LIBS) -o $@
I generally just do: arm-empeg-linux-gcc -static file.c
Cheers
|
Top
|
|
|
|
#300615 - 19/07/2007 22:34
Next steps (was Re: Interface Seeburg wall box to empeg)
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
I generally just do: arm-empeg-linux-gcc -static file.c
Cheers
I've looked at the kernel and analyzed the seeburg pulse train. It looks like I can use the system timer to sample the CTS/headlight line and "read" the seeburg pulses.
I'll add a small/fast amount of code to the reset_timer (SA1100/time.h) routine. every tick I'll check to set if the seeburg line (CTS) has gone low. if it has, I'll have the code log the OSCR register and CTS bit for the next 250 ticks into a small buffer(250*4). Once 250 ticks have been collected, the buffer is flagged as ready and the code returns to waiting for the seeburg line to go low.
A simple charater driver will retrive the OSCR tick buffer and make it available in userspace. The userspace app will parse the time stamps, determine the button press, index the playlist and queue the FID.
w.r.t building the kernel, I noticed in menuconfig that loadable module support is not enabled. Does the Hijack kernel support loadable modules? Can I just turn it on and recomple the kernel? When I build a new kernel, can I boot it without burning it to flash? If I have to burn it to flash, what's the de-brick proceedure?
Thanks,
-Techtom
|
Top
|
|
|
|
#300616 - 20/07/2007 00:00
Re: Next steps (was Re: Interface Seeburg wall box to empeg)
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
w.r.t building the kernel, I noticed in menuconfig that loadable module support is not enabled. Does the Hijack kernel support loadable modules? Can I just turn it on and recomple the kernel? When I build a new kernel, can I boot it without burning it to flash? If I have to burn it to flash, what's the de-brick proceedure?
Loadable modules should work, but we don't have them enabled by default -- no need, and module support takes up precious memory (DRAM).
We don't have a proper software bootloader setup, so testing kernels currently requires burning them to flash. The de-brick procedure is simple: just burn another kernel over top of the failed one! Zero risk.
Cheers
|
Top
|
|
|
|
#300617 - 21/07/2007 01:11
Re: Next steps (was Re: Interface Seeburg wall box to empeg)
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Status: Installed tools, built kernel, flashed via ftp empeg +50 times, seeburg driver working, /dev/wallbox returns 256 samples. The driver seems to be working and I'm getting the timestamps. But I had a question about blocking reads in a device... What is the correct way to block (wait for input) in a device? The interrupt routine increments "samples_collected", but the driver needs to wait until 256 samples have been collected. Is there some sort of kernel mutex I set in the interrupt routine and wait on in the driver? Thanks, -Techtom here's the read part of the driver: Code:
ssize_t seeburg_read (struct file * filep, char *buff, size_t count, loff_t * offp) { /* function to copy kernel space buffer to user space */ if (samples_collected == MAX_SAMPLES && tick_tock==0) { if (copy_to_user (buff, pulse_samples, sizeof (pulse_samples)) != 0) { printk ("Kernel -> userspace copy failed!\n"); } printk ("samples collected %d\n", samples_collected); samples_collected == 0; tick_tock = 1; return sizeof (pulse_samples); } return 0; }
Edited by techtom (21/07/2007 01:18)
|
Top
|
|
|
|
#300618 - 21/07/2007 09:02
Re: Next steps (was Re: Interface Seeburg wall box to empeg)
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote: What is the correct way to block (wait for input) in a device?
The interrupt routine increments "samples_collected", but the driver needs to wait until 256 samples have been collected.
Is there some sort of kernel mutex I set in the interrupt routine and wait on in the driver?
There are other ways, but one of the simplest is to use a semaphore:
Code:
struct semaphore mysem = MUTEX_LOCKED;
...
// Interrupt handler:
if (++count == desired_number) up(&mysem); /* signal that data is available */
...
// mainline driver's read() or ioctl() routines: ... down(&mysem); /* wait for data */ ...
Note that these are "counting" semaphores, so you could even get clever with them if you want, but the simple form above will work.
Cheers
|
Top
|
|
|
|
#300619 - 22/07/2007 04:52
Re: Next steps (was Re: Interface Seeburg wall box to empeg)
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: There are other ways, but one of the simplest is to use a semaphore:
Got it. thanks for the tip.
Next question. I was planning to use the DTR output as the pullup resistor +5V source. But it looks like it's deasserted (-5V). Most rs-232 DTEs assert DTR. I can turn it on in my driver, but is it used for something else?
Thanks,
-Techtom
Status: the driver and the ISR are returning good samples. So the kernel work is finished. I've parsed/plotted the samples collected on my empeg by the driver in excel (see attached). Now the hard part... need to write the user program to parse the samples and extract the button codes...
Attachments
301830-Wallboxdata.PNG (1345 downloads)
|
Top
|
|
|
|
#300620 - 24/07/2007 00:11
Re: Next steps (was Re: Interface Seeburg wall box to empeg)
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Cool.
I'm on holiday (beaches) for the next couple of weeks.. offline and all of that.
Cheers!
|
Top
|
|
|
|
#300621 - 25/07/2007 06:51
It works!
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Thank's to Mark's help, I've succeeded, it works!!! The seeburg is connected to pin 8 (CTS) of the empeg serial port. A kernel driver (/dev/wallbox) and a user app (wallbox) convert the pulses to a fid in the "seeburg" playlist. The selected fid is added to the currently playing list. Here's a sample output from the serial port: Code:
empeg:/empeg/bin# /wallbox 1ad0 &
seeburg open: state 1 Read 100 items from playlist 1ad0 . empeg:/empeg/bin# player Timezone: PRC Hijack: intercepting config.ini player.cpp : 385:empeg-car 2.00-beta13 2002/07/24. Prolux 4 empeg car - 2.1434 Jul 24 2002 Vcb: 0x4086d000 . Selection E3 is fid 2a0 #2a0 . Selection H6 is fid 2b70 #2b70+ . Selection K6 is fid 690 #690+ . Selection J9 is fid 45a0 #45a0+
I need to clean up the code and I've got some questions that hopefully someone can answer in Mark's absence... 1. I was planning to use the DTR output as the pullup resistor +5V source. But it looks like it's deasserted (-5V). Most rs-232 DTEs assert DTR. I can turn it on in my driver, but is it used for something else? 2. I'm currenly using fprintf(empeg_notify_fp,"SERIAL=#fid\n") to queue the song. But I was thinking of using the "write" portion of my driver to "notify" the Hijack kernel directly. I've looked at notify.c, but I'm not sure which function to call. 3. I'm using down(&sem) but I'd like to use down_interrruptable. When I do, I get an unresolved external. I #include <asm-arm/semaphore.h> but it doesn't help. 4. What's the best licence to release under (e.g. BSD)? 5. I'd like to release the code, but I probably need some sort of "code review" for my kernel / driver changes. Can anyone help out? 6. How do I pick a "real" device MAJOR number? Thanks, -Techtom
|
Top
|
|
|
|
#300622 - 25/07/2007 15:30
Re: It works!
[Re: techtom]
|
carpal tunnel
Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
|
Just in case you weren't fully aware of the fact, this is exceptionally cool! Do we get a photo gallery somewhere about it?
I once had a coffee (but no cherry pie) at a diner in Philadelphia that still had an installation of those things. Though I think theirs was original, not Empeg-powered...
Peter
|
Top
|
|
|
|
#300623 - 25/07/2007 19:09
Re: It works!
[Re: peter]
|
addict
Registered: 02/08/2004
Posts: 434
Loc: Helsinki, Finland
|
Yes, this is a great project! Hell, I want to see a video of this in action!
|
Top
|
|
|
|
#300624 - 26/07/2007 04:16
Seeburg Wallbox -- Video Demo
[Re: petteri]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: Yes, this is a great project! I want to see a video of this in action!
As requested, here's a link to the demo of my seeburg wallbox interface.
http://www.youtube.com/v/f3Z31FvUHMo
Code:
This is a demonstration of a program I wrote to interface a Seebug 3W-100 wallbox to an empeg mp3 player. Below is the text that was on the computer screen. It shows the wallbox app startup and the button selections. . empeg:/empeg/bin# /wallbox & [1] 147 empeg:/empeg/bin# seeburg open: state 1 Read 100 items from playlist a7d0 . empeg:/empeg/bin# player Timezone: PRC Hijack: intercepting config.ini . player.cpp : 385:empeg-car 2.00-beta13 2002/07/24. Prolux 4 empeg car - 2.1434 Jul 24 2002 Vcb: 0x4086d000 . . samples collected 256 state is 4 empeg_sound is 0 . . Selection F10 is fid 31f0 #31f0 samples collected 256 state is 4 empeg_sound is 1 . . Selection C4 is fid 2a70 #2a70+
-Techtom
|
Top
|
|
|
|
#300625 - 26/07/2007 06:43
Re: Seeburg Wallbox -- Video Demo
[Re: techtom]
|
carpal tunnel
Registered: 18/01/2000
Posts: 5683
Loc: London, UK
|
Quote: As requested, here's a link to the demo of my seeburg wallbox interface.
Sweet.
_________________________
-- roger
|
Top
|
|
|
|
#300627 - 26/07/2007 13:27
Re: Seeburg Wallbox -- Video Demo
[Re: techtom]
|
addict
Registered: 11/01/2002
Posts: 612
Loc: Reading, UK
|
Fantastic!!!! It's going to look funny on the dash though Maybe in a pink cadillac?
_________________________
LittleBlueThing
Running twin 30's
|
Top
|
|
|
|
#300628 - 26/07/2007 16:23
Re: Seeburg Wallbox -- Video Demo
[Re: techtom]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
Absolutely fucking brilliant.
Awesome.
|
Top
|
|
|
|
#300629 - 26/07/2007 16:34
Re: Seeburg Wallbox -- Video Demo
[Re: techtom]
|
veteran
Registered: 21/01/2002
Posts: 1380
Loc: Erie, CO
|
Very, very cool! Good work!
Now how about a Seeburg wallbox group buy?
|
Top
|
|
|
|
#300630 - 26/07/2007 19:47
Re: Seeburg Wallbox -- Video Demo
[Re: techtom]
|
carpal tunnel
Registered: 08/07/1999
Posts: 5549
Loc: Ajijic, Mexico
|
Quote: demo of my seeburg wallbox interface.
Impressive!
I noticed one absolutely trivial discrepancy. I'm not criticizing, just curious: When you skipped to the second track, the time stamp showed the track starting at 2:14, instead of 0:00, even though it was actually the beginning of the song.
Is this fixable, even though it doesn't really need to be?
tanstaafl.
_________________________
"There Ain't No Such Thing As A Free Lunch"
|
Top
|
|
|
|
#300631 - 26/07/2007 20:19
Re: Seeburg Wallbox -- Video Demo
[Re: tanstaafl.]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
Is it possible that he had the time display mode set to "Count down"? And in any case, that wasn't *his* display, that was the now-and-next display built into the empeg player software, he can't change that. If there's a bug related to that, it's far too late to fix it now.
|
Top
|
|
|
|
#300632 - 26/07/2007 20:23
Re: Seeburg Wallbox -- Video Demo
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
Ah, I see. He had the time display set to "Playlist elapsed/Total". It's working correctly.
It starts off with his first song entry being a song of 2:14 in length. Then he enqueues a second song, thus making the total playlist time be over four minutes. When he presses "Next" to advance to the second song, the time index starts at 2:14 because it's the playlist position (the end of the 2:14 song).
|
Top
|
|
|
|
#300633 - 26/07/2007 22:58
Re: Seeburg Wallbox -- Video Demo
[Re: tfabris]
|
carpal tunnel
Registered: 17/12/2000
Posts: 2665
Loc: Manteca, California
|
Quote: Absolutely fucking brilliant.
Awesome.
tfabris, you are fined one credit for a violation of the verbal morality statute.
_________________________
Glenn
|
Top
|
|
|
|
#300634 - 01/08/2007 09:51
Re: It works!
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
1. I was planning to use the DTR output as the pullup resistor +5V source. But it looks like it's deasserted (-5V). Most rs-232 DTEs assert DTR. I can turn it on in my driver, but is it used for something else?
I think it is available. The docking connector uses CTS for "headlight", and CD for "telephone mute", but DTR seems to have no non-standard (RS232) use.
Quote:
2. I'm currenly using fprintf(empeg_notify_fp,"SERIAL=#fid\n") to queue the song. But I was thinking of using the "write" portion of my driver to "notify" the Hijack kernel directly. I've looked at notify.c, but I'm not sure which function to call.
The implementation of "SERIAL=" itself calls hijack_serial_rx_insert(the_string, strlen(the_string, 1)), where the_string must include a trailing '\n' (newline).
Quote:
3. I'm using down(&sem) but I'd like to use down_interrruptable. When I do, I get an unresolved external. I #include <asm-arm/semaphore.h> but it doesn't help.
That's weird. down_interruptible() is a kernel inline function, so it doesn't really exist at run/link time. Don't even thing about declaring it with a function prototype or extern line. The correct include file is asm/semphore.h, but if that's not working for you, then you could try including asm/proc/semaphore.h before it.
Quote:
4. What's the best licence to release under (e.g. BSD)?
You have no choice for the kernel module: GPLv2. For the rest, LGPL or GPL are both good (IMHO). With full souce code released, BSD is also decent.
Quote:
5. I'd like to release the code, but I probably need some sort of "code review" for my kernel / driver changes. Can anyone help out?
Just release it, and anyone who cares will eventually have a peek at it. That's the whole idea for open source stuff!
Quote:
6. How do I pick a "real" device MAJOR number?
It varies, depending upon the kernel version. For the empeg kernel, the simplest is to just re-use an existing one that never had meaning on an empeg. But there is some documentation for your exact question in the Documentation/devices.txt file from the kernel source tree.
Cheers!
|
Top
|
|
|
|
#300635 - 02/08/2007 20:28
Seeburg release in progress...
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
... DTR seems to have no non-standard (RS232) use.
I've looked at serial_sa1100.c It looks like they have ifdef/removed DTR support from the serial driver. I could re-implement the DTR functionality (e.g flush before de-asserting DTR, etc), but I'm just planning on asserting DTR when port 1 is opened.
Quote:
The implementation of "SERIAL=" itself calls hijack_serial_rx_insert(the_string, strlen(the_string, 1))
Yup, found that too. I'll call it directly. Thanks. I noticed that when I write to empeg_notify, I need to send "+" as "%2B". When I call rx_insert directly, Can I send "#FID+\n" or do I still need to send "#FID%2B\n"?
Quote:
That's weird. down_interruptible() is a kernel inline function, so it doesn't really exist at run/link time.
Yes it is wierd... <asm-arm/semaphore.h> actually has the inline definition of down_interruptible. There's probably some #define that's turning it off...
Quote:
Just release it, and anyone who cares will eventually have a peek at it.
How exactly do I release the kernel part? I'm using v459 patched to v461 (serial bug v441 fixes). are you willing accept it into the hijack source tree? I'd need the latest source tarball which I would provide diff -c patch files. Most of the work is done in reset_timer (timer.h) and in my seeburg.c driver. Small changes in notify.c, mem.c and serial_sa1100.c (DTR). I can also create a menuconfig item in arch/arm/config.in to turn on/off seeburg driver support.
Quote:
Quote:
6. How do I pick a "real" device MAJOR number?
For the empeg kernel, the simplest is to just re-use an existing one that never had meaning on an empeg. [See] Documentation/devices.txt file from the kernel source tree.
Ok I'll use 51 (Baycomm radio modem in devices.txt)
Thanks for all your help!
-Techtom
|
Top
|
|
|
|
#300636 - 02/08/2007 21:38
Re: Seeburg release in progress...
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote: I noticed that when I write to empeg_notify, I need to send "+" as "%2B". When I call rx_insert directly, Can I send "#FID+\n" or do I still need to send "#FID%2B\n"?
Do the same as you did when writing to /proc/empeg_notify.
Quote:
How exactly do I release the kernel part?
You could start by posting it here as an attachment. Then I can have a look-see and decide how best to incorporate it into Hijack (based mostly on code size, compatbility, etc..).
Cheers
Edited by mlord (02/08/2007 21:39)
|
Top
|
|
|
|
#300637 - 03/08/2007 20:32
Re: Seeburg Wallbox -- Video Demo
[Re: gbeer]
|
addict
Registered: 25/06/2002
Posts: 456
|
Quote: tfabris, you are fined one credit for a violation of the verbal morality statute.
I never did get the hang of using those shells.
Enhance your calm, Glenn Spartan.
|
Top
|
|
|
|
#300638 - 07/08/2007 05:56
Re: Seeburg Wallbox release, Attached
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Quote:
How exactly do I release the kernel part?
You could start by posting it here as an attachment. Then I can have a look-see and decide how best to incorporate it into Hijack (based mostly on code size, compatbility, etc..).
Mark, Attached is my driver for the Seeburg Wallbox. It consists of two files (attached). The sampler runs in linux/include/asm-arm/arch-sa1100/time.h and the driver is in a separate file seeburg.c
I also made the following small changes in three files (in pseudo diff -c) Code:
file:drivers/char/serial_sa1100.c line 2342 . #ifdef SERIAL_DEBUG_OPEN printk("rs_open %s%d, count = %d\n", tty->driver.name, info->line, info->state->count); #endif + //hack -- force on DTR because driver doesn't + if(line==1) + GPDR &= ~EMPEG_SERIALDTR; + //hack-end . . . file /drivers/char/mem.c line 699 . extern void empeg_cs4231_init(void); extern int empeg_power_init(void); + extern int seeburg_init(void); + seeburg_init(); #ifdef CONFIG_EMPEG_RAMTEST . . . file: arch/arm/special/notify.c line 40 . #define NOTIFY_FIDLINE 2 // index of 'F' in notify_chars[] +#define NOTIFY_SOUNDLINE 6 // index of 'S' in notify_chars[] #define NOTIFY_MAX_LENGTH 64 static char notify_data[NOTIFY_MAX_LINES][NOTIFY_MAX_LENGTH] = {{0,},}; . +const char *notify_sound (void) +{ + return ¬ify_data[NOTIFY_SOUNDLINE][0]; +}
Attachments
302342-time_upload.h (890 downloads)
|
Top
|
|
|
|
#300639 - 07/08/2007 05:58
Re: Seeburg Wallbox release, Attached
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Seeburg.c driver attached
(time.h is attached in the previous post)
Attachments
302343-seeburg_upload.c (814 downloads)
Edited by techtom (07/08/2007 14:50)
|
Top
|
|
|
|
#300640 - 07/08/2007 11:29
Re: Seeburg Wallbox release, Attached
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote: Seeburg.c driver attached
It seems to be missing an interrupt handler or some such thing, where the up(&seeburg_sem) line lives.
EDIT: oh, nevermind. That part was buried in the prior attachment.
Could you perhaps just create a proper unified patch instead, by running this command (below) to differentiate between an original Hijack kernel tree and your modified kernel treee?
diff -u --recursive --new-file hijack-v477/ seeburg/
Edited by mlord (07/08/2007 11:33)
|
Top
|
|
|
|
#300641 - 07/08/2007 14:46
Re: Seeburg Wallbox release, Attached
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Could you perhaps just create a proper unified patch instead, by running this command (below) to differentiate between an original Hijack kernel tree and your modified kernel treee?
diff -u --recursive --new-file hijack-v477/ seeburg/
Sure. How do I change the directory name and have buildit still work? I ask because I patched v459 to v461 but when I tried to rename the directory to v461 the build complained about not being able to find files based off the v459 path.
Do I need to patch to the current v477 or can I do the diff -u on my unmodified v461 tree?
-Techtom
|
Top
|
|
|
|
#300642 - 07/08/2007 16:08
Re: Seeburg Wallbox release, Attached
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
Do I need to patch to the current v477 or can I do the diff -u on my unmodified v461 tree?
A diff against v461 (but not v460) should be new enough for this purpose, so just diff what you've got.
The buildit script was just my own personal convenience hack.
Cheers
|
Top
|
|
|
|
#300643 - 07/08/2007 22:58
Re: Seeburg Wallbox release, Attached
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
A diff against v461 should be new enough for this purpose, so just diff what you've got.
As requested... One of two attachments.
-Techtom
Attachments
302359-driver.patch (783 downloads)
|
Top
|
|
|
|
#300644 - 07/08/2007 22:59
Re: Seeburg Wallbox release, Attached
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
A diff against v461 should be new enough for this purpose, so just diff what you've got.
As requested... Two of two attachments. This patch is for time.h only. It looks like I ran "indent" on the time.h file after I added my code. Thats why there are alot of changes in the patch. All "real" changes are confined within the #ifdef MAX_SAMPLES.
-Techtom
Edited to change attachment to cleaner version of the patch
Attachments
302360-time_small.patch (797 downloads)
Edited by techtom (08/08/2007 01:45)
|
Top
|
|
|
|
#300645 - 08/08/2007 00:31
Re: Seeburg Wallbox release, Attached
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Quote:
As requested... Two of two attachments. This patch is for time.h only. It looks like I ran "indent" on the time.h file after I added my code.
Ghad. Could ya maybe do it again with the -b flag then ?
I really just want to see what you did, not what was cumulatively there since 1991 or so.
Thanks.
|
Top
|
|
|
|
#300646 - 08/08/2007 01:44
Re: Seeburg Wallbox release, Attached
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Could ya maybe do it again with the -b flag then ?
Here ya go...
-Techtom
Attachments
302367-time_small.patch (786 downloads)
|
Top
|
|
|
|
#300647 - 12/08/2007 03:43
Re: Seeburg Wallbox release, time.h patch for V477
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
I've attached my latest patch for time.h. The previous time.h patch failed on hunk #3 with Hijack source tree v477. To add my driver to the latest v477 hijack, you need the attached patch and the driver patch in this post (i.e. attachment one of two). Please don't use the old time.h patches attachements from the previous posts. -Techtom
Attachments
302501-time_h_477.patch (781 downloads)
|
Top
|
|
|
|
#300648 - 13/09/2007 19:36
Re: Seeburg Wallbox release, time.h patch for V477
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
I think this is one of the coolest things I have seen done with an empeg !!! Is there any chance of someone putting together a summary of how someone like me might get this working on my empeg, I'd really like to give it a go, but you guys have kinda lost me From a hardware point of view, I assume the Seeburg unit has the 25v supply connected, with just the pulse output of the unit connected to the empeg via the serial port, am I right ??? This is soooo cool Cheers Cris.
|
Top
|
|
|
|
#300649 - 14/09/2007 19:46
Re: Seeburg Wallbox release, time.h patch for V477
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Just re-read my post, I think what I am really asking is can you post a copy of the patched kernel and info on how the whole project can together. I am sure there are few people here who would love to give something similar a try Cheers Cris.
|
Top
|
|
|
|
#300650 - 15/09/2007 01:54
Re: Seeburg Wallbox release, time.h patch for V477
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: Just re-read my post, I think what I am really asking is can you post a copy of the patched kernel and info on how the whole project can together.
I am sure there are few people here who would love to give something similar a try
I started this thread to answer questions about how to modify the kernel/hijack. I posted kernel patches to allow Mark to include my driver in the hijack release if there was enough interest. Now that the project is finished I'll release a package in the projects section with everything you'll need to interface a seeburg wallbox to your empeg:
modified v478 HiJack kernel my Seeburg application instructions to mknod /dev/seeburg and install the application simple schematic and parts list for the cable and power supply
I'm on my way back from vacation, but I'll try to get something out late next week.
Techtom
Edited by techtom (15/09/2007 02:02)
|
Top
|
|
|
|
#300651 - 15/09/2007 04:11
Re: Seeburg Wallbox release, time.h patch for V477
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: I'm on my way back from vacation, but I'll try to get something out late next week.
Brilliant!
There is no rush of course, my unit is in safe hands in the States until I can figure a cost effective way of shipping it across the pond
Again, cool project
Cheers
Cris.
|
Top
|
|
|
|
#300652 - 17/09/2007 05:06
Seeburg Wallbox -- Schematic
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Attached is a simple schematic for the power supply and interface cable. The seeburg interface cable does not interfere with the normal opperation of the serial port. All of the "important" signals are passed through.
-Tecthom
Attachments
303604-SeeburgSchematic.pdf (1625 downloads)
|
Top
|
|
|
|
#300653 - 17/09/2007 05:09
Re: Seeburg Wallbox -- Picture
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Attached is a picture of the completed Seeburg interface cable.
-T
Attachments
303605-SeeburgCable.JPG (2053 downloads)
Edited by techtom (17/09/2007 05:09)
|
Top
|
|
|
|
#300654 - 17/09/2007 06:21
Re: Seeburg Wallbox -- Picture
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Thanks for the detail! Just what I need So you are wiring this direct to the serial port on the emepg's wiring harness ? I wonder if the 50Hz supply here in the UK will effect the pulse times from the Seeburg? And also I think I have a 200 selection unit, so I guess I may have to learn how to do all this stuff myself anyway Thanks for the help so far. Cheers Cris.
|
Top
|
|
|
|
#300655 - 17/09/2007 21:26
Re: Seeburg Wallbox -- Picture
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Hi, *someday* I'll get round to incorporating your patches into the Hijack source tree. In the meanwhile, if you have any updates, then just re-post the "diff -u" output against a recent Hijack.
Thanks
|
Top
|
|
|
|
#300656 - 21/09/2007 16:37
Re: Seeburg Wallbox -- Picture
[Re: Cris]
|
carpal tunnel
Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
|
Cris, seeing as hacking kernels isn't your thing, why don't you try and use a microcontroller like a Picaxe to fit between your box and your empeg, I bet you'd find it much easier. The Picaxe is a piece of piss to program.
_________________________
Cheers,
Andy M
|
Top
|
|
|
|
#300657 - 21/09/2007 18:59
Re: Seeburg Wallbox -- Picture
[Re: andym]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: ...why don't you try and use a microcontroller like a Picaxe to fit between your box and your empeg, I bet you'd find it much easier.
Actually the work that chris would need to do has nothing to do with the kernel. The kernel collects 256, 10ms samples of the pulses from the seeburg wallbox and the seeburg application parses the samples to identify the button pressed. Chris would need to modify my seeburg app to adjust for the 50Hz driving the motor. My seeburg app uses a big state machine to convert the samples into pulses and the pulses into a button press. So chris only needs to adjust the state machine. If you used the picaxe, you would end up writing the exact same state machine. I looked into a PIC based off the shelf $99 seeburg to rs-232 interface. But there isn't a free serial port on the empeg, so I ended up doing this version.
My seeburg app should work with the 160 and 200 song wallboxes. The app will read up to 200 entries in a play list, but I only have the 100, so I can't test the extra buttons. The app will writeout to disk (assuming rw) the 256 samples when ever the state machine fails. (e.g. badstate_v224.bin) I can post process the file and figure out what went wrong.
-Techtom
Edited by techtom (22/09/2007 04:15)
|
Top
|
|
|
|
#300658 - 22/09/2007 05:24
Re: Seeburg Wallbox -- Picture
[Re: andym]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: Cris, seeing as hacking kernels isn't your thing, why don't you try and use a microcontroller like a Picaxe to fit between your box and your empeg, I bet you'd find it much easier. The Picaxe is a piece of piss to program.
I like the idea. And I think an ultimate goal may be this solution. I had been looking around at other solutions but hadn't seen this product before.
I'd like to develop something that would interface with my slimserver network in the house, say over WiFi. But for now using the empeg seems like a really good idea, it gets used once every 2 weeks or so at the moment and this will put it back into regular usage.
I guess I will have to wait for my unit to turn up and see if it works first
I am still unsure how you build the seeburg driver into Hijack, is it possible to post a patched version here that I could upload just like anyother hijack update?
Cheers
Cris.
|
Top
|
|
|
|
#300659 - 22/09/2007 05:28
Re: Seeburg Wallbox -- Picture
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: I'd like to develop something that would interface with my slimserver network in the house, say over WiFi
Is the empeg capable of sending commands to the slimserver via TCP/IP?
This could be the solution I am looking for! That was I could just hook up to the empeg for local output, or configure it to control any one of the slimserver devices, that would be an awesome end goal, and possibly the cheapest as no extra hardware would be needed
Cheers
Cris.
|
Top
|
|
|
|
#300660 - 22/09/2007 07:50
Re: Seeburg Wallbox -- Picture
[Re: Cris]
|
carpal tunnel
Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
|
Yep, shouldn't be a problem. However, if you're going to end up using a slimserver, why don't you just build something that runs on the server instead? Assuming you have a spare serial port on that?
_________________________
Cheers,
Andy M
|
Top
|
|
|
|
#300661 - 22/09/2007 09:52
Re: Seeburg Wallbox -- Picture
[Re: andym]
|
veteran
Registered: 01/10/2001
Posts: 1307
Loc: Amsterdam, The Netherlands
|
Quote: However, if you're going to end up using a slimserver, why don't you just build something that runs on the server instead?
Maybe because (at least for me) the server is in the boiler room, and the Wallbox (and speakers) will be 2 floors and half a house away...
Wonder if the code cold be run on a Rio Receiver - hmm, wonder if it can do the serial I/O...
|
Top
|
|
|
|
#300662 - 22/09/2007 12:28
Re: Seeburg Wallbox -- Picture
[Re: julf]
|
carpal tunnel
Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
|
Quote:
Quote: However, if you're going to end up using a slimserver, why don't you just build something that runs on the server instead?
Maybe because (at least for me) the server is in the boiler room, and the Wallbox (and speakers) will be 2 floors and half a house away...
Wonder if the code cold be run on a Rio Receiver - hmm, wonder if it can do the serial I/O...
The reason I mentioned it is because I know the layout of Cris' house. A rio reciever did cross my mind, I seem to remember reading somewhere that there is a serial port in there somewhere, and the built-in amp would probably come in very useful.
_________________________
Cheers,
Andy M
|
Top
|
|
|
|
#300663 - 23/09/2007 18:07
Re: Seeburg Wallbox -- Picture
[Re: andym]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: The reason I mentioned it is because I know the layout of Cris' house. A rio reciever did cross my mind, I seem to remember reading somewhere that there is a serial port in there somewhere, and the built-in amp would probably come in very useful.
I think the best solution for my layout would be WiFi/wired TCP/IP control of a streaming device such as the Squeezebox. I say this because the system in my font room is hidden under the stairs, and a wireless platform would be perfect as I could place the wallbox where I like without worrying about getting the audio feed to the amp.
For the moment getting it to work with the empeg would be great
Cheers
Cris.
|
Top
|
|
|
|
#300664 - 27/09/2007 13:35
Rabbit Semiconductor Development Kit
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
I have purchased a Rabbit Semiconductor 4010 Development Kit, they were on offer at their European Store. Quite reasonable really, I rang the local supplier and they told me that is £17 below cost to them. I also have the commercial serial adaptor on it's way, I figured my skills in this area are seriously minimal so I needed an easy solution to check everything is working before I start my own development. I did try to contact the guys linked right at the start of this thread, but no joy as yet, he was using a Rabbit board to good effect it seems. The empeg controlling the slimserver would of course be the ultimate solution for me Cheers Cris.
|
Top
|
|
|
|
#300665 - 04/10/2007 16:25
Seeburg Wallbox - Almost Ready
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
After a mini spending spree on eBay I have several options on their way I have one in really good condition on it's way from the states, and I have a couple of scrappers I am hoping to make good from here in the UK. So, to my question. I am still no closer to understanding where I need to start with the empeg side of things, the lead can be made up no probs, but the drivers is still a real puzzle to me, can someone lend a hand here and build up a kernel for me? Which serial port are you using Tom, the one on the back of the empeg itself or the sled? Cheers Cris.
|
Top
|
|
|
|
#300666 - 08/10/2007 00:43
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Attached is the archive of my seeburg project. I've included a prebuilt v478 Hijack kernel with my wallbox driver patches, the wallbox app, and schematics for the seeburg interface.
-Techtom
--------------------- Readme.txt------------------- Installation instructions.
I've included a prebuilt v478 kernel image so you don't need to build it from the source tree.
1) Flash kernel with v478_p_seeburg.zImage. I just ftp "put" v478_p_seeburg.zImage to /proc/empeg_kernel 2) ftp the wallbox app to the /empeg/bin directory on your empeg. 3) connect up to the serial port (without the seeburg adaptor) of your empeg and type the following commands:
q ; stops the player # rw ; mounts the file system as read/write # chmod a+rx /empeg/bin/wallbox ; enables the wallbox application to be executed # mknod /dev/wallbox c 51 0 ; creates the wallbox device
4) to test the wallbox application, find the fid of one of your longer playlists (mine was a7d0) and type
# /empeg/bin/wallbox a7d0 &
5) the wallbox application should have started and read the playlist without errors 6) restart the player by typing:
# player
7) connect the seeburg serial port adaptor (see schematic) to your empeg. 8) insert a coin into your seeburg and select a song. 9) the wallbox application should detect the button press and queue the song from the playlist
10) once this is working, you can add an EXEC_ONCE command to your config.ini file. Make sure everything is working correcly BEFORE you add the EXEC_ONCE command to your config.ini file. If you forget to include the "&" at the end, the empeg will not start the player and you'll need to ftp a new config.ini to the empeg.
;@EXEC_ONCE /empeg/bin/wallbox a7d0 &
-Techtom
PS if you want to build your own kernel, just apply the driver.patch and time_h_477.patch to the latest hijack kernel source tree.
Attachments
304285-Seeburg.zip (611 downloads)
Edited by techtom (08/10/2007 00:56)
|
Top
|
|
|
|
#300667 - 08/10/2007 00:49
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: So, to my question. I am still no closer to understanding where I need to start with the empeg side of things, the lead can be made up no probs, but the drivers is still a real puzzle to me, can someone lend a hand here and build up a kernel for me?
The Seeburg.zip attachment in my previous post should have every thing you need. I don't know if it will work with a seeburg running on 50Hz. My advice to you is to get a small 100w 60hz inverter and run the seeburg off of that.
Quote: Which serial port are you using Tom, the one on the back of the empeg itself or the sled?
The serial port on the back of the empeg.
Edited by techtom (08/10/2007 03:20)
|
Top
|
|
|
|
#300668 - 08/10/2007 13:14
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Thanks, this is great! I have all the stuff together (inc a sort of working seeburg!) just need to find the time to put it all together now. 60Hz transformers are quite expensive I think, at least I haven't seen any readily available, so I'm going to try it at 50Hz 25v AC and see how I go on. Update soon Cheers Cris.
|
Top
|
|
|
|
#300669 - 08/10/2007 16:34
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
60Hz transformers are quite expensive I think, at least I haven't seen any readily available,
I was suggesting using a cheap $24 inverter like this one http://www.walmart.com/catalog/product.do?product_id=4965458. That would get you 120V @ 60hz. You can use any 50HZ transformer, as long as the ratio is correct. e.g you could use a 220V:48V @50Hz transformer connected to the output of the 120V inverter. You would get 24V @ 60hz.
Quote:
...I'm going to try it at 50Hz 25v AC and see how I go on.
Mount the filesystem RW before running the wallbox app. When the state machine fails, it dumps the 256 samples to a file called "badstate_7xx.bin" where the 700 number is the state that failed. Send me the bin file and I can see if it is an easy fix.
The format of the file is very simple. It's just 256 four byte words where the LSB is the state of the seeburg switch and the upper 31 bits are the accumulated count of system time ticks.
-Techtom
|
Top
|
|
|
|
#300670 - 08/10/2007 17:35
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Thanks for the tips I will give it a go with the 230v to 25v @50Hz transformer I have and see how it works. I have been messing around with the "scrap" wall boxes I got hold of and have got a working 3W1 like yours out of them so far. Well I say working I am having trouble with a leaf switch just to the left of the motor. It seems to be worn, and the adjustment is very fine, but I can get it to select what I want now They really are amazing devices, it's all a bit like black magic how it works, but as I make my way around the mech I am starting to make sense of it all. I also have all the parts for the serial lead, so in the next couple of days I should have the chance to get it all up ad running. Thanks again, I'll post here when I get it hooked up and working (or not!) Cheers Cris.
|
Top
|
|
|
|
#300671 - 08/10/2007 20:28
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
I couldn't resist I got out the soldering iron and hooked it all up. It kinda works too.... Code:
Starting bash. empeg:/empeg/bin# rw EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended empeg:/empeg/bin# /empeg/bin/wallbox 83b0 & [1] 103 empeg:/empeg/bin# Seeburg Wallbox Application Version 1.0 by Scott Swazey Read 200 items from playlist 83b0
player Timezone: Atlantic/South_Georgia Hijack: intercepting config.ini
player.cpp : 564:empeg-car 3.00-alpha7 2004/02/13. Prolux 4 empeg car - 2.1490 Feb 13 2004 Vcb: 0x4070e000 bad state 778, button 0, letter 0, ticks 18 Logged 256 samples to /bad_state_778.bin
Edit - Durr found file in root, find it attached. So I am happy that it seems to work ok, just the 50Hz problem I think Cheers Cris.
Attachments
304306-bad_state_778.bin (687 downloads)
|
Top
|
|
|
|
#300672 - 08/10/2007 21:39
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
You didn't say what button you pressed and doesn't look right quite right. For even letters (A,C,E,G,J) it should send the # of pulses followed by a long low. then it will stay high for 200ms and then it will pulse the letter pair (AB=1, CD=2, etc) followed by all high. (see attached image of your bad_state_778 and button A02)
For even letters (B,D,F,H,K) it will send 10 + # pulses followed by 200ms high and then the pulse of the letter pair as above.
In your case, it means the contacts are dirty or broken.
-Techtom
Attachments
304309-Bad788.PNG (1251 downloads)
Edited by techtom (08/10/2007 22:04)
|
Top
|
|
|
|
#300673 - 08/10/2007 21:56
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
|
Top
|
|
|
|
#300674 - 08/10/2007 21:58
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
If you have access to a linux host you can convert the bad_state.bin file into a format that excel can read. Use the following command:
# od -td4 -w4 bad_state_778.bin > bad_state_778.txt
Open the .txt file in excel. Do not double click to open it. You must choose the File->Open command in Excel to open bad_state_778.txt. Choose Fixed width and you should have a spread sheet with two columns (not all the data in one).
Open the attached spread and copy the second column of bad_state778.txt into Column "B" of the attached spread sheet. Look at the top chart to see if the data is correct.
Based on the state 778 and the tick count (18), 50Hz will not work with the current wallbox application. I can probably write a 50hz version, but I will need the "bad_state_7xx.bin" for the following Buttons A1,B2,E5,F5,J10,K10. Don't send them to me until you've plotted them using the attached spread sheet to confirm that they are correct. Your current wallbox is clearly broken... Sorry
-Techtom
Attachments
304314-WallboxDecoder.xls (1219 downloads)
|
Top
|
|
|
|
#300675 - 08/10/2007 22:01
Re: Seeburg Wallbox - Release 1.0
[Re: tfabris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: Shouldn't it debounce?
Yes, it does. But this not a debounce problem. The waveform is wrong.
The driver is just a 10ms sampler. When the CTS line goes low, the driver collects the state of the CTS pin every 10ms for the next 2.56 seconds. The wallbox app tries to convert the samples into pulses and the pulses into buttons. If the app can't, it just writes out the samples, untouched. Plotting the samples from a 50Hz wallbox, should show the correct waveform, but with longer pulses. The app can't convert it to a button, but the plot should still be correct.
-Techtom
Edited by techtom (08/10/2007 22:13)
|
Top
|
|
|
|
#300676 - 09/10/2007 03:23
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
Quote: Yes, it does. But this not a debounce problem. The waveform is wrong.
Ah, *that* makes perfect sense. Carry on!
|
Top
|
|
|
|
#300677 - 09/10/2007 04:32
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: Your current wallbox is clearly broken... Sorry
Well I don't find that hard to believe, I will get some contact cleaner etc... and give it another go. That was for button A1.
How many times should the selector be going round? It only goes round once per selection at the moment, maybe I'll try and take a video when I get home tonight. As I said the box is in a pretty bad way, but seems to function as it should on the most part.
Cheers
Cris.
|
Top
|
|
|
|
#300678 - 09/10/2007 05:40
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Quote: Your current wallbox is clearly broken... Sorry
Well I don't find that hard to believe, I will get some contact cleaner etc... and give it another go. That was for button A1.
Hmm it doesn't look anything like A1. See the attached comparison of J10 and A01.
Quote:
How many times should the selector be going round? It only goes round once per selection at the moment
one complete rotatation of the pulsing dial. The coin counter will advance one step for each selection.
Quote:
As I said the box is in a pretty bad way, but seems to function as it should on the most part.
The motor may be running, but it's not pulsing correctly. Have you been able to load up one of the bad_state_7xx.bin file into excel? Collect bin files for A01 & J10 and compare them to the attache logic analyzer file.
-Techtom
Attachments
304327-buttonsJ10andA01.PNG (911 downloads)
|
Top
|
|
|
|
#300679 - 09/10/2007 09:40
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
When I get home I'll post a picture of the pulse wheel, I think it may be starting from the wrong posistion.
I don't have linux here (apart from a clarckconnect server could try it on that) so I haven't been able to get the files into excel, I'll try that later, but it is very interesting to see your results. I am thinking it may be something to do with the wiring behind the selection buttons, the mech seems to have been adjusted sometime in the past and that could be effecting the switch contact ???
Cheers
Cris.
|
Top
|
|
|
|
#300680 - 09/10/2007 14:31
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
I have made a short video to show you the problem I have with this Seeburg unit, you can download it [REMOVED].
I think I am on top of the problem, and can see why the previous files looked so wrong. I will do some more fiddling...
Cheers
Cris.
Edited by Cris (09/10/2007 21:00)
|
Top
|
|
|
|
#300681 - 09/10/2007 15:50
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
I have made a change to the position of the pulse arm a little bit, it looks like it had slipped somehow, it seems to be operating much better.
I have dropped the data into the Excel document and it looks much better, I am getting some strange results with the other selctions, but I think I have a few more adjustments to make.
Does this look more like it?
Cheers
Cris.
Attachments
304354-304314-WallboxDecoder.xls (1261 downloads)
|
Top
|
|
|
|
#300682 - 09/10/2007 16:12
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
I have dropped the data into the Excel document and it looks much better, I am getting some strange results with the other selctions, but I think I have a few more adjustments to make.
Does this look more like it?
Yes, it looks perfect. Now collect the the bad_state_7xx.bin files for the following buttons: A1,B2,E5,F6,J10,K10 and put them in a zip file. I'll take a look creating a version for 50Hz.
BTW B2 will look like 12 pulses and then 1 pulse. K10 will look like 20 pulses then 5 pulses.
-Techtom
Edited by techtom (09/10/2007 16:15)
|
Top
|
|
|
|
#300683 - 09/10/2007 16:30
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Here is what I have so far. I am finding that 2 lots of samples are being taken for J10 nad K10, with number of ticks being 16, 17 or 18 (it seems to be random?). Any ideas what's going on? I was thinking that the sample period may not be long enough so it starts the process again, for example K10 seems only to show the last 5 pulses. Code:
bad state 778, button 0, letter 0, ticks 16 Logged 256 samples to /bad_state_778.bin bad state 778, button 0, letter 0, ticks 18 Logged 256 samples to /bad_state_778.bin
Above is what is output when K10 is selected, the numbers of ticks changes but there are always 2 files, sometime the state is 770. Cheers Cris. WOOT - 1000th post
Attachments
304356-Samples.zip (520 downloads)
Edited by Cris (09/10/2007 21:02)
|
Top
|
|
|
|
#300684 - 10/10/2007 00:13
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote: I am finding that 2 lots of samples are being taken for J10 and K10
Any ideas what's going on? I was thinking that the sample period may not be long enough so it starts the process again.
Yes, you are correct. It's is taking longer than 2.56 seconds to send K10 on your wallbox. The worst case pulse time on your 50Hz wallbox is about 114.5 msec. My 60Hz wallbox worst case pulse time is 76.5ms. I would have expected the worst case pulse time of a 50Hz box to be 60/50*76.5ms = 92ms. Your box seems slow, you might want to try another wallbox, or try a slighly higer voltage, say 28-30V. Do the lights look nice and bright? Can you measure the AC voltage at the imput terminals when the motor is running?
-Techtom
|
Top
|
|
|
|
#300685 - 10/10/2007 04:52
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: Can you measure the AC voltage at the imput terminals when the motor is running?
Yea, it holds at 25v. The lights are nice and bright and are not effected by the motor running. The transformer I am using is pretty beefy, it does also have a 30v output, but I didn't want to stress the components too much.
The other boxes are not currently in a working state, this was the best of the bunch, but maybe I should give it up as a bad job?
I have a 200 selection unit on it's way. This is in much better condition, but hasn't turned up here due to the postal strike. MAybe I should wait for that to turn up.
Cheers
Cris.
|
Top
|
|
|
|
#300686 - 10/10/2007 05:10
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: or try a slighly higer voltage, say 28-30V
Ok this is interesting.
I timed the pulse arm at 25v to be just over 4 seconds, at 30v it's 5.4 seconds !!! Weird !!!
The light also look overly bright at 30v, so I don't think that it a very good idea. Worth a try though
Cheers
Cris.
|
Top
|
|
|
|
#300687 - 10/10/2007 13:52
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
old hand
Registered: 01/10/2002
Posts: 1039
Loc: Fullerton, Calif.
|
Just curious, do you have a real transformer or some kind of chopping supply?
|
Top
|
|
|
|
#300688 - 10/10/2007 15:26
Re: Seeburg Wallbox - Release 1.0
[Re: larry818]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Not really sure what you are asking.
It's just a normal transformer, not in a case or anything, I am not sure what it is rated at but it seems to hold up just fine under the load of the seeburg.
When I says it's beefy it must weight 4kgs+
I can take a picture if you think that may have something to do with it???
Cheers
Cris.
|
Top
|
|
|
|
#300689 - 10/10/2007 16:21
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
carpal tunnel
Registered: 24/12/2001
Posts: 5528
|
Quote: Not really sure what you are asking.
It's just a normal transformer, not in a case or anything, I am not sure what it is rated at but it seems to hold up just fine under the load of the seeburg.
Some inverters/SMPS will output something that is AC but not actually a proper sine wave. Usually things won't care but certain devices with motors in them will and act oddly because of this.
|
Top
|
|
|
|
#300690 - 10/10/2007 17:08
Re: Seeburg Wallbox - Release 1.0
[Re: tman]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Nothing fancy, just a normal transformer... Cheers Cris.
Attachments
304409-transformer.jpg (1222 downloads)
|
Top
|
|
|
|
#300691 - 10/10/2007 20:15
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Quote:
Ok this is interesting. I timed the pulse arm at 25v to be just over 4 seconds, at 30v it's 5.4 seconds !!! Weird !!!
Hmm, try 20V then... I'haven't timed my pulse arm, but I Timed it just now using my youtube video http://www.youtube.com/watch?v=f3Z31FvUHMo It's about 2 seconds from the time I press F10 to the "click" at the end of the selection. This is consistent with my earlier analysis that the 2.56sec should be more than enough to sample the pulses.
To extend the sample time I would need to rewrite the driver code to add an IOCTRL to expand the sample buffer. I never done IOCTL, but it should be possible. For 50Hz the wallbox app state machine will need to be completely rewritten.
It's probably easier for me to send you a $24 110V@60Hz inverter and a $20 radioshack transformer, assuming you''l cover the cost+shipping. -Techtom
|
Top
|
|
|
|
#300692 - 10/10/2007 20:27
Re: Seeburg Wallbox - Release 1.0
[Re: techtom]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: It's probably easier for me to send you a $24 [Email]110V@60Hz[/Email] inverter and a $20 radioshack transformer, assuming you''l cover the cost+shipping.
Thanks for the offer
Before I take that option I will wait for my other box to turn up, or even try to get the other 3W1 I have here to power up. I also have a PC PlayBox 2 on it's way which is said to support 50Hz operation. I figured I could use it to figure out if it's my Seeburg that is faulty or the fact the arm is supposed to take that long on 50Hz.
For some reason I don't like the idea of the 230v AC 50Hz > 12 DC > 110v AC 60Hz > 25v AC 60Hz sequence. Too many boxes
Thanks for all your help with this, I know I am such a pain in the ass
Is anyone else giving this a try ?
Cheers
Cris.
Edit - Just noticed this transformer I have here has a 110v input! Cool!
Edited by Cris (10/10/2007 20:32)
|
Top
|
|
|
|
#300693 - 11/10/2007 09:21
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
veteran
Registered: 01/10/2001
Posts: 1307
Loc: Amsterdam, The Netherlands
|
Quote: Is anyone else giving this a try ?
Waiting for the hardware to arrive...
|
Top
|
|
|
|
#300694 - 11/10/2007 11:25
Re: Seeburg Wallbox - Release 1.0
[Re: julf]
|
carpal tunnel
Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
|
Strongly considering it. I won't be installing my Empeg in my Jeep, so I need to find another semi-practical use for it.
_________________________
~ John
|
Top
|
|
|
|
#300695 - 11/10/2007 14:06
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: Edit - Just noticed this transformer I have here has a 110v input! Cool!
What is not so cool is that the mains in my area seems to have gone up to 250v. This means the output of the transformer is not 27.5v and I think this explains the problems I am seeing. If the higher the input voltage the slower the arm, then I have found my Gremlin.
Funny, when I first tested this transformer all the voltages checked out ok, but now I am using it the input voltage has jumped a little. Bugger!
What sparked this retesting off is the fact that the PC Playbox2 doesn't work either! (even at 50Hz setting).
Anyone good as PSU design ?
Cheers
Cris.
|
Top
|
|
|
|
#300696 - 11/10/2007 14:21
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
carpal tunnel
Registered: 10/06/1999
Posts: 5916
Loc: Wivenhoe, Essex, UK
|
Quote:
What is not so cool is that the mains in my area seems to have gone up to 250v.
Mine has been up above 250v for most of this year, regularly triggering my UPS's trim feature. As of last week it now is down near 220v, regularly triggering my USP's boost feature. A series of big droops this week as well, enough to take the ADSL line down.
_________________________
Remind me to change my signature to something more interesting someday
|
Top
|
|
|
|
#300697 - 11/10/2007 14:35
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
I have just spent the best part of an hour fault finding on one of the other wall boxes, this one is a 3WA 200 selection. I dropped lucky and found a contact with the case on one of the wires running to the "Dual Pricing Unit". Something is still wrong as it seems to be on freeplay, but it is sending pulses. Same as with the other wallbox, doesn't work with PC Play, so I assume my power source is the problem Project back on hold until I can find a workable solution. Anyone got any tips? Cheers Cris.
|
Top
|
|
|
|
#300698 - 11/10/2007 21:34
Re: Seeburg Wallbox - Release 1.0
[Re: andy]
|
carpal tunnel
Registered: 24/12/2001
Posts: 5528
|
Quote:
Quote:
What is not so cool is that the mains in my area seems to have gone up to 250v.
Mine has been up above 250v for most of this year, regularly triggering my UPS's trim feature. As of last week it now is down near 220v, regularly triggering my USP's boost feature. A series of big droops this week as well, enough to take the ADSL line down.
UK mains voltage is 230 V +10% -6% (216.2V - 253V). Anything within those ranges is still in spec has to be handled by your equipment. If its higher or lower than you can report it as a fault.
|
Top
|
|
|
|
#300699 - 13/10/2007 14:32
Re: Seeburg Wallbox - Release 1.0
[Re: julf]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
Quote: Waiting for the hardware to arrive...
So what's your plan for the PSU? I imagine you may have similar problems to me.
Edit - Today I found out I am a complete idiot! I have just got PC PlayBox to work fine on my current PSU, so the previously posted samples are correct for 50Hz operation. So it looks as if my wallboxes (not tried the 200 selction unit yet) are working within spec, I assume this mean getting it to work with the empeg maybe out of my reach for now ???
Cheers
Cris.
Edited by Cris (13/10/2007 14:58)
|
Top
|
|
|
|
#300700 - 14/10/2007 05:48
Re: Seeburg Wallbox - Release 1.0
[Re: Cris]
|
veteran
Registered: 01/10/2001
Posts: 1307
Loc: Amsterdam, The Netherlands
|
Planning to use a simple stepdown transformer. Have to look at the timings with a scope....
|
Top
|
|
|
|
#300701 - 22/10/2007 15:28
Re: Seeburg Wallbox - Release 1.0
[Re: julf]
|
pooh-bah
Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
|
If you ever need a manual I can recommend eBay seller "nikondave", I have just taken delivery of a very nice complete set that has already answered a few questions I had, well worth the $$$ if your unit plays up.
Cheers
Cris.
|
Top
|
|
|
|
#305684 - 03/01/2008 06:21
Seeburg wallbox -- Title Strip Form
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Attached is a PDF form that will create Title Strips for a Seebug Wallbox. I found it on the Internet and fixed a couple of bugs / alignment errors in the form. It will now correctly auto-size the font on long text strings.
-Techtom
Attachments
Red Title strips for Empeg Wallbox.pdf (1484 downloads)
|
Top
|
|
|
|
#305685 - 03/01/2008 06:40
Wallbox application problem.
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
I'm just about to release the source to my wallbox application. But, I still have one bug... If I leave the empeg on all the time, it will not play the first song selected. It correctly Queues the song, but it does not play. If I manually press play, the song plays. Everything works fine, but after a few hours, the first song will queue but not play. It has to be something to do with the way the empeg "sleeps" when at the "end of playlist" I know the driver code is correctly determining the state of the empeg, because it looks at empeg_notify->sound and sees that the player is stopped, so it queues the song (no append) which wipes out the previously queued playlist (which had already finished). The driver then sends the "space" character to the player. Usually, the empeg player app will start playing the song that the wallbox app just queued. But if the empeg has been sitting at "end of playlist" for a few hours, it acts as if it is ignoring the "space" charater I sent to start the player. Any Ideas? -Techtom BTW anyone besides me actually using it?
|
Top
|
|
|
|
#305694 - 03/01/2008 14:03
Re: Wallbox application problem.
[Re: techtom]
|
carpal tunnel
Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
|
I'm still interested
_________________________
~ John
|
Top
|
|
|
|
#305695 - 03/01/2008 14:12
Re: Wallbox application problem.
[Re: techtom]
|
carpal tunnel
Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
|
This is a wild guess, but if it's going to sleep for whatever reason, a button press just wakes it up; it doesn't also use that button press as a command.
_________________________
Bitt Faulk
|
Top
|
|
|
|
#305696 - 03/01/2008 14:19
Re: Wallbox application problem.
[Re: wfaulk]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
This is a wild guess, but if it's going to sleep for whatever reason, a button press just wakes it up; it doesn't also use that button press as a command. Good thinking. Take a look at the Hijack menu, and ensure that the "Screen Blanker Timeout" is set to "[Off]", to prevent Hijack from putting the player to sleep. -ml
|
Top
|
|
|
|
#305706 - 03/01/2008 20:21
Re: Wallbox application problem.
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
Take a look at the Hijack menu, and ensure that the "Screen Blanker Timeout" is set to "[Off]", to prevent Hijack from putting the player to sleep.
I checked my empeg and "screen blanker timeout" is set to: 00:15. I'll check tonight to see if setting it to "off" fixes the problem... I would still like to use the screen blanker because most of the time the empeg is not playing songs, so I don't want to burn in "end of playlist" into my display. so I have a few questions: - How do I detect that hijack has blanked the screen
- If the screen is blanked, how do I wake up the display?
- curently, I send '#'<FID><newline><space><newline> e.i. "#fid\n \n" to the hijack serial insert routine. Should I break this up into two calls to serial_insert? The second call would just be <space><newline>.
Thanks, -Techtom
|
Top
|
|
|
|
#305715 - 03/01/2008 23:25
Re: Wallbox application problem.
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
To avoid burn in, you may have to code up a quick userspace app that takes over the display and simply clears it until the next button press. Or hack hijack to do the same.
You cannot power off the screen easily, though. We tried that once, and it had serious issues.
EDIT: Oh wait, you can still use the screen blanker. Here is what you need to do instead, to prevent it from putting the player into standby:
In the config.ini file:
[hijack] standby_minutes=0
Edited by mlord (03/01/2008 23:28)
|
Top
|
|
|
|
#305723 - 04/01/2008 01:42
Re: Wallbox application problem.
[Re: mlord]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
EDIT: Oh wait, you can still use the screen blanker. Here is what you need to do instead, to prevent it from putting the player into standby:
In the config.ini file:
[hijack] standby_minutes=0
But what exactly does Hijack do when it puts the player into standby and how does it bring it out of standby? My driver queues the playlist from kernel space so I should be able to see any of the hijack state variables... Thanks, -Techtom
|
Top
|
|
|
|
#305733 - 04/01/2008 14:08
Re: Wallbox application problem.
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
But what exactly does Hijack do when it puts the player into standby and how does it bring it out of standby? My driver queues the playlist from kernel space so I should be able to see any of the hijack state variables...
It injects a long press of the RioRemote "Source" button, the same as a human would do to put it into standby. Hijack does NOT bring it back out of standby -- somebody has to press a button for that to happen. Cheers
Edited by mlord (04/01/2008 14:13)
|
Top
|
|
|
|
#305734 - 04/01/2008 14:11
Re: Wallbox application problem.
[Re: mlord]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
The relevant code looks like this: if (blanker_triggered) {
unsigned long minimum = blanker_timeout * (SCREEN_BLANKER_MULTIPLIER * HZ);
if (jiffies_since(blanker_triggered) > minimum) {
buf = player_buf;
memset(buf, 0, EMPEG_SCREEN_BYTES);
refresh = NEED_REFRESH;
if (is_paused && hijack_standby_minutes > 0) {
if (jiffies_since(blanker_triggered) >= ((hijack_standby_minutes * 60 * HZ) + minimum)) {
save_flags_cli(flags);
hijack_enq_button_pair(IR_RIO_SOURCE_PRESSED|BUTTON_FLAGS_LONGPRESS);
restore_flags(flags);
blanker_triggered = jiffies - minimum; // prevents repeating buttons over and over..
}
}
}
}
|
Top
|
|
|
|
#305747 - 04/01/2008 22:48
Re: Wallbox application problem.
[Re: techtom]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
But what exactly does Hijack do when it puts the player into standby and how does it bring it out of standby?
OK it looks like "hijack_enq_button_pair(IR_RIO_SELECTMODE_PRESSED);" will bring it out of standby But I'm still not sure how to detect that the empeg has been "IR_RIO_SOURCE_PRESSED|BUTTON_FLAGS_LONGPRESS" into standby. OR... Can just call "hijack_enq_button_pair(IR_RIO_SELECTMODE_PRESSED);" every time I see the player is stoped (notify->sound==0) and I'm queuing a song? BTW... Standby is definitely causing the problem. When I disable standby, the problem goes away -Techtom
Edited by techtom (04/01/2008 23:24)
|
Top
|
|
|
|
#305748 - 04/01/2008 23:17
Re: Wallbox application problem.
[Re: techtom]
|
carpal tunnel
Registered: 24/12/2001
Posts: 5528
|
/proc/empeg_power shows various flags. any of them useful for you?
|
Top
|
|
|
|
#305749 - 05/01/2008 01:45
Re: Wallbox application problem.
[Re: techtom]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Why not just disable the standby then?
All that standby does, is turn off the VFD (and stop playing if in a playlist).
That's about it, really.
But if you want to detect it from userspace, look at /proc/empeg_power, at the "Display on" line.
If 1, then NOT in standby. If 0, then YES in standby.
Inside the kernel, The "struct display_dev" structure has a "power" bool: 0==standby, 1==not_standby. This is the same variable that is exposed in /proc/empeg_power:Display-on.
Hijack uses it ("dev->power") in several places inside hijack.c
Cheers
|
Top
|
|
|
|
#306954 - 06/02/2008 16:13
Re: Wallbox application problem.
[Re: mlord]
|
carpal tunnel
Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
|
How's this coming along? I'm still very interested.
_________________________
~ John
|
Top
|
|
|
|
#307635 - 25/02/2008 17:32
Re: Wallbox application problem.
[Re: JBjorgen]
|
journeyman
Registered: 30/12/2002
Posts: 51
Loc: Southern California
|
How's this coming along? I'm still very interested. It's finished. It works for a seeburg 100 using 60Hz power. I don't think the UK guys were able to get it to work on 50Hz. I've been using it for the last few months. Mark's sugestion fixed the only problem I was having: In the config.ini file:
[hijack] standby_minutes=0
All the files are in attachments to the posts. -Techtom
|
Top
|
|
|
|
|
|