busy busy Monday.
By timatworkhomeandinbetween on Mar 21, 2005
A busy weekend as ever, ferrying children, tidying up, gardening. Saturday was a nice day 22 degrees so I walked the mutts early before it got warm, we went though the lanes by the deer park then back though Farnham park, really nice. I got the PIR activated camera all linked up to the video ,kids enjoyed watching themselves. No news on our dog lover, although I have eliminated all but 3 houses nearby. The camera is on wall with a 10 metre cable to a little control box, then there is a scart cable from the control box to the video's in port, and an infrared tx/rx that you position in front of the video unit's IR receiver. Then using the simple menu you teach it video commands like on/record/stop/standby and thats it, really easy to use. My mp3 sticks' usb interface stopped working so that is useless now - I've been listenning to Yes and Placebo on the ride to work, guess which one in which direction?
At Work.Lots of escalation work, nothing memorable, just more cases of picking the right debugging tool for the problem. I wanted to see if I could use the fabulous libusb that is there in solaris 10 to access my Logiteck webcam, so I read the libusb guide /usr/sfw/share/doc/libusb/libusb.txt and wrote some code that just walk the buses /devices /interfaces /configurations printing all the data structure elements as it went. Running that with the webcam inserted allowed me to see that it had 3 usb interfaces, one is the usb video chip, the second is the mute button and the third is a raw audio stream.
On a sunray you plug it in and the system creates your own /dev structures under $UTDEVROOT, but on a non sunray device you have to use add_drv to bind the usb vendor id/product id to the ugen driver. The flaw in all of this is that all 3 usb interfaces on the web cam claim to be ISOCHRONOUS which is the one interface type that ugen/libusb don't support. Time to write a driver then.
I have a theory about troubleshooting that I describe as the "meta information" contained in a seemingly useless error message. There is the obvious information contained in the message which if it is from a glob of software is probably of little use unless it was from my code ;-) but there is much more information to be gained, the fact that the code emitted the message means that you can identify a point in the code and probably a series of conditionals that lead to that point, and if the error message has printed out values then there is much value in understanding what these are, how they are gathered and used. The theory of course would be of no use if we had a messaging standard. When I write code I try produce meaningful messages that tell you what component is producing the message, why you are getting the message, the severity of the message and more importantly what the reader can do about the message.
30 miles in the smart, another tank of petrol, still only 175 miles on 15 litres of petrol.
15 miles on the bike, Friday last week was so nice I went home at lunchtime and went back to work on the bike. Now its warm I ditched the waterproofs and crud catcher style mudguards, roll on the time change in a week or so as it will become lighter in the mornig and hour later ( 6am) and it will be lighter for an hour longer ( 7 pm) so no lights needed!
Why a smart car is dangerous! Never ride anything with a brain
is one principle I live my life by, but it really should include don't
drive anything with a computer near the drivetrain. The smart car
in auto gearbox mode does a good job of changing up and down its 6
speed box, with just one fault. If you are slightly too slow for a gear
it will change down as you apply throttle. So as you roll up to a
roundabout, you look right - its clear so you cross the white line onto
the roundabout. Just at that moment a fastard flies onto the roundabout
( forgetting the bit in the highway code about giving way to people
already on it) so in fear you apply throttle and oh NO! it changes down
and that in smart car is a slow operation... You have to drive it like
a motorbike, change down early and go through the manouver at higher
than expected revs. Twice now it has scared me by changing down
slowly just at a bad moment.