Skip to main content

Posts

Showing posts from 2011

Maruti Swift VXI OBD2 Connector

We have a Maruti Swift VXI which has a K series engine. Here's a photo of the  OBDII connector  located on the left inside of the dashboard panel under the steering wheel. Do not yet know what all one can do with it.

Ubuntu upgrade caused blank screen on my Acer Laptop

I have an Acer Aspire 4736 Laptop running ubuntu 10.10. I recently used update manager to upgrade to 11.04. After upgrading and rebooting, I had a problem with the following symptoms: Acer's BIOS Splash screen showed up followed by GRUB OS selection menu. After that the laptop's screen turned purple and then blank. A few seconds later I could hear the welcome sound but the laptop screen was blank. I connected an external monitor via HDMI and the image came up on the external monitor And so I scoured the net and came across this forum thread and realise that my laptop's LCD panel was showing an image alright but the backlight was off - confirmed this by squinting closely at my laptop's LCD panel. I followed unknown47's advice and restarted and it worked. If you have an Acer Aspire laptop and have a similar problem, do this: Bootup ubuntu. Connect external monitor. Edit /etc/rc.local and add before exit 0 : setpci -s 00:02.0 F4.B=00 Edit /e

Getting Tata Photon+ to work on Ubuntu

So, finally got this working!!! What I have: Machine: Acer Aspire 4736 Operating System: ubuntu 10.10 Maverick Meerkat Device: Tata Indicom Photon+ VME101 HSIA USB Modem (Manufactured by Olive vendorid:productid = 201e:2009) And I wanted to get it to run on Linux, so here's the sequence of steps I followed. Do not plug in the modem. Open "Terminal" from "Applications>Accessories". Type the command cd /etc/usb_modeswitch.d and press enter. Type sudo gedit and press enter. Enter your ubuntu password when asked and press enter. When the text editor opens up, copy paste the following into it. ####################################################### # Haier CE 100 DefaultVendor= 0x201e DefaultProduct= 0x2009 TargetClass= 0xff MessageContent="5553424312345678000000000000061e000000000000000000000000000000" MessageContent2="5553424312345679000000000000061b000000020000000000000000000000" NeedResponse=1 CheckSucce

Motorola S-record file

Compilers for microcontrollers from Renesas Electronics like R8C and M16C usually output a .mot file which is a Motorola S-record file. This is a standard ASCII text file which contains the opcodes to be placed at each location within the target microcontroller's program flash memory. A programmer application software would read this .mot file and program the flash memory of the microcontroller chip accordingly. Motorola S-record format is somewhat similar to Intel HEX file format The following quick reference chart will help you understand the Motorola S-record file format easily - specially useful if you are developing software to parse .mot file. The diagram was based on the data presented at:  http://www.amelek.gda.pl/avr/uisp/srecord.htm A4 Landscape PDF File of the above diagram is here . I have also made this diagram available on Wikimedia Commons here  and have embedded it in the SREC article on Wikipedia.

Linear Barcodes

Barcode scanners are fun, got my hand on one of these to catalog my book collection on librarything.com . Its easier to create the collection by scanning off the ISBNs off of books. The one I use is iBall CS-153 Linear Barcode Scanner Here is a random list of barcodes I scanned off of various products around my bedroom. LUSDJ0D165050038A11601  4718235227159 8904149401006 8903539010200 8901124715332 9788184890266 9781408809594 9780595142361 9780007428052 9780743440295 9722121221225 LXPG40C0269290B9161601  92904738216 SA00000183A 4902430281232 355067048902647 HT13XTJ26185 99HMN005-00 4710937348842 205000001519991 W1255ZCZC00072R 884912116505 8901499006653 037000230151 8901491503051 8901491104555 8902080504060 8902570801860 8901138714550 8901424008332 8901396465003 8901030207068 8901023005800 8901396144007 8901396112136 8902570801471 4902430354332 8901396151258 8901571001248 8901012155035 8901393004700 89000816 8901207900839 8901233008011 8901063004023 8901063035034 8901876001035 SL

Open Source within Plain Sight

Now days lots of consumer devices use lots of open source software. For example Samsung's GT-E1175 GSM Cell phones uses the following open source software: Independent JPEG Group Independent JPEG Group is an informal group that writes and distributes a widely used free library for JPEG image compression. homepage and source code Newlib Newlib is a C standard library implementation intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. wikipedia entry  | homepage and source code Challenge Handshake Authentication Protocol In computing, the Challenge-Handshake Authentication Protocol (CHAP) authenticates a user or network host to an authenticating entity. wikipedia entry (theory)  | RFC1994 | source code MD5 Message-Digest Algorithm The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit (16-byte) has

The thing about memset(), memcpy() & memove()

Came across these two pieces of advice regarding the use of these library functions in C: DO use memmove() instead of memcpy() in case you're dealing with overlapping memory regions. DON'T try to use memset() to initialize type int, float, or double arrays to any value other than 0. More details here .  If you are an embedded C programmer, its worth a read.