Queen’s Dessert Icecream
















Looks like the faulty nouveau driver is creating the fault during boot up. Without nomodeset and/or acpi=off, booting leads to segmentation fault by the nouveau module. When I disable the nouveau module by blacklisting it under modprobe.d, I am able to boot up cleanly using the Intel Sandybridge Mobile graphics driver. After updating the blacklist configuration, remember to run update-initramfs -u.
filename: /etc/modprobe.d/nvidia-nouveau # disable nouveau driver blacklist nouveau options nouveau modeset=0
LM35 Temperature Sensor 
The System. 
The monitor. 
The mixed water line: 
The hot water line: 
The cold water line: 

monitor opened up: 
the atmega8 microcontroller 
the lcd unit: 
theboard: 
inside the monitor: 
The AVR code.
const int COLD = 0, HOT = 1, MIXED = 2, CALIBRATE = 3;
const int PWMPORT = 5;float SCALE = 5000.0/1024.0; // 10 bit resolution for ADC
const float LM35SCALE = 10; // 10mV per Centigrade#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8 );
byte smiley[8] = {
B00010,
B00101,
B00010,
B00000,
B00000,
B00000,
B00000,
};float Calibrate( void )
{
// write 5v to PWM port
analogWrite(PWMPORT, 255);// read the 5v analog value in the calibrate port
delay(500);
int val = analogRead(CALIBRATE);// read again the 5v analog value in the calibrate port
delay(100);
val = analogRead(CALIBRATE);// whatever digital value we read is the range of output that we would get for 5v input.
// so, set the scale appropriately.
SCALE = 5000.0/(float)val;
return SCALE;
}void setup()
{
pinMode(PWMPORT, OUTPUT);
lcd.createChar(0, smiley);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print(“Calibrating..”);
float scale = Calibrate();
lcd.setCursor(0,1);
lcd.print(“Scale=”);
lcd.print(scale);
delay(1000);
}int Temp( int inADC )
{
float lm35volts = (float)inADC * SCALE;
float temp = lm35volts/LM35SCALE;
return (int)temp;
}int ReadData( int port )
{
int data = -1;
for ( int i = 0; i < 3; ++i )
{
data = analogRead( port );
delay(100);
}
return data;
}void loop()
{
int cold = ReadData( COLD );
int hot = ReadData( HOT );
int mixed= ReadData( MIXED );
int cold_temp = Temp(cold);
int hot_temp = Temp(hot);
int mixed_temp = Temp(mixed);
lcd.clear();lcd.print( “C=” );
lcd.print( cold_temp );
lcd.write(0);
lcd.print(“C”);
lcd.print( ” H=” );
lcd.print( hot_temp );
lcd.write(0);
lcd.print(“C”);
lcd.setCursor(0,1);
lcd.print( “Mixed=” );
lcd.print( mixed_temp );
lcd.write(0);
lcd.print(“C”);
delay(1000);
}

I have been hit for the same problem when my Altec Lansing 5.1 multimedia system’s remote control broke. In the sense, the remote was functional intermittently. And some time, the key pad mapping got goofed up with + working as – and so on. When I visited my local electronics stores guy, he said the general problem for intermittent remote operation is a conked up crystal that is found inside the remote control unit.
Remote control units work with Infrared light communication between the hand-unit and the multimedia system’s base unit. Commands from the keypad are converted to IR signals, which are received and decoded by the base unit to perform appropriate function. Since IR light is not visible to human eye, one should use a Camera eye to see the IR light. The easiest way is to observe the LED mounted in the front of the hand unit through a mobile camera or any camera that’s in working condition. The cameras bandwidth covers IR and UV apart from the visible spectrum. You will find that the IR led blinks (carrier frequency is 22khz), when you press any button on the remote control unit. If you observe that for some keys the IR led is not flashing or intermittently flashing, you may associate the problem to a faulty crystal in the remote control PCB.
When the remote is opened, you will see a PCB like the one in the picture. The PCB could be plucked out from the casing by hand. You will also see a rubber like buttons which are the actual buttons that you press. The rubber button is placed on the PCB, where the button presses are converted to switching action. Remember, the buttons will have a conducting coating under it, which indeed closes the circuit when the button touches the PCB.
The crystal that comes as a part of the circuitry is shown in the picture. It is otherwise called a ceramic resonator, which is the crucial component of an oscillator circuitry. Crystals are typically used against LC, RC tank circuits for its very high stability feature against temperature and humidity. My remote uses a 455Khz crystal named CRB455E (http://dalincom.ru/datasheet/CRB455E.pdf). The cost of this crystal as on today is Rs 2 in Chennai/India. After replacing the crystal, my remote is working perfectly so far.

hash = ( fpArray*2654404609 )>>12; // Calculate the hash and limit the value to 2^20 (1 Meg)
unsigned hash = fpArray * 2654404609;
hash = hash >> 12;
unsigned long hash = (unsigned long)fpArray * 2654404609;
hash = hash >> 12;
unsigned h2 = (unsigned)hash;
hash = ( fpArray*2654404609U )>>12; // Calculate the hash and limit the value to 2^20 (1 Meg)
(or)
const unsigned multipler = 2654404609; // here U suffix is not needed as the constant is explicitly made unsigned
hash = ( fpArray * multiplier ) >> 12;
Now, the computation will happen with 32 bit numbers to get the expected outputs.
Lessons Learned here:

Removing the headlamp from Getz Prime is pretty trivial and requires just only one tool and probably 5 minutes of time. Let’s see how to go about that.
1. The Headlamp Assembly: It appears very dull ey? Yes, I was going to remove it and replace the frontal glass.
2. The Tool: All the bolts that attach the assembly to the chassis are 10mm and you would need a bit rod for disassembling the headlamp unit.
3. Remove Bolts: Use the 10mm bit rod to remove the bolts. Remove the first bolt visible from the top.
4. Remove the other 3 bolts visible from the front side.



5. Remove the hidden bolt. Now that you have removed the front side 3 bolts, you will be able to pull that plastic to expose the hidden lamp assembly bolt fastened to the chassis.

6. Shake and pull the the headlamp assembly. Remember to remove three wiring harnesses connected to the headlamp assembly; a) The Bulb supply b) Motor, Parking lamp, Main Bulb supply c) Indicator supply.

That’s it. It takes just 5 minutes and 1 tool to remove the head lamp assembly from Getz Prime.
