ive tried searching for the answer to my question and didnt find the answer.
the 12th digit usually says 1, and i know that to be imbe, but what if a unit has a 4 in the 12th digit, is that H4? ive read the beginning of the flash decoding word file but i really dont understand the "weighting" so im kinda at a loss, its something that has confused me for a long time. im concerned if im not reading 4=4 that the 4 in the flash could be a combination of lower number features.
example flash code 440101 000000-6
digit 12 says B4 = H15/H44 H15 is Astro Data/ H44 is VRM500 for MCS2000 only
ive seen a 12th digit with a 5 too, wich im assuming is a combination of features, but how to determine wich im not sure.
im interested in learning how you get the answer not just what the flash code means,
thanks
wazz
FLASH DECODING question (yes i have searched)
Moderator: Queue Moderator
-
- Batboard $upporter
- Posts: 751
- Joined: Thu Oct 04, 2001 4:00 pm
- What radios do you own?: XTS3000/astro spectra/
FLASH DECODING question (yes i have searched)
think about how to ENCOURAGE Motorola learning safely with GRACE.....NOT condemnation.
Re: FLASH DECODING question (yes i have searched)
You'll probably want to bone up on binary arithmetic to truly appreciate it, but here it is in a nutshell.
On current Motorola Flashport capable products, a flashcode is comprised of 6 bytes of data, represented in hexadecimal. To understand how this is done, you need to know the basics of binary arithmetic. Binary is a way of representing numeric information by using only two values, 0 or 1. This can also be thought of as off or on, respectively, so binary has no middle or "maybe" state, and it is for this reason that binary is the basis of modern computing. Because there are only two possible values in binary, it is called base 2 (as opposed to usual decimal arithmetic, called base 10 because there are 10 possible values for a single digit).
A bit is a single binary value, and a byte is 8 bits strung together, which when written out looks like this:
10101010
Each bit represents whether a certain power of two (remember base 2?) is on or off, starting from 2^0 on the right, going to 2^7 on the left. The right most bit is called the least significant, and the left most bit is called the most significant. So, the above byte, from MSB to LSB, would be equal to:
2^7 == 128 * 1 == 128
2^6 == 64 * 0 == 0
2^5 == 32 * 1 == 32
2^4 == 16 * 0 == 0
2^3 == 8 * 1 == 8
2^2 == 4 * 0 == 0
2^1 == 2 * 1 == 2
2^0 == 1 * 0 == 0
Thus, 10101010 encodes a number of 170.
You can see that the maximum value of a single byte is 255, and the minimum is 0. Unless otherwise noted, a byte is normally called 'unsigned', because it cannot represent negative numbers. You can look into using binary to encode a positive and negative range of numbers (called a signed byte), but that is outside the scope of this discussion.
So, you know what a byte is. Now we need to talk about hexadecimal a bit (if you'll pardon the pun). Remembering from above that binary is base 2, and decimal is base 10, understand that hexadecimal is base 16, and thus has 16 possible values for a single digit. They are 0 through 9, and A through F. Thus, each digit of hexadecimal can represent a value from 0 to 15 in decimal.
Since our example byte above exceeds 15 decimal in value, obviously we're going to need more than one digit of hexadecimal to encode it. The simplest way to do that, and germane to our discussion of how data is encoded in a flashcode, we split our byte into two. Classically, half a byte is called a nibble (clever, eh), so now we have two nibbles. If we follow the same principle as above, where each right-most binary digit is 2^0, and goes up by single powers from there, we have:
2^3 == 8 * 1 == 8
2^2 == 4 * 0 == 0
2^1 == 2 * 1 == 2
2^0 == 1 * 0 == 0
----
10
2^3 == 8 * 1 == 8
2^2 == 4 * 0 == 0
2^1 == 2 * 1 == 2
2^0 == 1 * 0 == 0
----
10
Remembering that hexadecimal has 16 values, instead of 10, we find that 10 in hex is 'A'. When we string our two nibbles together, we get AA.
Now you can see that each digit in a flashcode represents 4 bits (or a nibble), and thus combines 4 distinct on/off values. So, if the left-most (12th digit in the word doc) is:
1, then the bits are:
0 - H15 ASTRO Data / H44 VRM500
0 - G114 Enhanced Digital ID Display / H14 Enhanced Digital ID Display
0 - H260 250 Mode Capability (Models II & III)
1 - G806 ASTRO Digital Operation / Q806 ASTRO Digital Operation
... which enables only Astro Digital Operation
4, then the bits are:
0 - H15 ASTRO Data / H44 VRM500
1 - G114 Enhanced Digital ID Display / H14 Enhanced Digital ID Display
0 - H260 250 Mode Capability (Models II & III)
0 - G806 ASTRO Digital Operation / Q806 ASTRO Digital Operation
... which enables only Digital ID
5, then the bits are:
0 - H15 ASTRO Data / H44 VRM500
1 - G114 Enhanced Digital ID Display / H14 Enhanced Digital ID Display
0 - H260 250 Mode Capability (Models II & III)
1 - G806 ASTRO Digital Operation / Q806 ASTRO Digital Operation
... which enables both Digital ID and Astro Digital Operation
Hopefully this all makes sense. As I said before, I would encourage you to study further. Wikipedia as always is a good place to start.
On current Motorola Flashport capable products, a flashcode is comprised of 6 bytes of data, represented in hexadecimal. To understand how this is done, you need to know the basics of binary arithmetic. Binary is a way of representing numeric information by using only two values, 0 or 1. This can also be thought of as off or on, respectively, so binary has no middle or "maybe" state, and it is for this reason that binary is the basis of modern computing. Because there are only two possible values in binary, it is called base 2 (as opposed to usual decimal arithmetic, called base 10 because there are 10 possible values for a single digit).
A bit is a single binary value, and a byte is 8 bits strung together, which when written out looks like this:
10101010
Each bit represents whether a certain power of two (remember base 2?) is on or off, starting from 2^0 on the right, going to 2^7 on the left. The right most bit is called the least significant, and the left most bit is called the most significant. So, the above byte, from MSB to LSB, would be equal to:
2^7 == 128 * 1 == 128
2^6 == 64 * 0 == 0
2^5 == 32 * 1 == 32
2^4 == 16 * 0 == 0
2^3 == 8 * 1 == 8
2^2 == 4 * 0 == 0
2^1 == 2 * 1 == 2
2^0 == 1 * 0 == 0
Thus, 10101010 encodes a number of 170.
You can see that the maximum value of a single byte is 255, and the minimum is 0. Unless otherwise noted, a byte is normally called 'unsigned', because it cannot represent negative numbers. You can look into using binary to encode a positive and negative range of numbers (called a signed byte), but that is outside the scope of this discussion.
So, you know what a byte is. Now we need to talk about hexadecimal a bit (if you'll pardon the pun). Remembering from above that binary is base 2, and decimal is base 10, understand that hexadecimal is base 16, and thus has 16 possible values for a single digit. They are 0 through 9, and A through F. Thus, each digit of hexadecimal can represent a value from 0 to 15 in decimal.
Since our example byte above exceeds 15 decimal in value, obviously we're going to need more than one digit of hexadecimal to encode it. The simplest way to do that, and germane to our discussion of how data is encoded in a flashcode, we split our byte into two. Classically, half a byte is called a nibble (clever, eh), so now we have two nibbles. If we follow the same principle as above, where each right-most binary digit is 2^0, and goes up by single powers from there, we have:
2^3 == 8 * 1 == 8
2^2 == 4 * 0 == 0
2^1 == 2 * 1 == 2
2^0 == 1 * 0 == 0
----
10
2^3 == 8 * 1 == 8
2^2 == 4 * 0 == 0
2^1 == 2 * 1 == 2
2^0 == 1 * 0 == 0
----
10
Remembering that hexadecimal has 16 values, instead of 10, we find that 10 in hex is 'A'. When we string our two nibbles together, we get AA.
Now you can see that each digit in a flashcode represents 4 bits (or a nibble), and thus combines 4 distinct on/off values. So, if the left-most (12th digit in the word doc) is:
1, then the bits are:
0 - H15 ASTRO Data / H44 VRM500
0 - G114 Enhanced Digital ID Display / H14 Enhanced Digital ID Display
0 - H260 250 Mode Capability (Models II & III)
1 - G806 ASTRO Digital Operation / Q806 ASTRO Digital Operation
... which enables only Astro Digital Operation
4, then the bits are:
0 - H15 ASTRO Data / H44 VRM500
1 - G114 Enhanced Digital ID Display / H14 Enhanced Digital ID Display
0 - H260 250 Mode Capability (Models II & III)
0 - G806 ASTRO Digital Operation / Q806 ASTRO Digital Operation
... which enables only Digital ID
5, then the bits are:
0 - H15 ASTRO Data / H44 VRM500
1 - G114 Enhanced Digital ID Display / H14 Enhanced Digital ID Display
0 - H260 250 Mode Capability (Models II & III)
1 - G806 ASTRO Digital Operation / Q806 ASTRO Digital Operation
... which enables both Digital ID and Astro Digital Operation
Hopefully this all makes sense. As I said before, I would encourage you to study further. Wikipedia as always is a good place to start.
-
- Posts: 930
- Joined: Fri Jun 23, 2006 11:21 am
Re: FLASH DECODING question (yes i have searched)
And remember there are only 10 types of people in the world...
Those who understand binary, and those who don't....lol
Those who understand binary, and those who don't....lol
Re: FLASH DECODING question (yes i have searched)
Nicely done akardam. I'm going to steal .... er ... incorporate some of your explanation into a training doc I've written that helps new techs understand how to decode a four byte hex status word on a specific piece of equipment we maintain. 00000000 is displayed, but you think of it as 00 00 00 00 hex which you first convert to bin - 00000000 00000000 00000000 00000000, and then read the bits set in the different bytes from the OEM decode list. All the OEM did in their manual was list the relevant bin bytes incrementing through the possible bits set with a description of the status. So if status displays 00040000, then you want to look at the second byte and read about 01000000 which is a modem loopback failure. Everybody thumbs through the book looking for a discussion on 0004 and never find it. Or they find four descriptions of 01000000 and don't know which one it is. I like how you worded some of your explanation. Consider it absorbed.
-
- Posts: 930
- Joined: Fri Jun 23, 2006 11:21 am
Re: FLASH DECODING question (yes i have searched)
I guess I did forget to mention that that was another fine write up by our resident flashcode guru!