User Manual

Fluke Corporation Telephone Facsimile Email
PO Box 9090 Everett WA 98206.9090 USA 425.347.6100 425.356.5108 http//www.fluke.com
TI - OAD Img Block Characteristic (UUID128
f000ffc204514000b000000000000000 )
Upgrade Process
1. Establish Connection between Slave and master.
2. Verify and configure connection.
1. Ensure connection rate is as fast as the master and slave will allow for.
2. Ensure that the slave has all the required services and characteristics.
1. Enable Notify on the <<TI - OAD Img Id>> characteristic.
2. Enable Notification on the <<OAD Img Block>> characteristic.
3. Check the running version in order to see which image to download.
1. Write 0x00 to <<TI - OAD Img Id>>. If we get "0x00" back, then Write
0x01 to <<TI - OAD Img Id>>.
2. <<TI - OAD Img Id>> Now has the block identification information in it.
Size
4 Bytes
2 Bytes
2 Bytes
Name
Image ID
Image Size
Version
Image ID is 4 copies of either a ASCII 'A' (for Image A), or
ASCII 'B" (for Image B). This is the currently running
image on the RF Module.
Size is the size in bytes divided by 4 for the running image.
Version is the image version.
Example: "424242427C000001", Image is A
(0x42,0x42,0x42,0x42), Size is 0x2700 * 4 = 126976
Bytes, ID = 0x0001
If Image A is running, then we can update Image B. If Image B is running,
we can update Image A.
3. Start the download.
1. Get the OAD Summary line (see the line read above from <<TI - OAD Img Id>>)
for the new Image from the raw binary file, and send this to the <<TI - OAD Img
Id>> characteristic.
Open the Raw Binary file, skip the first 4 bytes, and then read out the next
8 bytes. These 8 bytes are the Image Block Identification for this file.
Doing this write starts the upgrade process on the Radio, when the radio is
read to get data it will notify to <<OAD Img Block>>
4. Write each block to the slave.
1. Take the entire Binary file (including the skipped first 4 bytes, and 8 bytes of
Image Block Identification), and break it into 16 byte blocks.
2. Number each block sequentially, starting at 0x0000.
3. When the Slave notifies us with a 16-bit number, that is the ID of the next block
that it wants. (so when we get 0x0000, we should send block 0x0000).