I'm a leader not a follower!

I'm a leader not a follower!
Two Toads I rescued from the road!

Monday, December 1, 2014

Mercurial Repository Direction

I'm in the NewRepo directory in the local repository on my local machine and want to clone this to a remote repo. I had forgotten that the command order dictates the direction of the clone ie from my local to remote repo or remote to local repo
local -> remote
hg clone . ssh://user@usersURL.org/hg/myrepos/NewRepo
 remote -> local
 hg clone ssh://user@usersURL.org/hg/myrepos/NewRepo .

Sunday, August 10, 2014

LG 42LH3000 TV half picture

My LG 42" Television Model No: 42LH3000 developed an intermittent fault where the left half of the picture on the screen would become noisy and garbled , see this video.


LG 42LH3000 Television

It was worse when the TV was first switched on but got better as it warmed up. Over time it gradually got worse until no picture was shown on the left side at all. From an Internet search it seems that it is a common problem where the LCD driver transistor array die bonded to the flexi-circuit along the top of the LCD loses connection. These devices are driven by the Tcon board at the top middle of the TV via two flex-circuits, these connectors were checked for bad connection but were fine. It was later found that the flex-circuit transistor array on the far left of the LCD when pressed gently would fix the screen problem. A couple of thin cardboard spacers were cut and placed under the flexi-circuit transistor array ( I did this for all the arrays just in case the problem occurred on the remaining arrays ) to make it press more firmly against the silicon rubber pad on the removable front pressed steel bezel of the LCD. This helped ensure that the array would be pressed firmly by the silicon rubber pad when the front frame was replaced and the screws firmly tightened. I hope this helps someone with similar problems and thanks for reading.

Update: After a day the screen had the same problem. Over the course of about a month I disassembled the TV three times trying a number of rubber gasket materials including sticky draught excluder , these worked for a while each time then the screen developed the fault again. On the fourth disassembly I removed the factory fitted flexible rubber pad pushing down on the leftmost flexi-circuit at the top of the screen. I did notice that the bonded transistor array on the flexi-circuit assembly was warm to the touch when the TV was running out of its case.


Positions of Silicone Strips

So I ordered a sheet of thermally conductive silicone rubber 1.6mm thick , I cut three strips strips of this 10mm x 35mm and sandwiched two of them together. The other strip was placed carefully under the flexi-circuit transistor array die while the other two were placed on the top of the flexi-circuit transistor array die (see image above for rough positions or the rubber strips). This assembly would then be clamped once the front pressed steel frame bezel was screwed to the front LCD panel surround. After this was done the TV has worked since so I think the problem may also be related to the transistor array overheating and the thermally conductive silicone rubber is now removing the associated heat from the transistor array to the front metal bezel of the LCD panel. See the diagram for the the way the strips were positioned.

Flexi-circuit Sandwich , Looking Down from Top Edge of Screen
   

Remember that TV's have mains voltage and also higher voltages for the cold cathode strip lamps exposed when the rear cover of the TV is removed so be careful. You may by fiddling with these transistor arrays make the connection problem worse, but if the TV is already toast what have you got to lose.

Sunday, June 8, 2014

Ford Fiesta ABS Light Stays On


The ABS warning light lit up continuously on my daughters Ford Fiesta Style 2005 plate.


ABS Symbol


After a bit of Googling (other search engines are available) to see what the fault could be and narrow down my search area. I finally got around to taking each wheel off in turn and checking the wheel speed sensors for damage. I found the drivers side front wheel speed sensor's wire insulation nearest the inside of the wheel arch had worn away exposing the copper wires inside, it had also worn away one of the wires. The sensor wire wearing away may have been due to a broken suspension spring that occurred a while before the ABS fault, the spring was replaced a while back. As a test repair I soldered the broken wires of the sensor back together and switched on the ignition but the ABS light stayed on. Disappointed I drove down our private road and after driving about 30 feet the light went out, yeehaa! (this is me happy). Apparently from what I have read the ABS light will stay on even after a sensor repair until the ABS system detects pulses coming in from the sensor after the vehicle is in motion, only then will the light go out.  I ordered and fitted a new sensor cable assembly to replace the temporarily repaired one as I didn't want to take chances with a repair on the ABS system, the ABS light has stayed out ever since.
If you undertake any work, be safe, remember cars are heavy, tools are dangerous if used incorrectly, you are responsible for your own actions.
UPDATE:
I bought one of these F-Super Diagnostic USB dongles to read the fault codes and reset the fault on the ABS ECU.
 F-Super Diagnostic Dongle  
I installed the drivers and the software onto my laptop, plugged in the usb. I then plugged in the dongle to the OBD connector on the Fiesta, it is located at the bottom of the Steering column cover under a little flap. The software was run and the fault code read it was indeed signal loss from a wheel sensor. I wish I had this device before, so I knew what I was looking for when trying to fault find.
I also reset the fault code on the ABS ECU so if the error comes back I'll know.

Thursday, May 15, 2014

Arduino Uno Ceramic Resonator

I was using an Arduino Uno to measure the PPS (pulse per second) pin from a GPS module to allow comparison with the PPS from a DS1307 RTC real time clock. I used interrupts 0 and 1 of the Arduino to trigger on rising edges of both PPS pins to trigger a reading from the micros() function and then subtract this reading from a subsequent micros() reading taken on the next rising edge so giving me a measure of the pulse width in microseconds, give or take four microseconds. Apparently the misnamed micros() function cannot make one microsecond measurements. Using this setup I was able to see that the 16MHz clock on the Arduino was out compared to the GPS PPS pin which from the datasheet was accurate to the tens of nano seconds range. The measured error I found was due to the Arduino using a resonator for its system clock, known for not being as accurate a crystal. The strange thing is there is already a crystal on the board for the USB serial chip, probably for accurate baud rates, it is 16MHz the value we need. I removed the resonator for the ATMega328P from the board and made a direct connection from the crystal oscillator output of the USB serial chip to the oscillator input of the ATMega328P. The board can still be programmed and now has a more accurate system clock for my measurements. I wonder if this is something that could be done to the Arduino to save the cost of a resonator. I eventually moved my sketch to a Stellaris Launchpad which has an 80MHz clock and can measure down to one microsecond with its appropriately named  micros() function.

16MHz Resonator removed, center of PCB

16MHz Osc Output of ATMega8U2 connected to ATMeg328P Osc input

Thursday, April 10, 2014

Panasonic DECT Cordless Phone KX-TGA672E with faint LCD


This Panasonic DECT cordless phone developed a fault where the LCD was very faint and adjusting the contrast made no difference. This fault was traced to the flexi-circuit from the LCD to the main printed circuit board of the phone. It was bonded in some way to provide the electrical connection and was not soldered. To fix it I cut up a rubber eraser to the correct size the width of the flexi-circuit and a thickness of (1.5mm). This eraser helped to push down on the flexi-circuit when the white LCD housing was clicked onto the PCB. This fixed the fault and the LCD is now as it should be and the contrast adjust also works. Very annoying fault and a result of cheap manufacture not lasting very long.
Thanks for reading, I hopes this helps someone.

Wednesday, February 5, 2014

DG843GT List dhcpd Clients

I wanted a way of listing connected devices that have been served an IP Address using the command line on my DG843GT ADSL2+ router with DGTeam Firmware. This firmware allows ssh login and the ability to change the noise margin amongst other things.

I began by looking at the link for attached devices on the admin webpage of the router. This URL http://192.168.1.1/setup.cgi?todo=nbtscan&next_file=devices.htm was examined and the command nbtscan was noticed.

This was tried on the command-line but it didn't seem to do anything , nbtscan --help didn't help either.

I thought it must be something to do with arguments so I tried nbtscan 192.168.1.1 (my routers IP Address) this listed the attached devices so it's a result.

I haven't written a script using expect to get and extract this info automatically yet but it's on my todo list.

Example of the command and its output xx added to anonymise my MAC addresses
 # nbtscan 192.168.1.1
192.168.1.3;UNKNOWN;00:xx:83:2D:xx:BA
192.168.1.10;TORE;00:1F:xx:C8:xx:B5
192.168.1.12;UNKNOWN;00:1B:xx:07:xx:A3
192.168.1.13;DEB;D6:56:xx:FE:xx:57
192.168.1.22;DAD;00:30:xx:46:xx:2E

Tuesday, February 4, 2014

Linux Tinyos example for patching a header file

 I was having problems making a simple program for TinyOS using the command :-

make micaz

The micaz is the target device and can be other devices like iris , telos & tmote etc.

The error I got was:- 

error: variable ‘McuSleepC__atm128PowerBits’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’

From reading around the issue is documented here.

The patch is downloaded to the ~/tinyos-main/ directory and it patches the atm128const.h file to prevent the error messages.

The patch is applied using the following command:-

patch -p1  < tinyos-atm128-const-fix.patch