Version 4.0 - March 2026
This release was developed using the HART 7.9 Protocol Specifications and the following Test Specifications:
FCG TT20001 Revision 6.0
FCG TT20003 Revision 5.2
FCG TT20004 Revision 8.0
FCG TT20008 Revision 1.0
FCG TT20011 Revision 1.0
Also refer to FCG PD10316 for HART-IP Registration and Test Procedures
Preliminary documents are available in Workspace
Released Test Specifications are available on our ShareFile for members.
Major Updates in Version 4.0:
New Test Cases:
Universal Command Tests:
UAL011C
Common Practice Command Tests:
CAL040A
CAL040B
System Updates:
Linux OS
New hardware platform
Known Issues
Known issues at the time of release are included below. If additional notable issues are found with this version of the product, they will be added to this log for reference with the date they were reported.
| CR/Bug Number | Component | Summary | Reported Date (MM/DD/YY) | Workaround |
| 2385 | CAL526A | Updated Test Specification | 01/01/2026 | Article |
| 2841 | CAL053 | Updated Test Specification | 01/01/2026 | Article |
| 2842 | UAL011A | Updated Test Specification | 01/01/2026 | Article |
The following CRs were resolved in this release:
Data Link Layer Tests
| CR/Bug Number | Summary |
| 1473 | All Tests: Data Link layer System Calls updated for added security. |
| 1537 | All Tests: Updated QAS scripts to run with HTEST in Ubuntu 22.04 LTS. |
| 1582 | All Tests: Updated post processing for Ubuntu 22.04 LTS compliance. |
| 1607 | All Tests: Updated unsigned int to uint32_t for OS standardization. |
| 1661 | CheckReadyForBurst: Abort the test if the Device Profile >= 64 and change fail string to abort. |
| 1681 | DLL024C: Updated test case to send Command 20. |
| 1693 | DLL011: Added failure point 729 to ensure 25 Command 17 ACK's were received and removed Command 6 from being sent at the beginning of the test. |
| 1699 | All Tests: Updated the test automation to only allow testing for HART 7 devices. |
| 2082 | DLL001E: Update test to send command 1 with invalid preamble character and add clarity to failure point message 607 & 608. |
| 2246 | DLL028B: Add fail-safe termination for Non-compliant device behavior. |
| 2252 | DLL001C, DLL001D, DLL001E, DLL001F, DLL002, DLL003, DLL006, DLL007, DLL022 : Update TC to use get_device_type instead of get_mfgr_id where possible. |
| 2268 | All Tests: Reformat result string and improve final result. Added a details section before RESULT. Remove pass/fail result from checkconnection, terminateserver, burstoff applications. |
| 2303 | DLL041: Update test case to run for 100 iterations. |
| 2355 | DLL011 & DLL028B: Enhanced to account for multiple dribble bytes between messages. |
| 2388 | Incorporate the TP-DLL Master test case enhancements into the Data Link Layer. |
| 2413 | DLL035: Failure Point 889 update reported preamble count. Failure Point 889 will be issue if the Byte Count to 3. |
| 2432 | All Tests: Update Header to report Maximum Number of Device Variables. |
| 2466 | DLL039A: Port FSK to the Data Link Layer Architecture to Support All Systems. |
| 2597 | DLL010: Change fp 717 to fp 716 to reflect the change in the test spec. |
Universal Command Tests
| CR/Bug Number | Summary |
| 1459 | UAL014: Update Private Label To Be Read By Command 0 and Remove FP 347. |
| 1472 | All Tests: Application Layer System Calls updated for added security. |
| 1602 | All Tests: Update Application Layer for Ubuntu 22.04 LTS compiler compliance. |
| 1608 | All Tests: Updated unsigned int to uint32_t for OS standardization. |
| 1618 | All Tests: Added connection assignment due to compiler enhancements for -c |
| 1629 | UAL009: Improved Write Protect message prompt for clarity. |
| 1675 | UAL011B: Updated the test case to follow the latest test specification. This includes updating the comparison of SV, TV, QV of Command 9 and Command 3 to only compare using the 2's compliment equivalency comparison of a float. Timestamp checking was moved to UAL011C. User Interaction was removed from the test case. By default SV, TV and QA unit codes are set to 250. |
| 1676 | UAL009: Add Failure Point 2902 to the test case. |
| 1692 | All Command 9 Tests: Updated CheckSlots to verify all slots supported by the device. |
| 1695 | UAL011A: Added device variable and byte count verification logic for FP 3215, 3216, 3225, 3244, 3250. |
| 1698 | All Tests: Only support HART 7 device testing. |
| 1706 | UAL004: Added failure points 260 - 265. |
| 1708 | UAL011C: Added failure points 3271-3273, 3277-3278. |
| 1710 | UAL048A: Remove failure points 3550, 3552, 3553, 3554, 3555. |
| 1778 | All Wireless Tests: Added Long Tag to device info block. |
| 2139 | UAL038A: Updated to the latest test spec - This includes changing the Configuration Change Count logic to makes sure only writes that change the configuration increment the counter. Also corrected a typo in the test case. |
| 2182 | UAL006: Updated to the latest test spec - This includes removing Command 11 from ValidateTDD and updating the Configuration Change Counter to account for roll over. |
| 2191 | UAL013A,B: Update ValidateLongTag so Command 21 is not sent. |
| 2206 | UAL004 & UAL015: Updated the invalidTag variable to ensure they are properly initialized. |
| 2324 | UAL010: Updated test case to send Command 17 when CCC == 0. |
| 2360 | All Tests: Update long tag references from HCF-DUT to HART-DUT. |
| 2372 | UAL048B: Remove option to abort test that is not part of test spec. |
| 2406 | VerifyAssociatedCommands: Updated Failure Point 5126 to match latest test specification. |
| 2407 | UAL003A,D: Incorporate ValidatePoll. Incorporate FSK testing for part D. |
| 2530 | Update IssueCommand12 to follow latest test spec. |
Common Practice Tests
| CR/Bug Number | Summary |
| 206 | CAL104B: Modify Update Period for no Command 31 support. |
| 1621 | CAL526C: Update test to the latest - This includes sending Command 48 inside the "The RESET case" and test the Reserve Bit to ensure the device returns "Invalid Selection". |
| 1639 | CAL524B: Update test case to send data byte 0x35. |
| 1655 | CAL526D: Update the test case to skip the Reserve Bit. |
| 1657 | CAL523C: Update the test case to skip the Reserve Bit. |
| 1660 | CAL052: Update FindNextDeviceVariableToZero is return "DeviceVariableFound". |
| 1666 | CAL071B: RESULT string was added in log when Command 71 is "NotImplemented". |
| 1679 | CAL033: Update to latest test spec and removed failure points 6307 - 7465. |
| 1685 | CAL040A, CAL045, CAL046: Update test case to follow Test-4 Revision 8.0 - Implement validateLoopCurrent and updating comments. |
| 1707 | CAL040A-B: Update device parameter to be passed by reference in issueCommand40. |
| 1709 | CAL035: Updated test case to follow the latest test specification by modifying Command 35 parameters to use lrvOriginal by failure points 6380 and 6390. Modified Command 35 parameters to use lrvOriginal and urvOriginal by failure point 6418. |
| 1716 | CAL071A: Remove overloaded fail function and Command 42 comment. |
| 1760 | CAL104A: Updated to the latest test spec to include sending Command 3 & 8. Modified Continuous Trigger and On-Change checking to accept RC == TriggerValuesAdjusted. |
| 1805 | CAL523B-C: Enhanced test case to properly store Condensed Status Maps from multiple Command 523 requests. |
| 1822 | CAL000: Corrected the Response Code and Byte Count for Command 548-553. |
| 2035 | CAL108A: Added Command 38 to the list of checked burst commands. |
| 2060 | CAL044: Removed redundant check of VerifyUnits. |
| 2144 | CAL036: When LRV is not set to zero abort 5000 will be issued. |
| 2226 | IssueCommand103,104,520,521,524,525,526,527,53: Allow continuous polling when RC == Busy or DR Initiated or DR Running is returned. |
| 2244 | CAL037: Updated to the latest test spec by removing prompt to enter a floating point number to be sent to the device. |
| 2284 | CAL103B: Removed test case specific code that only allow 4 device variables to be exposed. |
| 2305 | CAL054: Updated to the latest test specification. Removed the "Device Variable Properties" warning and a Command 54 that was sent at the beginning of the test. Added new failure points 6698 and 6699. |
| 2306 | CAL103C: Updated the test case to include the section "Setup the common parameters" and replaced the requirements for failure point 970. |
| 2312 | CheckReadyForBurst: Added the section "Reset all burst mode settings" in this function. |
| 2384 | CAL526A: Update fp 11113 & 11117 to fail if MSA Bit is not set. |
| 2387 | CAL053: Update to the latest test spec. If the Response Code does not equal "InvalidDeviceVariableCode" than test the unit code for that device variable. |
| 2392 | CAL109B: Modify failure point message to say "must support" instead of "need to support". |
| 2405 | UAL005, UAL009, UAL010, CAL543: Update to latest test spec to issue FP 6588 and 6589 for incorrect Response Code and Byte Count. |
| 2418 | CAL104B: Change FP 1009 to an Abort to follow the test spec. |
| 2433 | CAL055: Negate the logic for exiting the while loop when calling findNextDeviceVariable. |
| 2702 | CAL526A: FP 11116 "Status Simulation Active" bit is reset. |
HART-IP Server Tests
| CR/Bug Number | Summary |
| 1434 | Removed Semaphore that caused Intermittent Restarting State Machine Message |
| 1718 | All HIP Tests: Init_PAM Modify String Container. |
| 2094 | HIP402: Update Checksum Calculation. |
| 2140 | HIP402: Enhanced random function generator. |
| 2389 | All HART-IP Tests: Disable starting and stoping HSniffer when testing HART-IP. |
HART-IP Server Application
| CR/Bug Number | Summary |
| 1619 | Hipserver must not change hostname on the HTS. |
| 1644 | Merge Hipserver Repo's and Build Apps. |
| 1696 | Resolve non-essential Hipserver messages. |
| 1717 | Disable command processing intended for the native flow app. |
| 1779 | Add conditional compilation macros for non-HTS applications of hipserver. |
| 1780 | Hipserver must not change Long Tag on DUT. |
| 2119 | Hipserver is setting RC == 0x40 for Commmand 533. |
| 2278 | Burst Command 78 needs to be sent to test automation. |
| 2346 | Update Hipserver system calls. |
HART-IP Token Passing Data-Link Stack Application
| CR/Bug Number | Summary |
1620 | Update source code for Ubuntu 22.04 LTS compiler compliance. |
| 1645 | Integrate new hipserver with hiptp. |
| 2307 | Log should not be opened when tool is invoked with "-v" or "-h". |
| 2318 | System calls updated for added security. |
HART-IP Network Manager Gateway Application
| CR/Bug Number | Summary |
1613 | Log should not be opened when tool is invoked with "-v" or "-h". |
| 1646 | Integrate Devops hipnmgw with Github hipserver. |
| 2302 | Allow RC 64 when disabling events in hipnmgw. |
Hartmenu Application
| CR/Bug Number | Summary |
| 1764 | Updated test lists to reflect installed tests. |
HTest Application
| CR/Bug Number | Summary |
| 1671 | Updated source code for compatibility with the Cling Interpreter. |
| 1804 | Added function isPrimarySet() to check if Primary Bit is set. |
| 2100 | Modified function get_device_type() to return the correct 16-bit value of Expanded Device Type. |
| 2101 | Modified function get_mfgr_id() to return the correct 16-bit value of Manufacturer ID. |
| 2102 | Added API functions to read each identity information variable from a Command 0 response. |
HSniffer Application
| CR/Bug Number | Summary |
| 1530 | Update source code for Ubuntu 22.04 LTS compiler compliance. |
| 1622 | HSniffer system calls updated for added security. |
| 1623 | Updated unsigned int to uint32_t for OS standardization. |
Conv Application
| CR/Bug Number | Summary |
| 1624 | Conv system calls updated for added security. |
| 1625 | Updated unsigned int to uint32_t for OS standardization. |
| 1628 | Updated source code for Ubuntu 22.04 LTS compiler compliance. |
Utilities
| CR/Bug Number | Summary |
| 2138 | COMTEST: Update to use Command 17 and 12. |
Previous Releases
View the change log history here.