TUTOR HOME |
HELP | BUY | CONTACT | ABOUT |
What's New in 1.02b |
It looks like 1.02b fixes a large number of significant bugs relating to CAN1, ftp, telnet, random reboots in the TINI network module, etc. The API has not changed in 1.02b, it is just a maintenance release. A complete list of changes is in file tini1.02b/docs/Changes.txt, included in the 1.02b release. It's worth reading - it's far too long to even summarize here. |
Assumptions and Tools |
I use Windows NT4, Windows 2000 Pro, and Windows 98, JBuilder 4.0, and a variety of STEP and TILT boards, with an 8x1-Wire board too. Our office network uses NT Server and a 10/100 ethernet with DSL to the outside world. At home I have a Windows 98 notebook with a PCMCIA ethernet card, a small 10 MBit ethernet, and DSL with DHCP. |
Download the 1.02b files from Dallas | |
Save the .gz tar file in a temporary folder - but don't install it right now. We have a big folder on our server called "incoming" with sub-folders such as "dallas\tini" where we store such things and keep an untouched copy of all such downloads. | |
TINI 1.02b files | Get the update from Dallas by clicking on the ftp link to the left. Anonymous login is supported. Report bugs to Dallas at www.tini.ibutton.com |
Break all references to older versions of TINI firmware. (Very important) |
Make all prior versions unreachable by changing the current folder name (in my case this was "tini1.02" which held the 1.02 files) to something like "tini102_obsolete". This breaks all my current paths and classpaths so that I cannot accidentally still be referring to an old version of TINI firmware. This step will save you a lot of very hard-to-solve problems. Incorrect path and classpath references can be very hard to debug and lead to mysterious build- and run- time errors. If you make such references impossible, you have dodged one bullet completely. Don't delete the 1.02 release folder yet, as you will need to copy some files from it. I usually copy mine to a CDROM and hang onto the hard disk version for several weeks to be sure there's nothing else in it I need. |
Install the new TINI firmware |
Use WinZIP or something similar to expand the TINI tar file into your system. I install mine on logical drive E: and tell WinZip to use folder information. This creates the folder E:\tini1.02b with sub-folders \bin, \doc, etc, just as they are stored in the tar file. Note: you are NOT installing the new 1.02b release over the top of the same root folder (tini1.02) as the prior 1.02 release. I'm updating from 1.02p3 to 1.02. Both of these release's tar files have a default folder of "tini1.02". Resist the urge to simply install the new 1.02 over the old 1.02p3. This is why we rename the old 1.02p3 folder first. This way you cannot have a mixture of new and old 1.02 releases in the same root folder. You don't want the old 1.02 files mixed in with the new ones! |
Copy some files from 1.02_obsolete to the new 1.02b folder |
The loader 0515.hex is not included in the 1.02b release, so copy it into the tini1.02b/bin folder. Copy over any modified OWAPI dependencies files into the new /bin folder. In my case I have modified it and renamed it to owapi_dep_bab.txt, and I want to retain that file. If you have any JavaKit or FTP macros, batch files, etc, copy them over. I am not a great typist so typically have a macro for anything I do more than a few times. |
Update JBuilder references to the new TINI firmware |
Jbuilder's JBuilder.config file, in e:\jbuilder4\bin must
have this line in the "addpath" area of the jdk.config
file. Note that this is JBuilder.config, this is a different
file than was changed in JBuilder4. Only the first portion of
the file is shown below in green with the additions in red. # Read
the shared JDK definition # add path
to TINI # Tune
this VM to provide enough headroom to work on large
|
Update any Windows System parameters (very helpful, often overlooked tip!) | |
NT4's System properties (Control Panel->System->Environment) lets you set parameters such as a global classpath and system path. I use this, here's what it looks like: | |
![]() |
|
I also add e:\JBuilder4\jdk1.3\bin; to the beginning of the PATH environment variable, so that from a command prompt, the JDK1.3 java, javac, javadoc, etc are the *first* "java" executables found. This avoids the common mistake of invoking a browser or Windows system "java" executable from the command line. | |
Win2000 has a similar feature in Settings->Control Panel->System->Advanced->Environment Variables. |
Screen captures of JBuilder required library definitions | |
These are so similar to 1.02, which was so similar to 1.02p3 that I did not repeat them. Please refer to the 1.02p3 screen captures to see what they look like. |
Install the new TINI firmware on a TINI module using JavaKit |
Save any important files on TINI first, since updating TINI firmware will clear the heap and all TINI files will be lost. I use a batch file JavaKit.bat to invoke JavaKit. I also create macro files to configure TINI's IP address and options. Here's the macro file, ip45.mac for our "public" TINI demo system. Connect your PC to TINI's serial0 with a straight (not null modem) serial cable. Start JavaKit (I just click on the batch file) and you should be able to select a comm port and reset TINI if JavaKit is properly installed (if not, try here for JavaKit install help). Now at the TINI loader prompt (your TINI must be the 0515 loader, if not you need to use JavaKit's File->Update Loader command first), use the JavaKit Load file menu and load tini.tbin (from e:\tini1.02b\bin). Then use the same procedure to load slush.tbin (from e:\tini1.02b\bin), this is the TINI command shell which includes ftp and telnet services. Here's a screen shot of that. You will see TINI's D1 LED blink periodically through the loading process. Still at the loader prompt, clear the heap with a B18 and F0 (that's F'zero', not an uppercase 'O'). Now type E to execute slush. You should see the slush version
as 1.02b: Now's a good time to load and then run the macro file to set up TINI's IP configuration, since all the ipconfig settings are cleared with the new update. Then I commit to flash memory with an 'ipconfig -C'. |
TiniTools |
At this time, TiniTools converts only "some" 1.02 .class to a .tini file. But the FTP Put and Telnet portions of TiniTools are usable even if you use a batch file or Ant to do the conversion. (Not familiar with TiniTools?) |
Make Shortcuts to the TINI and OneWire JavaDocs |
I like to have a folder with my various TINI tools, including
shortcuts to pertinent JavaDocs. The JavaDocs are in the same
places in 1.02b so the change is simple. TINI JavaDocs are at
For completeness, the Sun Java2 1.2.2 API JavaDocs are at
|
Build, upload and run a TINI Java App - with these steps |
|
Convert with BuildDependency |
Thanks to Kris Ardis at Dallas for a good method of passing a variable number of parameters to BuildDependency. Here's the batch file I use along with an enhanced dependency file. This lets me build with a command line such as: buildep Flasher4 10 12 ...which builds and converts Flasher4.class into Flasher4.tini, adding OneWire containers 10 and 12. Another option is to use TiniAnt (I still haven't tried this yet), from Sean Kelly. |