UbuntuPosted by condemned Sun, July 04, 2010 11:42:26Following a PSU 'incident' in the main PC used in the lounge, (caused by overheating - my own fault), I've recently had (an excuse) to build a new PC.
I took the opportunity to move from Windows to Linux; Ubuntu 10.04 (64-bit) to be precise.
A very smooth and fast install process via a USB stick. Less than 15 minutes installation, including faffing around on my part. The SSD makes it astonishingly fast. The BIOS part of the boot takes the longest!
Generally everything is going smoothly, with only a few exceptions:
1. Flash. [not resolved - limping on]
64-bit flash support on linux is dreadful. It needs sorting out.
How can a quad-core 2.8Ghz processor with a modern nVidia graphics card struggle to render full-screen you-tube videos?!
2. FTP. [resolved]
I spent four evenings trying to get a very simple FTP server set up. I finally got it working after realising that proftpd was trying to run in two different modes at the same time (standalone and via inetd).
3. Mounting a windows share. [resolved]
I use another machine (running windows) to store most of my files. I want this mounted so that I can use it just like files on the local machine. This went relatively smoothly (a lot of command-line stuff mind you - I'm slightly bemused to be editing the /etc/fstab file by hand - where's the 'map network drive' equivalent?!).
All seemed good; The file browser in ubuntu (nautilus) worked very nicely with it.
However, Eagle (PCB/Schematic software) steadfastly refused to talk to it, spitting out errors to the syslog [alas, now lost, otherwise I'd have included more details here].
After several evenings' fruitless fiddling, I finally found the solution; noserverino
my /etc/fstab entry now looks as follows;
//<IP Address>/Eagle /home/nigel/mapped/batsocks/eagle cifs noserverino,auto,rw,gid=<unix group name>,guest,file_mode=0666,dir_mode=0777 0 1
Eagle is now happy to work with it!
(OK. Waffle over.)
TellyMatePosted by condemned Thu, June 24, 2010 22:22:07The TellyMate TTL Kit PCBs have now been ordered...

Unfortunately, my PCB manufacturer have just extended their standard delivery-times to 25 working days, so they're going to be ready a little later than expected.
It's been modified a little since the
previous prototype version - I've added a 6-pin header that
should be compatible with the
5v FTDI cable and 5v FTDI boards (
old design and
new design) that
SparkFun sell.
ElectronicsPosted by condemned Fri, April 02, 2010 09:54:20I recently ordered some parts from
Farnell, including some 10k 0603 resistors.
Normally I'd just peel back the tape and use the resistors, but something about these didn't seem right... So I measured them...

They're about 0.1ohm instead! Oops.
[edit: Farnell sorted it out very quickly - I had the correct resistors in my hands within a couple of days]
[edit: and here's a picture of what they should look like :

]
ElectronicsPosted by condemned Sat, March 13, 2010 14:44:25I ordered a very cheap Nintendo Wii power supply last weekend.
I think it was a little
too cheap.
I don't think power supplies are supposed to spark and smoke...


I'm glad it wasn't plugged into the Wii on it's first power-up.
I've asked the retailer to send me a replacement. I'm not sure that's wise!
TellyMatePosted by condemned Sun, February 28, 2010 12:38:14
Here's a picture of a prototype for the new TellyMate Kit that I'm working on : The TellyMate TTL. It's essentially a re-arrangement of the (probably to be discontinued) TellyMate Kit, but without the RS232 connector and translation circuitry.
Once I'm happy that the prototype's OK, I'll be getting some 'proper' boards made up.
It communicates natively using 5v TTL serial signals (8n1), hence it should be compatible with any device which uses this format (PIC, PIC-AXE, Arduino etc.). All the board needs is Gnd, 5v and Rx (TX is optional). It's up to the user how these are connected to their system.
For those with Arduinos (and don't fancy the
Batsocks TellyMate Shield), the power and serial holes are arranged such that downwards-facing header pins (as in the photo) will allow the board to straddle an Arduino (albeit 90-degrees to the norm.).
WebsitePosted by condemned Sat, February 27, 2010 00:44:30I've been meddling with the XML and XSLT that's used to generate the main Batsocks.co.uk website. I'm making the following changes:
TellyMate User Guide.I had a request a few weeks ago for a downloadable .pdf version of the User Guide. To make that a reality, it means having a version of the User Guide on a single web-page. To do that means that, I need to somehow have a more 'defined' relationship between the various pages in the User Guide (beyond the current 'siblings' relationship).
This has meant some simple XML shuffling, and some horrendous XSLT shenanigans.
XSLT is not for the faint-hearted.It's another way of thinking.
It's taken me a couple of evenings to re-acquaint my brain with document trees and functional programming. I think I'm there now. Again.
Data-driven control sequence tablesI've also taken this opportunity to make an XML file that details all the control sequences (I don't know why I didn't recognise this as "data" before). I'll build the 'Control' section of the User Guide from this.
If I manage to get it all correct, it should mean relatively little cosmetic changes to the existing pages. My biggest problem is going to be how/where to link to the .pdf and printer-friendly versions of the User Guide.
I should have the (not very different looking) new User Guide up by the end of the weekend (27/28th Feb).
[edit: It's looking like this update is running a little behind - It looks like the first few days of March is a more realistic target - I still need to find a place for the 'print version / .pdf' link, and to generate the .pdf file etc.]
[edit: The website's been updated (there should be almost no discernable difference) - I've still not worked out where to put the link to the single-page version though.]
TellyMatePosted by condemned Wed, February 24, 2010 20:56:54I'm currently working on some updates to the TellyMate, for the upcoming release 1.1.00 of the firmware: [edit: Now released]
Hardware generated Sync pulses
Until now, I've been studiously toggling the sync pin off and on 'by hand' in the firmware in order to generate the correct HSync and VSync pulses. This required very careful cycle counting in places, especially given that I was wrapping the serial polling routine inside the 4us HSync.
I then had a minor epiphany about using the hardware timer to handle it instead.
Serendipidously, the Sync signal is output on the pin associated with Timer1's OC1A, meaning it was possible to do this without any hardware change at all. It wasn't easy (I've had to use a different PWM method, using ICR1 as TOP), but it seems to work.
It's nearly there, and has meant that I've freed up some time, especially around the start of the scanline and the USART polling routine... That's allowed me to do...
RAM based character font
Re-defineable characters at runtime!If the TellyMate has 2kb of SRAM available (M328p version only), then some of that RAM can be set aside to use as character data. Enough for 64 characters is available, and these are used instead of the last 64 characters of fontbank 0. At startup/reset, the 'real' fontbank 0 characters are copied into their RAM counterparts, meaning it's an invisible upgrade until the user decides to redefine them at runtime.
A rather lengthy control sequence is required to redefine a character. Each character is defined by 9 bytes of data, each byte spilt into two lower-case hex digits. Unfortunately this long-winded format is required to avoid having to use a <NULL> character in the input stream (which is
always ignored). If I'd written the TM again from scratch, I might have made the <NULL> character escapeable (using <DLE>)
The upshot is that it's now possible to modify 64 characters at runtime (on a M328p based TellyMate).
Read character definitions
A control sequence to read the fontbanks has been written. This means that it's possible for the user software to read the font definitions and use them to, for example, draw really big characters on the screen.
More imaginative people than me might find this useful.
It might be used with some simple(?) algorithms to produce 'large' characters with nicely rounded corners, for example.
When might all these be ready?"Soon". [edit: NOW!]
I'm currently finessing some of the code [so it's not
quite so ugly], then I'll be able to run a full set of tests (on my 4 tried and true TellyMate test shields - M8, M88, M168 and M328p).
I've then got to write some documentation (what's the point of adding these great features if they're not documented in the user guide?!), write some exciting Arduino sketches to show them off, photograph them, and finally release it all.
Oh, I'm going to try and re-jig the user-guide so I can publish it as a PDF as well - possibly useful to users of e-books or wap-phones (or whatever the new things are).
[edit: 5 Mar 2010 15:10 - I'm now planning on calling this version 1.1.00, rather than 1.0.17. This fits better with the level of core code that's changed]