# How can CRC16 XModem accept Hex Input

**URL:** <https://discourse.nodered.org/t/how-can-crc16-xmodem-accept-hex-input/72466>\
**Category:** General\
**Tags:** function-node\
**Created:** [20 December 2022 12:41 UTC](https://discourse.nodered.org/t/how-can-crc16-xmodem-accept-hex-input/72466 "2022-12-20T12:41:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Adel](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@Adel](https://discourse.nodered.org/u/Adel)\
**Post date:** [20 December 2022 12:41 UTC](https://discourse.nodered.org/t/how-can-crc16-xmodem-accept-hex-input/72466/1 "2022-12-20T12:41:54Z")

</div>

I'm use CRC16 XModem as shown in the flow but getting wrong Result, Where it use ASCII Inputs and I need to use it as Hex Input.

For Example the below flow result is 9f8e but the expected result is 834A

 ![Screenshot 2022-12-20 230729](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/e/6e5736e8dae391c2923f97fae5adeed8281a2b5e.jpeg)

[flows (4).json](https://discourse.nodered.org/uploads/short-url/oOmx1xqKJDhbdsJSoXM1RPagL8Z.json) (5.7 KB)

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [20 December 2022 23:06 UTC](https://discourse.nodered.org/t/how-can-crc16-xmodem-accept-hex-input/72466/2 "2022-12-20T23:06:56Z")

</div>

Here is a demo using easy-crc node package

Example...  
 ![chrome_d6AT7LUCMp](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/5/b5d34ef8ee9ca75459a7e29cda84838969c9e1d6.gif)

Demo flow...

```auto
[{"id":"e2beeb574d982801","type":"inject","z":"cba04618014a760c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"},{"p":"type","v":"hex","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"calculate","payload":"8500A9000002005202","payloadType":"str","x":1950,"y":80,"wires":[["4bf21b40a1445e15"]]},{"id":"4bf21b40a1445e15","type":"function","z":"cba04618014a760c","name":"xmodem crc16 (easy-crc)","func":"//See https://www.npmjs.com/package/easy-crc?activeTab=readme for list of supported algorithms\nconst { crc16 } = easyCrc;\nconst data = Buffer.from(msg.payload, 'hex');\nmsg.payload = crc16('XMODEM', data);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[{"var":"easyCrc","module":"easy-crc"}],"x":1890,"y":140,"wires":[["25cd665db5eaa0d9"]]},{"id":"25cd665db5eaa0d9","type":"debug","z":"cba04618014a760c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":2110,"y":140,"wires":[]}]

```

---

<div class="post-metadata">

**Author:** ![Adel](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@Adel](https://discourse.nodered.org/u/Adel)\
**Post date:** [20 December 2022 23:46 UTC](https://discourse.nodered.org/t/how-can-crc16-xmodem-accept-hex-input/72466/3 "2022-12-20T23:46:56Z")

</div>

Wow, Thanks for your Support its working 😊

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [3 January 2023 23:47 UTC](https://discourse.nodered.org/t/how-can-crc16-xmodem-accept-hex-input/72466/4 "2023-01-03T23:47:13Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
