After some scary moments with things falling over TS-7300 while it was powered up, I made it a new shelter. The Nokia E71 cardboard box was a good start. After some surgery and oddly enough, without blood donation from surgeon, the box was ready.
Inside view. Even though the box has no holes, beside for the LAN and USB connectors, the temperatures do not rise too high. This is mainly due to fact that TS-7300 consumes at most 1,8 Watts. On board temperature sensor measures temperatures between 44 and 45,5 degrees Celsius which should be sufficient, as the device is rated to -40 to +70C environment temperature.
Monday, 7 June 2010
Thursday, 3 June 2010
TS-7300
From time to to time I have been doing (or dreaming..) a MP3 player. A few years ago I bought a small ARM based single board computer, TS-7300. It is a small Linux computer with following specs: 200MHz ARM9, 64MB of RAM, USB, 55 digital IO lines, Ethernet, FPGA, etc. The plan was to add a LCD display, USB sound card and USB hard drive and remote control. I hacked them all together and experimented with each piece alone, but as usual, the integration side started move with glacier speeds.
This week I remembered this project and dug up the dusty computer from closet.
Years ago I had soldered simple interface for a 20x4 char HD44780 display. I also had started writing the LCD display system from scratch, but never had time to complete anything but the basic display code. What was still needed was the display abstraction to make the development easy on the PC side. I now continued by crafting together finally a fully functional LCD driver. What made a good jump start forward was a discovery of the lcdproc project. That really had what I needed; a nice modular architecture, driver for testing in console (win32 and Linux), advanced driver for the HD44780 chip, widgets for UI development and all. The net also provided a lcdproc driver for TS-7200 LCD interface, which only needed some modifications to fit into current lcdproc API and also a few lines for TS-7300 hardware support. After some more testing, I should try to post the patch to upstream.
For the MP3 playing I have been using the MPD. As the ARM does not have a fully functional FPU and is quite slow, it is essential to have a decoder that supports the fixed point calculations. I tested the mpg123 and others but they mostly consumed close to 100% CPU with a stuttering sound output. The MPD had the best performance on ARM I could find and also an documented API one could utilize. It also worked with the old Debian Sarge distribution and vintage Linux kernel 2.4 the TS-7300 had. The MPD architecture is divided into a daemon and client, which communicate each other with a simple text based protocol over socket so the development can be done completely on PC. What it lacks still is a client that fits into my usage pattern; play mp3 files from selected directories, without any playlists or such, be usable with remote control and use the text LCD as output device. Perhaps some rainy day;-)
This week I remembered this project and dug up the dusty computer from closet.
Years ago I had soldered simple interface for a 20x4 char HD44780 display. I also had started writing the LCD display system from scratch, but never had time to complete anything but the basic display code. What was still needed was the display abstraction to make the development easy on the PC side. I now continued by crafting together finally a fully functional LCD driver. What made a good jump start forward was a discovery of the lcdproc project. That really had what I needed; a nice modular architecture, driver for testing in console (win32 and Linux), advanced driver for the HD44780 chip, widgets for UI development and all. The net also provided a lcdproc driver for TS-7200 LCD interface, which only needed some modifications to fit into current lcdproc API and also a few lines for TS-7300 hardware support. After some more testing, I should try to post the patch to upstream.
For the MP3 playing I have been using the MPD. As the ARM does not have a fully functional FPU and is quite slow, it is essential to have a decoder that supports the fixed point calculations. I tested the mpg123 and others but they mostly consumed close to 100% CPU with a stuttering sound output. The MPD had the best performance on ARM I could find and also an documented API one could utilize. It also worked with the old Debian Sarge distribution and vintage Linux kernel 2.4 the TS-7300 had. The MPD architecture is divided into a daemon and client, which communicate each other with a simple text based protocol over socket so the development can be done completely on PC. What it lacks still is a client that fits into my usage pattern; play mp3 files from selected directories, without any playlists or such, be usable with remote control and use the text LCD as output device. Perhaps some rainy day;-)
Subscribe to:
Posts (Atom)