Sunday, July 24, 2016

Blogger Spring Cleaning

We have a habit of dumping things around, making a mess. It looks okay for a while but then one day you realize that the clutter has become intolerable. So you get a broom, a brush or anything that can help you with a bit of spring cleaning.
I recently cleaned up this blog. I cleared the older bloated theme and re-applied simple theme with only solid color as background.
Next I cleaned up the post labels. The label cloud on the top right is much cleaner now. I removed unnecessary labels and applied a bit of generic sauce to label names.
I have also adjusted the widths so they better suit a 16:9 widescreen display. Overall this site has become much better.

Dam Storage in Maharashtra

Sakal maintains a page which shows current Dam storage in maharashtra. Good for a look.

Tata DOCOMO Photon Max WiFi Data Card Review

5 Oct: I have been using this WiFi dongle and don't have positive experience. It almost never auto-connects. The network signal keeps fluctuating between 2-3 bars. I have to place it in a window to get decent signal of steady 3 bars. And I can do so since I have a power bank into which I plug this thing.
The utility of this is good since you get WiFi for upto 5 devices. But the experience is crappy.
Well, I guess I'll use it for a year so that I feel like my money is not total waste. Then I'll ditch it for sure.
Since I moved to new place which was six months ago, I have been surviving on need basis small internet packs. They worked fine for things like paying electricity bills, checking mails and occasional browsing. But with three internet devices( two smartphones and one laptop) and two concurrent users (me n wife), I had to get some kind of better solution.
First I thought I would be able to get cable broadband, but local cable provider turned out lazier than ever and after a fortnight of follow-up I gave up on the idiots. So started search for other options. But after numerous calls and hearing a number of NO's I finally decided on getting a data card.
There also I didn't get many options. I had previous experience with Reliance and knew they were crappy. So thought to try out Tata Docomo. After browsing their website, I decided to go with their "photon max WiFi" solution.
This is CDMA solution with Rev B giving about 6-8Mbps speeds (if you are lucky and get good range, otherwise it's CDMA Rev A 153kbps speeds.)
The basic unlimited plan is INR700/- for 2GB fast data and unlimited data past that at 153kbps. Crappy deal but that's the best I could get. Compare that with airtel / Idea whose unlimited data speed is 40/20 kbps. Bah!
Plus I invested INR1999/- in their Wi-Fi data card. I know it sucks but it's not a loss till I get reliable connectivity. Also one good point of this particular data card is it's roaming free. So if I get out then I could take it with me and still enjoy decent speeds.
It's about a week since, and I am getting average speeds. The broadband speeds are not going to be this things specialty so I am thinking if this provides me decent uninterrupted connectivity even that's enough.
I'll update this review as and when possible.

A tryst with UDS Pt. 2

In Pt 1 we took a look at what is UDS. Lets see what it took me to integrate UDS with existing firmware.
We got hold of readymade UDS library which contained partial implementation of UDS. So I had to import the C sources into existing firmware code. Then debug them. And integrate UDS transport layer with eCAN module.
At the same time since we did not have any kind of tester available I ended up writing a small tester application in C++. This application would enable me to verify that the integration of UDS library is correct.
One clever hack I did was get the integrated firmware running somewhat on desktop and then replaced eCAN code with VCAN code (Linux Virtual CAN - socketCAN ). This way I got rid of hardware dependency, or otherwise it would have taken me months to test everything. As it is with this desktop version I was able to speed up the integration and finished it up in about a fortnight.
After I verified that the UDS transport layer is working fine and is indeed complete, I went through the application layer. In application layer I found out that most of the services are left as empty stubs and so another herculean task started. This is implementing all the services as per firmware characteristics. And it goes on till date as of now one month since with about six services implemented.

Saturday, July 23, 2016

A tryst with UDS Pt 1

UDS stands for Unified Diagnostic Standard. It's a diagnostic standard used for Vehicle diagnostic and is part of both Autosar architecture and OBD(OnBoard Diagnostics).
According to 7-layer ISO OSI networking stack, UDS application and transport layer is defined in ISO 14229 and 15765 documents. Integrating UDS in a firmware means you develop UDS transport and application layers over base transport layer like CAN/LIN/ FlexRay etc.
The first part of all this is understanding UDS layers. Lets assume underlying transport is CAN bus. In UDS transport layer over CAN, ISO 15765 standard defines the CAN frame timing and structure. In ISO 14229, UDS application layer over CAN, the UDS services are defined. These are 30+ services that operate on request-response basis. The services are defined by a 1-byte identifier like 0x22 ReadIdentifierByID or 0x2E WriteIdentifierByID.
A tyical UDS transaction looks like a request with service ID and respected data. To this request UDS server responds with response ID and response data.
There are couple of specific terms in use here. One is Tester or Diagnostic Tester. This is the UDS client. The UDS server component is integrated into the vehicle firmware. Lets call it the UDS Server.
A typical UDS transaction on CAN looks like:
Request: 03 22 F1 95
Response: 07 62 F1 95 04 03 02 01

Here this response is positive response. The four bytes after F1 95 is the response. First byte always contains the length of the UDS frame. For a positive frame the request service identifier is added 0x40 and sent in response.
This is basic of UDS. Lets take a deeper look in further posts.

Tuesday, July 19, 2016

VNC on android

Recently I wanted some task performed for an app which meant I had to type in quite a bit of data on my phone. Now using a real keyboard is always preferable. So I tried to share the screen of my android phone with my PC and tried performing some typing.
There are two ways for this: 1. USB Debugging connection 2. VNC
I tried to use USB Debugging first thinking it would give better (ala faster) experience. I even found couple of apps on play store. But was soon bogged down in details of supporting apps, rooting etc. So I discarded this approach for another day.
Next I tried a number of VNC servers. The problems is most VNC software in play store is VNC Clients. But finally I found Alpha VNC and this is a good vnc server. I started the program. It has a nice round button with Start as text. Tapping this started the VNC server and it showed the connection details. I have the mobile connected to my desktop via USB Tethering so they are on same network. Next I fired up Remmina on ubuntu and entered the VNC connection details(IP and port) and connected.
The connection was good, no stuttering etc with medium details. The problem was not with VNC but with android's heavy dependence on touch usage. I could use the keyboard quite proficiently but many touch gestures needed for navigation meant I had to reach to phone for app switch, notification access etc.
But it helped me quite a bit with the typing and I guess that's all I needed.
Quite an experience though.

Tuesday, July 12, 2016

Honor 5X experience

My wife needed a replacement for her aging xperia SP. It didn't have much internal storage and that caused her much pain. Since it was about three years old, I thought we should get a new one.
While checking out various phones I came across an exchange offer for Honor 5X and with exchange it was in our budget. So we got ₹1700/- off and got the phone for ₹11050/-.
It worked fine for three weeks and then the SD card slot died. Thankfully I had 30 days replacement and I ordered a replacement since it's otherwise a nice phone. Also couple lf my friends own Honor devices and they have had great experiences.
So the replacement is coming soon. Then maybe I'll do a thorough review for that.
Meanwhile my wife is using my old Are Blade C which has been my backup phone for last two years. It's battery gauge is shit, but otherwise it's a fine backup device.

Tuesday, July 5, 2016

Back to Windows 7

I was using Windows 10 for last six months. But then all of a sudden the wifi died. And no fix to it too.
So I just dumped it. Went back to Windows 7. And now my Bluetooth is working too.

Nubia Z9 Mini

I wanted to upgrade from a redmi 1S. It was October'15. I had redmi 1s for about a year. I was not happy with redmi. It was heavy, battery backup was not sufficient. The camera photos were great but it also heat up. So I sold it off for 3k and started hunting for a replacement.
Soon I got an opportunity in Amazon's sale. And so I managed to snatch Nubia z9 mini for 11.5K. It's good price for a phone retailing for 17K.
It's more than 8 months and I have some things to observe. Let's go over them one by one.
Telephony: The speaker is decent. Loudspeaker gets muffled sometimes you hold hands over the bottom since that's where the opening for the speaker is. Earphones are good and opposite side can hear you clearly. One thing to know it this phone supports only nano sim card so I had to cut my existing Sims to nano sim. Being the adventurous type I managed it with a scissor and a nail cutter. (Don't try this youtself - you may damage the tray, or sim slot)
Display: The 5" FHD display is sharp and bright. The colors are good and the original ROM gives option to change colors a bit from soft to glow etc.
Storage and RAM: 2GB team and 16GB rom is good enough. I ended up putting in a 8GB micro SD card in since I had one lying around. On storage front it's good enough. You won't be hurting for storage if your use is average and your music collection only few gb's.
One good thing is SD card slot is behind back cover so it can be easily replaced.
CPU performance: people would say snapdragon 615 is slow. Buy for 10K it's fast enough. Anyway for Android the real bottleneck is there RAM. And 2GB of it takes care of any and everything.
Battery life: stock ROM gives about a day. Mokee marshmallow gives one and half day.
Camera: The 16MP back and 8 MP front camera may sound like overkill but they shine. The back camera can take some awesome photos. Especially macros if your hand is steady. Our get a tripod Fromm Amazon. The front can is also good and I'm daylight the front photos look like photos taken from any other phones back camera.
Audio: original ROM supports Dolby sounds but have found it out to be gimmick. But normal audio is very good. It can easily drive my sennheiser HD 439.
Software update: I had only one update in about four months and there was word of lollipop 5.1.1 update. So I hunted down for some Roms. Managed to find a good one BH name of Mokee!
So these days I'm marshmallow 6.0.1. it's a kick ass ROM. Fluid performance. One and half day battery life. Overall great.
So I got my money out of this purchase. Thanks Nubia for making such a good phone.
Negative points:
Front doesn't have glass protection. Buy it comes with screen protector applied. Back looks like glass but it's pretty plastic and gets scratched easily.
Another problem is back camera lens is not well protected so father's lots first and may get scratched even.
I had to get a transparent case for this. Cost me ₹150. But worth the investment.