adccommunitymod (AutomationDirect) asked a question.

Help proccessing incoming data

Created Date: June 12,2015

Created By: brine

**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****

Hello all I wonder if someone could enlighten me on incoming data I am receiving from a keypad to a DL06. When I enter a value of 1000 and hit send (with this keypad I press #) the data shows up as 1F401 (Hex)? Thru experimentation I converted the Hex number to decimal then divided by 256 then multiplied by 2 as shown below in the following examples. 1000 entered at keypad shows up as 1F401 (Hex) convert to decimal equals 128001 / 256 = 500.0039063 then multiply by 2 gives 1000.007813. 2000 entered at keypad shows up as 3E801 (Hex) convert to decimal equals 256001 / 256 = 1000.00390625 then multiply by 2 gives 2000.007813 3333 entered at keypad shows up as 68202(Hex) convert to decimal equals 426498 / 256 = 1666.007813 then multiply by 2 gives 3332.015625 (Wrong). Does anybody know what’s happening? I don't. Any help would be appreciated. brine


  • adccommunitymod (AutomationDirect)

    Created Date: June 12,2015

    Created by: Do-more PE

    What kind of keypad is it?

  • adccommunitymod (AutomationDirect)

    Created Date: June 12,2015

    Created by: plcnut

    It is hard to know without more numbers to compare, but...

    If bit 1 is on (base 0), then do a binary shift-right 7 bits, and turn the lsb on.

    If bit 1 is off, the just binary shift-right 7 bits.

    This works for all examples shown. If you had a manual for the keypad, them I am sure there is a logical explanation, and protocol description in it.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: August 07,2015

    Created by: brine

    Problem solved

    It turns out the last bit received was a parity bit.

    It was difficult to get this info because the supplier in question is in China.

    Once we found out about the parity bit we were able to solve the problem

    Thank you for your input

    brine

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: June 12,2015

    Created by: brine

    Hello all

    I wonder if someone could enlighten me on incoming data I am receiving from a keypad to a DL06.

    When I enter a value of 1000 and hit send (with this keypad I press #) the data shows up as 1F401 (Hex)?

    Thru experimentation I converted the Hex number to decimal then divided by 256 then multiplied by 2 as shown below in the following examples.

    1000 entered at keypad shows up as 1F401 (Hex) convert to decimal equals 128001 / 256 = 500.0039063 then multiply by 2 gives 1000.007813.

    2000 entered at keypad shows up as 3E801 (Hex) convert to decimal equals 256001 / 256 = 1000.00390625 then multiply by 2 gives 2000.007813

    3333 entered at keypad shows up as 68202(Hex) convert to decimal equals 426498 / 256 = 1666.007813 then multiply by 2 gives 3332.015625 (Wrong).

    Does anybody know what’s happening? I don't.

    Any help would be appreciated.

    brine

    Expand Post