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 NumberComponentSummaryReported Date
(MM/DD/YY)
Workaround
2385CAL526AUpdated Test Specification01/01/2026Article
2841CAL053Updated Test Specification01/01/2026Article
2842UAL011A
Updated Test Specification01/01/2026Article


The following CRs were resolved in this release:


Data Link Layer Tests

CR/Bug NumberSummary
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.
1661CheckReadyForBurst: Abort the test if the Device Profile >= 64 and change fail string to abort.
1681DLL024C: 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.
1699All 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.
2246DLL028B: Add fail-safe termination for Non-compliant device behavior.
2252DLL001C, 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.
2303DLL041: Update test case to run for 100 iterations.
2355DLL011 & DLL028B: Enhanced to account for multiple dribble bytes between messages.
2388Incorporate the TP-DLL Master test case enhancements into the Data Link Layer.
2413DLL035: Failure Point 889 update reported preamble count. Failure Point 889 will be issue if the Byte Count to 3.
2432All Tests: Update Header to report Maximum Number of Device Variables.
2466DLL039A: 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.
1618All Tests: Added connection assignment due to compiler enhancements for -c 
1629
UAL009: Improved Write Protect message prompt for clarity.
1675UAL011B: 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.
1698All Tests: Only support HART 7 device testing.
1706UAL004: 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.
2191UAL013A,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.
2360All Tests: Update long tag references from HCF-DUT to HART-DUT.
2372UAL048B: Remove option to abort test that is not part of test spec.
2406VerifyAssociatedCommands: Updated Failure Point 5126 to match latest test specification.
2407
UAL003A,D: Incorporate ValidatePoll. Incorporate FSK testing for part D.
2530Update IssueCommand12 to follow latest test spec. 


Common Practice Tests

CR/Bug NumberSummary
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.
1709CAL035: 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.
2384CAL526A: Update fp 11113 & 11117 to fail if MSA Bit is not set.
2387CAL053: Update to the latest test spec. If the Response Code does not equal "InvalidDeviceVariableCode" than test the unit code for that device variable.
2392CAL109B: Modify failure point message to say "must support" instead of "need to support".
2405UAL005, UAL009, UAL010, CAL543: Update to latest test spec to issue FP 6588 and 6589 for incorrect Response Code and Byte Count.
2418CAL104B: Change FP 1009 to an Abort to follow the test spec.
2433CAL055: Negate the logic for exiting the while loop when calling findNextDeviceVariable.
2702CAL526A: FP 11116 "Status Simulation Active" bit is reset.


HART-IP Server Tests

CR/Bug NumberSummary
1434Removed Semaphore that caused Intermittent Restarting State Machine Message
1718All HIP Tests: Init_PAM Modify String Container.
2094HIP402: Update Checksum Calculation.
2140
HIP402: Enhanced random function generator.
2389All 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.
1644Merge Hipserver Repo's and Build Apps.
1696Resolve non-essential Hipserver messages.
1717Disable command processing intended for the native flow app.
1779Add conditional compilation macros for non-HTS applications of hipserver.
1780Hipserver must not change Long Tag on DUT.
2119Hipserver is setting RC == 0x40 for Commmand 533.
2278Burst Command 78 needs to be sent to test automation.
2346Update Hipserver system calls.


HART-IP Token Passing Data-Link Stack Application

CR/Bug NumberSummary

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 NumberSummary

1613

Log should not be opened when tool is invoked with "-v" or "-h".
1646Integrate Devops hipnmgw with Github hipserver.
2302Allow RC 64 when disabling events in hipnmgw.


Hartmenu Application

CR/Bug NumberSummary
1764
Updated test lists to reflect installed tests.


HTest Application

CR/Bug NumberSummary
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 NumberSummary
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 NumberSummary
2138COMTEST: Update to use Command 17 and 12.


Previous Releases

View the change log history here