Monday, December 11, 2006

Oct-Nov-Dec Hardware projects summary

It's been an interesting two months in regards of hardware projects. I familiarised myself with the antique AT89C2051 and BASCOM, I really like the simplicity. While this micro may be old, I find it fun to work with. This was the one microcontroller that I built 5 programmers for, none of which worked. My latest try, an old version of Peter Averill's TAFE programmer did the trick however so now I am fully capable of programming them. Good thing too because I have about 5 lying around doing nothing. After finishing a 4 year old project I never managed to finish because of the lack of a programmer I built a POV device with ported and improved code from a POV example.


I later found out that that particular type of SMD led had an integrated resistor so adding the resistors was really pointless. (Not sure now..)

The code in BASCOM-8051, It's currently displaying my name, alter as needed.

The project I finished was actually linked to the previous article. It's the PS/2->Newton Serial Keyboard converter from here.

Works as expected with the improved version of the code. The Linux driver also works after significant modifications

(I haven't updated the link in the previous post yet but I doubt anyone wants it and i'm lazy so leave a comment if you want the working version)


Onward, I've just finished duplicating a significant project that can be found here. It's the AVR Signal Generator, mostly because I had a 2x16character LCD lying around doing absolutely nothing. I haven't finished it yet but. I can now verify that it's working properly.

I've also revamped the MIDI keyboard driver I've built quite some time ago. The project is from this site. The PCB was badly damaged due to overheating, bad PCB quality and a use of a chemical soldering liquid which made additional soldering to the board borderline impossible(thus the overheating) However now it is completely functional again.

Wednesday, November 1, 2006

ZipIt NFS Jukebox files

Here it is. New file, should fix problems. (I hope this is GPL compliant, edited portions of code are supplied in the archive.)
Okay so, this SHOULD work on ANY ZipIt with a linux image that has the ZipIt audio drivers(wm8751l.o,ep7212_audiodma.o,zipitaudio.o) and can mount NFS as everything besides playmp3 is static linked and I included working libs for playmp3.
Just unpack the file to the root of an NFS share and mount that to /mnt on the zipit (mount -t nfs -o nolock,tcp,intr ip:shared_dir /mnt)
then type
/mnt/p
and relief should start up. Put your mp3s and FLACs on that NFS share and you're good to go :)

Notes:
ffmpeg suffers from a reported bug with FLAC files that hasn't been fixed yet. for me this meant that it couldn't play 1 file from about 30. YMMV, until it's fixed recoding with a different version of flac should help.

if flac files don't play(like.. at all) you probably don't have write access to /dev, just delete /dev/mouse if you have one then cp /dev/null /dev/mouse, plus delete /dev/dsp and mknod /dev/dsp c 245 4 manually and it should work.

if flacs play and mp3s don't and you don't have /dev/zipaudio replace /dev/zipaudio with /dev/dsp in /mnt/players/mp3play (with any text editor)

I modified playmp3 to load stuff from /mnt (/lib/ld-linux.so.2 -> /mnt/ld-linux.so and libc.so.6 -> /mnt/c.so) so if you want to integrate playmp3 into your mmc filesystem or anything get the original version from a few entries back (Zipit Modding entry, too lazy to link) and place the .so files (renamed to their original filenames) into your lib dir.

When in the file browser don't press enter on files, press a to add a file or shift+a to add all supported files in the directory.

Kill the battery monitor loop, I don't have it in my mmc init scripts and I just noticed when I tried without an mmc card that it produces skips whenever it refreshes. if you have it running do kill -STOP [pid of loop_batlvl] and kill [pid of sleep 60] before running relief

Good luck :)

Monday, October 30, 2006

ZipIt, the WiFi music player

Here's what I've been fooling around with today.I wanted to turn the zipit into a music player since I got the first one but for reasons I've already detailed in another blog entry it will never make a good standalone music player, however it makes a great wireless network jukebox.

I modded and compiled Relief which is a text-mode file browser, playlist manager and music player frontend, and now have it running fine on the zipit.

So why not MOC, cplay, ? Well I've been looking for frontends for a while now but besides cplay and MOC I couldn't really find anything worth mentioning. I didn't want to use cplay because it needs python and MOC would've needed tremendous rework. Relief is simple, small and does what it's supposed to.

As for the players, I'm using the Cirrus decoder for mp3s (of course) and a modified version of ffplay for FLACs.

I've tested with 320kbit/sec MP3 and random FLAC files, they play fine from NFS without a single skip or stutter.

I couldn't get OGGs to work with ffplay but didn't really bother either as I don't use OGG. As for Musepack it's too much for the CPU (libmpcdec is anyway, 15 seconds decompression for 2 seconds audio...)

Thursday, October 19, 2006

ViewML on the ZipIt

First I should probably mention that I only compiled Pixil which is just the graphical environment you see here, the whole idea of Linux on the ZipIt started here the place to get most information about it is the eLinux wiki and I'm using a slightly modded version of Stephanie's linux flash image (the server's running on her ZipIt) I didn't have anything to do with the linux part (besides adding an already existing pivot_root script to an already existing flash image :-)

I've managed to produce a buildroot that's uClibc is close enough to the one in Stephanie's image, so I can use dynamic linking now without stuff instasegfaulting.

I've managed to compile ViewML, Pixil's browser.. found some patches to get the source compiling with newer gcc versions but it's really ugly still, not to mention unstable. (an older libwww might solve that but it would be better to fix it and keep the new one :-) I've recompiled nano-X with libjpeg libpng libtiff and freetype2(didn't set that one up to work yet though)

Positive sideeffect of having a compatible buildroot is that Pixil screentop widgets (backlight and battery meter) and the Sysconfig's config pages work fine now as seen below. Well okay the backlight thing and the battery meter doesn't actually work but at least they start up and are visible. And the sysconfig pages don't really like 320x240 (problem not apparent on the one below)

ViewML can be controlled from the keyboard to some extent.. You can't actually open links you'd need a softmouse driver for that but you can scroll around and enter new addresses. Now forms appear to cause some problems and it segfaults if you try to submit them so that needs some serious fixing.

Images (even really large ones) show up fine, tables are rendered correctly as well, and while it's no Gecko it beats using lynx or the PalmOS4 browser. However it takes 30 seconds or possibly more to render some sites.

So I decided to try it out live and briged the wifi stick's connection with the server's.

Submitting the query from the google mainpage generates a segfault but if I open the url directly the result page shows up fine.. Oh and I've decided to try and take a few pictures of the screen again.

and the picture below shows why a softmouse driver is needed