TI Connect for OS X 1.7 is available!

This week TI Connect for OS X, version 1.7, was finally posted and made available on the TI website ( I've been waiting a while for this release to finally be made available. The major feature of this update over the previous one is that this release is a universal binary, running natively on either the PowerPC or Intel Macintosh architectures. I did most of the work on this a couple of years ago, but in the past couple of months, the pressure finally built to the point where it had to be released. A few tweaks here and there to finalize features, and get it through testing, and now its available!

There are a few other new features (such as contextual sending of calculator files via the Device Explorer (so we have a UI to show progress of sending; a major improvement over past contextual file sending where no UI was provided). The Data Editor now includes GDB and Window/Range variable viewers (not Editors), and on Intel machines running 10.4 or better, Quartz is used for image manipulation (screen shots, etc). Other past issues resolved in this release include problems with downloading apps and OS updates via TI Software Update from the TI Online Store (the infamous "Invalid Product ID" issue for one).

This version of TI Connect runs on Mac OS X 10.3 and later only, and the download is about 8.5MB. This release is currently in BETA form pending final release testing.

Whew! I've been busy...

Work is crazy right now... too many hours, too much to do, and no time to do it. The project is nearly complete, but there is still a lot left to do to get everything working.

My 9-Ball team is in playoffs right now; we won Monday night so are in the Division finals this coming Monday... and we get to play the same team we played the finals against last session! It's an All-Drinks Saloon final in our 9-Ball division!

I've got my old 8-Ball team put (pretty much) back together and we'll be starting in a couple of weeks. I also have my summer travel all booked and planned... as usual, Washington state for about a month... Happy

There have been a few people look at my house; but no offers as yet. I hope soon... Winking

Well, Friday @ Drinks, and I'm updating websites. Have to go back and tweak the Drinks website a bit to add the latest message from Joan...

PICTs, PNGs, and bitmaps

I spent a lot of time working through the issues of replacing the use of PICTs (Macintosh image format) with other standardized image formats this week. As I have written before, Apple has deprecated (made obsolete) the use of most of the Quickdraw imaging and drawing APIs in the Macintosh, effective in OS X 10.4. While they're still supported, they could go away at any time; so... I had to come up with another way of translating calculator screen images (which are simple bitmap byte arrays) into something displayable on a Macintosh, and able to be moved around the network. To do this, I'm using the new Quartz 2D API in Mac OS X. I can now create images by "painting" the pixels. I also found another way ( looking at some code written by another engineer ), but that method had the bad luck of not being able to translate from a core image in Quartz to anything other than a 1-bit deep TIFF image. I needed to be able to move from calculator screens to TIFF, GIF, PNG, and JPEG. My "painting" a color image from the pixel map seems to work for this capability.

Going the other way is a bit trickier. I came up with a method of taking the bitmap data from the various image formats and parsing through them to figure a threshold value for translating a potentially color image into a black and white bitmap. I've currently set the threshold at about 38% of black vs white. So far, it looks pretty good.

I've also been working with a few other things that are new to this release. Getting the software ready for the new Intel-based Macintosh systems means I've had to go through and fix a few data structures that are passed around the system via Apple Events. Contents of the data structure have to be stored in a fixed format to deal with "endian" issues. So, enter Core Endian "flippers". I've got one written to deal with the calculator directory structure that gets passed around. From preliminary testing, it looks like its working as advertised.

Next week, I'll be getting ready to start work on another project (part-time) that needs my expertise and ability. Back to my roots in embedded work and, unfortunately, back onto a Windows-based platform for developmental tools for this project. Oh well... necessary evil I guess... Happy


PICT versus PNG

One of the things that has changed in OS X this year is the deprecation of nearly everything PICT in the OS. PICTs have been the basic system representation for images on the Mac since the beginning. Quickdraw (used to make PICTS) was the default drawing environment. When OS X came along, the basic internal drawing is now done with Quartz, rather than Quickdraw. This change moves the drawing environment from a bitmap oriented system, to a "paint" style system.

So, what does this mean to TI Connect? TI Connect captures calculator screen images (which are very simple "bit" images, bit on, pixel on, bit off, pixel off. Internally, these have always been converted to a PICT using offscreen drawing techniques in Quickdraw. With the advent of PICT and most Quickdraw stuff being "deprecated" in OS X 10.4 (Tiger), TI Connect is going to need a new way of doing this work in the next update.

After a little discussion, and a lot of research, I'm moving the internal stuff to use Quartz when 10.4 is detected (PICTs and Quickdraw will still be used on 10.2 and 10.3). Basically, to make a Quartz image of the calculator screen, I paint a rectangle of an appropriate size all white (or green, if colored screens are wanted), and then paint a bunch of black "pixels" (a 1 x 1 rectangle) on the canvas. The resulting image is then converted to a PNG and passed around in that format. This appears to work pretty well so far. But of course, Friday rolled around, and I came up with another issue. We've historically had the ability to send images back to the calculator as well, in calculator-native formats. This was done with, you guessed it, PICTs, as an intermediary format, and extracting the bits out by copying the image data into a one pixel-depth (black and white) image. So, with PICTs basically gone for all intents and purposes, I'll need to design a new way of doing this next week. I've already got some ideas. I'll just have to see if they work out! Happy

I've also got to spend some time next week to get our automated build system back up and running, now that I've had the source for all my projects moved from my "personal" CVS server over to the departmental build machines and their CVS servers. Hopefully, it'll be a fairly straight-forward move. Then, I can start thinking about the new process we'll have to use for the upcoming TI Connect release (which should be a "universal" binary image). If you want to know about what this means, go over to Apple's website and read up on it!

TI Connect - the next generation

This week at work, I spent some time going over the list of features that are still not implemented in TI Connect for OS X (I have a LOT of features I'd really *like* to implement; some will be, other's won't). I added in several "viewers" for types of data that we did not have editors already implemented for, and also reworked the auto-refresh feature of the screen capture. I didn't really like the way it worked before as it was somewhat susceptible to timing out on the capture, and then, just stopping the capture sequence. Sad

I'm still not sure when the next update will be approved or shipped (we're talking some months here for sure), but I've got plenty of things to work on in the software; new features, modifying older features, updates and corrections, as well as dealing with the changeover to the new Intel architecture announced by Apple at the 2005 WWDC. Bottom line; I'm having fun with this stuff and still really like my job after all these years (just made 23 years at Texas Instruments this year) Winking

TI Connect for OS X News

This week, I finally was able to release my latest product at work. This latest update to TI Connect for Macintosh OS X, version 1.6, supports Apple's latest OS X version, 10.4 (Tiger).

Our earlier 1.1 release had issues when running under Tiger in that it couldn't identify an attached device. The background TI Connect Manager had no trouble finding and identifying the device, but the front-end applications like TI Device Explorer had trouble matching up those devices to what it could recognize.

Along with that issue, I fixed over 150+ other issues as they were found during software test. All this in a period of about 6 weeks... it kept me busy for sure!

I'm pondering doing something here on my website along the lines of a "tips and hints" for using some of the more esoteric features that TI Connect provides. There are lots of cool features in the application that deserve more than just a line or tool in a help file without going more in-depth. I might even start a podcast with different short episodes on how to access and use some of these advanced TI Connect features. Who knows?