diff --git a/API-String-Arugments-Support/API String - Add Boolean Strings.vi b/API-String-Arugments-Support/API String - Add Boolean Strings.vi index d4f6798..9c1e874 100644 Binary files a/API-String-Arugments-Support/API String - Add Boolean Strings.vi and b/API-String-Arugments-Support/API String - Add Boolean Strings.vi differ diff --git a/API-String-Arugments-Support/API String - Float Precision.vi b/API-String-Arugments-Support/API String - Float Precision.vi index 30469ba..0a7aea5 100644 Binary files a/API-String-Arugments-Support/API String - Float Precision.vi and b/API-String-Arugments-Support/API String - Float Precision.vi differ diff --git a/API-String-Arugments-Support/API String - List Boolean Strings.vi b/API-String-Arugments-Support/API String - List Boolean Strings.vi index 39b139d..5c77e6a 100644 Binary files a/API-String-Arugments-Support/API String - List Boolean Strings.vi and b/API-String-Arugments-Support/API String - List Boolean Strings.vi differ diff --git a/API-String-Arugments-Support/API String - Remove Boolean Strings.vi b/API-String-Arugments-Support/API String - Remove Boolean Strings.vi index f9a7c2b..304e35b 100644 Binary files a/API-String-Arugments-Support/API String - Remove Boolean Strings.vi and b/API-String-Arugments-Support/API String - Remove Boolean Strings.vi differ diff --git a/API-String-Arugments-Support/API String - Set Float Precision.vi b/API-String-Arugments-Support/API String - Set Float Precision.vi index 5a66925..2b5c36f 100644 Binary files a/API-String-Arugments-Support/API String - Set Float Precision.vi and b/API-String-Arugments-Support/API String - Set Float Precision.vi differ diff --git a/API-String-Arugments-Support/API String Arguments Support.lvlib b/API-String-Arugments-Support/API String Arguments Support.lvlib index b77ac73..ba251eb 100644 --- a/API-String-Arugments-Support/API String Arguments Support.lvlib +++ b/API-String-Arugments-Support/API String Arguments Support.lvlib @@ -13,6 +13,7 @@ + @@ -31,6 +32,9 @@ + + + diff --git a/API-String-Arugments-Support/CSM - Broadcast Data As API String.vim b/API-String-Arugments-Support/CSM - Broadcast Data As API String.vim new file mode 100644 index 0000000..47e2e63 Binary files /dev/null and b/API-String-Arugments-Support/CSM - Broadcast Data As API String.vim differ diff --git a/API-String-Arugments-Support/CSM-Utility.mnu b/API-String-Arugments-Support/CSM-Utility.mnu index a9acf72..22a2f59 100644 Binary files a/API-String-Arugments-Support/CSM-Utility.mnu and b/API-String-Arugments-Support/CSM-Utility.mnu differ diff --git a/API-String-Arugments-Support/Convert API String Arguments to Data.vim b/API-String-Arugments-Support/Convert API String Arguments to Data.vim index 1517bda..b5bc1ca 100644 Binary files a/API-String-Arugments-Support/Convert API String Arguments to Data.vim and b/API-String-Arugments-Support/Convert API String Arguments to Data.vim differ diff --git a/API-String-Arugments-Support/Convert Data To API String Arguments.vim b/API-String-Arugments-Support/Convert Data To API String Arguments.vim index cd59803..2382d05 100644 Binary files a/API-String-Arugments-Support/Convert Data To API String Arguments.vim and b/API-String-Arugments-Support/Convert Data To API String Arguments.vim differ diff --git a/API-String-Arugments-Support/Query Data as API String Arguments.vim b/API-String-Arugments-Support/Query Data as API String Arguments.vim index 474f770..59a35bc 100644 Binary files a/API-String-Arugments-Support/Query Data as API String Arguments.vim and b/API-String-Arugments-Support/Query Data as API String Arguments.vim differ diff --git a/API-String-Arugments-Support/Utility.mnu b/API-String-Arugments-Support/Utility.mnu index fccb067..444a7ad 100644 Binary files a/API-String-Arugments-Support/Utility.mnu and b/API-String-Arugments-Support/Utility.mnu differ diff --git a/API-String-Arugments-Support/_Support/Boolean Strings.vi b/API-String-Arugments-Support/_Support/Boolean Strings.vi index d726886..9a287ed 100644 Binary files a/API-String-Arugments-Support/_Support/Boolean Strings.vi and b/API-String-Arugments-Support/_Support/Boolean Strings.vi differ diff --git a/API-String-Arugments-Support/_Support/Compare Two Numbers_csm.vim b/API-String-Arugments-Support/_Support/Compare Two Numbers_csm.vim index 844d303..3792a74 100644 Binary files a/API-String-Arugments-Support/_Support/Compare Two Numbers_csm.vim and b/API-String-Arugments-Support/_Support/Compare Two Numbers_csm.vim differ diff --git a/API-String-Arugments-Support/_Support/Concatenate Strings If not Empty_csm.vi b/API-String-Arugments-Support/_Support/Concatenate Strings If not Empty_csm.vi index 1b9cc11..1e95fd4 100644 Binary files a/API-String-Arugments-Support/_Support/Concatenate Strings If not Empty_csm.vi and b/API-String-Arugments-Support/_Support/Concatenate Strings If not Empty_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi b/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi index 79ae6dc..3120cc3 100644 Binary files a/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi and b/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi differ diff --git a/API-String-Arugments-Support/_Support/Data To API String Arguments.vi b/API-String-Arugments-Support/_Support/Data To API String Arguments.vi index c3c76d8..d1c711d 100644 Binary files a/API-String-Arugments-Support/_Support/Data To API String Arguments.vi and b/API-String-Arugments-Support/_Support/Data To API String Arguments.vi differ diff --git a/API-String-Arugments-Support/_Support/Data To SingleElementsArray_csm.vi b/API-String-Arugments-Support/_Support/Data To SingleElementsArray_csm.vi index 2284a83..1c296ef 100644 Binary files a/API-String-Arugments-Support/_Support/Data To SingleElementsArray_csm.vi and b/API-String-Arugments-Support/_Support/Data To SingleElementsArray_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/Data To SingleElementsArray_with_itself_csm.vi b/API-String-Arugments-Support/_Support/Data To SingleElementsArray_with_itself_csm.vi index f8ded15..592a200 100644 Binary files a/API-String-Arugments-Support/_Support/Data To SingleElementsArray_with_itself_csm.vi and b/API-String-Arugments-Support/_Support/Data To SingleElementsArray_with_itself_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/Float Precision.vi b/API-String-Arugments-Support/_Support/Float Precision.vi index 30bad96..fca4d68 100644 Binary files a/API-String-Arugments-Support/_Support/Float Precision.vi and b/API-String-Arugments-Support/_Support/Float Precision.vi differ diff --git a/API-String-Arugments-Support/_Support/Indexed Enum to Numeric_csm.vim b/API-String-Arugments-Support/_Support/Indexed Enum to Numeric_csm.vim new file mode 100644 index 0000000..f8d43de Binary files /dev/null and b/API-String-Arugments-Support/_Support/Indexed Enum to Numeric_csm.vim differ diff --git a/API-String-Arugments-Support/_Support/Indexed String To Enum_csm.vi b/API-String-Arugments-Support/_Support/Indexed String To Enum_csm.vi index 192fbe9..b64959d 100644 Binary files a/API-String-Arugments-Support/_Support/Indexed String To Enum_csm.vi and b/API-String-Arugments-Support/_Support/Indexed String To Enum_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/Match Multiple Pattern_csm.vi b/API-String-Arugments-Support/_Support/Match Multiple Pattern_csm.vi index dd7e0cc..1786a5c 100644 Binary files a/API-String-Arugments-Support/_Support/Match Multiple Pattern_csm.vi and b/API-String-Arugments-Support/_Support/Match Multiple Pattern_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/Numeric to Indexed Enum_csm.vim b/API-String-Arugments-Support/_Support/Numeric to Indexed Enum_csm.vim new file mode 100644 index 0000000..00a3b4c Binary files /dev/null and b/API-String-Arugments-Support/_Support/Numeric to Indexed Enum_csm.vim differ diff --git a/API-String-Arugments-Support/_Support/Query Data as API String Arguments(variant).vi b/API-String-Arugments-Support/_Support/Query Data as API String Arguments(variant).vi index ea2c5d1..e81bc46 100644 Binary files a/API-String-Arugments-Support/_Support/Query Data as API String Arguments(variant).vi and b/API-String-Arugments-Support/_Support/Query Data as API String Arguments(variant).vi differ diff --git a/API-String-Arugments-Support/_Support/SingleElementsArray To Data_csm.vi b/API-String-Arugments-Support/_Support/SingleElementsArray To Data_csm.vi index 4a5a049..d27b3b0 100644 Binary files a/API-String-Arugments-Support/_Support/SingleElementsArray To Data_csm.vi and b/API-String-Arugments-Support/_Support/SingleElementsArray To Data_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/String To Float_csm.vi b/API-String-Arugments-Support/_Support/String To Float_csm.vi index 549a9b4..dd9ca02 100644 Binary files a/API-String-Arugments-Support/_Support/String To Float_csm.vi and b/API-String-Arugments-Support/_Support/String To Float_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/String To Indexed Enum_csm.vi b/API-String-Arugments-Support/_Support/String To Indexed Enum_csm.vi new file mode 100644 index 0000000..909b669 Binary files /dev/null and b/API-String-Arugments-Support/_Support/String To Indexed Enum_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/String To Number(I64)_csm.vi b/API-String-Arugments-Support/_Support/String To Number(I64)_csm.vi index 42d4d87..d17978b 100644 Binary files a/API-String-Arugments-Support/_Support/String To Number(I64)_csm.vi and b/API-String-Arugments-Support/_Support/String To Number(I64)_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/String to Boolean_csm.vi b/API-String-Arugments-Support/_Support/String to Boolean_csm.vi index 5e8c047..f9c9db0 100644 Binary files a/API-String-Arugments-Support/_Support/String to Boolean_csm.vi and b/API-String-Arugments-Support/_Support/String to Boolean_csm.vi differ diff --git a/API-String-Arugments-Support/_Support/Strip Tag in Tag Value Pair.vi b/API-String-Arugments-Support/_Support/Strip Tag in Tag Value Pair.vi index a12323b..102b4a9 100644 Binary files a/API-String-Arugments-Support/_Support/Strip Tag in Tag Value Pair.vi and b/API-String-Arugments-Support/_Support/Strip Tag in Tag Value Pair.vi differ diff --git a/CSM API String Arguments Support.lvproj b/CSM API String Arguments Support.lvproj index 278bfd3..01f65da 100644 --- a/CSM API String Arguments Support.lvproj +++ b/CSM API String Arguments Support.lvproj @@ -35,16 +35,7 @@ - - - - - - - - - diff --git a/CSM API String Arguments Support.vipb b/CSM API String Arguments Support.vipb index ef7c45d..e97dbe4 100644 --- a/CSM API String Arguments Support.vipb +++ b/CSM API String Arguments Support.vipb @@ -1,271 +1,273 @@ - - - NEVSTOP_lib_CSM_API_String_Arguments_Support - 2024.5.0.15 - false - . - vip - NEVSTOP - - - 17.0 - true - 00000D7E002800000C9A00000400000200020022002200080000000000FFFFFF00FF80000000FFFFFFFFFFFF0000FFFFFFFFCCCC0000FFFFFFFF99990000FFFFFFFF66660000FFFFFFFF33330000FFFFFFFF00000000FFFFCCCCFFFF0000FFFFCCCCCCCC0000FFFFCCCC99990000FFFFCCCC66660000FFFFCCCC33330000FFFFCCCC00000000FFFF9999FFFF0000FFFF9999CCCC0000FFFF999999990000FFFF999966660000FFFF999933330000FFFF999900000000FFFF6666FFFF0000FFFF6666CCCC0000FFFF666699990000FFFF666666660000FFFF666633330000FFFF666600000000FFFF3333FFFF0000FFFF3333CCCC0000FFFF333399990000FFFF333366660000FFFF333333330000FFFF333300000000FFFF0000FFFF0000FFFF0000CCCC0000FFFF000099990000FFFF000066660000FFFF000033330000FFFF000000000000CCCCFFFFFFFF0000CCCCFFFFCCCC0000CCCCFFFF99990000CCCCFFFF66660000CCCCFFFF33330000CCCCFFFF00000000CCCCCCCCFFFF0000CCCCCCCCCCCC0000CCCCCCCC99990000CCCCCCCC66660000CCCCCCCC33330000CCCCCCCC00000000CCCC9999FFFF0000CCCC9999CCCC0000CCCC999999990000CCCC999966660000CCCC999933330000CCCC999900000000CCCC6666FFFF0000CCCC6666CCCC0000CCCC666699990000CCCC666666660000CCCC666633330000CCCC666600000000CCCC3333FFFF0000CCCC3333CCCC0000CCCC333399990000CCCC333366660000CCCC333333330000CCCC333300000000CCCC0000FFFF0000CCCC0000CCCC0000CCCC000099990000CCCC000066660000CCCC000033330000CCCC0000000000009999FFFFFFFF00009999FFFFCCCC00009999FFFF999900009999FFFF666600009999FFFF333300009999FFFF000000009999CCCCFFFF00009999CCCCCCCC00009999CCCC999900009999CCCC666600009999CCCC333300009999CCCC0000000099999999FFFF000099999999CCCC0000999999999999000099999999666600009999999933330000999999990000000099996666FFFF000099996666CCCC0000999966669999000099996666666600009999666633330000999966660000000099993333FFFF000099993333CCCC0000999933339999000099993333666600009999333333330000999933330000000099990000FFFF000099990000CCCC000099990000999900009999000066660000999900003333000099990000000000006666FFFFFFFF00006666FFFFCCCC00006666FFFF999900006666FFFF666600006666FFFF333300006666FFFF000000006666CCCCFFFF00006666CCCCCCCC00006666CCCC999900006666CCCC666600006666CCCC333300006666CCCC0000000066669999FFFF000066669999CCCC0000666699999999000066669999666600006666999933330000666699990000000066666666FFFF000066666666CCCC0000666666669999000066666666666600006666666633330000666666660000000066663333FFFF000066663333CCCC0000666633339999000066663333666600006666333333330000666633330000000066660000FFFF000066660000CCCC000066660000999900006666000066660000666600003333000066660000000000003333FFFFFFFF00003333FFFFCCCC00003333FFFF999900003333FFFF666600003333FFFF333300003333FFFF000000003333CCCCFFFF00003333CCCCCCCC00003333CCCC999900003333CCCC666600003333CCCC333300003333CCCC0000000033339999FFFF000033339999CCCC0000333399999999000033339999666600003333999933330000333399990000000033336666FFFF000033336666CCCC0000333366669999000033336666666600003333666633330000333366660000000033333333FFFF000033333333CCCC0000333333339999000033333333666600003333333333330000333333330000000033330000FFFF000033330000CCCC000033330000999900003333000066660000333300003333000033330000000000000000FFFFFFFF00000000FFFFCCCC00000000FFFF999900000000FFFF666600000000FFFF333300000000FFFF000000000000CCCCFFFF00000000CCCCCCCC00000000CCCC999900000000CCCC666600000000CCCC333300000000CCCC0000000000009999FFFF000000009999CCCC0000000099999999000000009999666600000000999933330000000099990000000000006666FFFF000000006666CCCC0000000066669999000000006666666600000000666633330000000066660000000000003333FFFF000000003333CCCC0000000033339999000000003333666600000000333333330000000033330000000000000000FFFF000000000000CCCC0000000000009999000000000000666600000000000033330000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000000000000000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000000000000000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000EEEEEEEEEEEE0000DDDDDDDDDDDD0000BBBBBBBBBBBB0000AAAAAAAAAAAA000088888888888800007777777777770000555555555555000044444444444400002222222222220000111111111111000000000000000000F881818181818181818181818181818181818181818181818181818181F800F8817575757575757575757575757575757575757575757575757575757581F88175757575757575757575757575757575757575757575757575757575757581817575757575757575757575757575757575757575757575757575757575758181000000000000000000000000000000000000000000000000000000000000818100001E1E1E1E1E1E1E1E1E1E1E1E1E1E1E00000000000075750000000000818100001E4A4A4A4A4A4A4A4A4A4A4A4A4A1E00000000000075752B00000000818100001E4A4A4A1E4A4A1E1E4A4A1E4A4A1E00000000000075752B00000000818100001E4A4A1E4A1E4A1E4A1E4A1E4A4A1E00000075757575757575750000818100001E4A4A1E1E1E4A1E1E4A4A1E4A4A1E00000075757575757575752B00818100001E4A4A1E4A1E4A1E4A4A4A1E4A4A1E00000000000075752B2B2B2B00818100FFFFFFFFFFFFFF4A4A4A4A4A4A4A4A1E00000000000075752B00000000818100FF1E1E1E1E1EFF1E1E1E1E1E1E1E1E1E00000000000075752B00000000818100FF00FF00FF00C7C70000000000000000000000000000002B2B00000000818100FF00000000C72BC7000000000000000000000000000000000000000000818100FF00FF00FF00C7C7C70000000000000000000000000000000000000000818100FF0000000000FF00000000000075750000007575750075000000750000818100FF00FF00FFC7C700000000007500007500750000000075750075750000818100FF00000000C72BC7000000007500000000007575000075007500750000818100FFFFFFFFFFC7C7C700000000750000750000000075007500000075000081810000FAFAFAFAC72B2BC700000000757500007575750000750000007500008181F60000000000C7C7C70000000000000000000000000000000000000000F681F881F600000000C7000000000000000000000000000000000000000000F681F800F881818181818181818181818181818181818181818181818181818181F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE0000000000000000000000000000000000000000000000000000000000000000002900000012000000020000000D01000000000100000000000A000000080000000000240024002900000012000000020000000D00B2B2B900010000000000100000001000000002002300000000000000000023002900000012000000020000000D00FCFCFD00010000000000100000001000000002002200010001000100010022002900000012000000020000000D00B2B2B900010000000000100000001000000002000000240024002400240000002900000012000000020000000D0080808A00010000000000100000001000000002000100230023002300230001 - CSM API String Arguments Support - true - LabVIEW - - - - labview_open_source_lib_epoch_datetime >=1.2.0.6 - nevstop_lib_communicable_state_machine >=2024.5.25.143204 - nevstop_lib_jki_state_machine++ >=2023.8.5.2239 - - - - - - - - - - CSM API String Arguments Support.vipc - - API string argument support enhancement for CSM - The purpose of this library is to enhance the API parameters for Communicable State Machine (CSM). It allows for the inclusion of various data types in plain text format. Two more templates which include "Data: Get Configuration", "Data: Set Configuration" and "Data: Get Internal Data" states, are provided in the library. These templates can serve as a starting point for building your CSM module with the ability to access data stored in the '>> internal data >>' shift register. - -![example](.github/doc.png) - -## Supported Data Type - -- String/Path -- Boolean -- Integer(I8,I16,I32,I64,U8,U16,U32,U64) -- Float(DBL/SGL) -- Complex(DBL/SGL) -- Timestamp -- Enum -- Array -- Cluster -- Other(use CSM-Hexstr) - -More information for the supported datatype format, please visit: https://github.com/NEVSTOP-LAB/CSM-API-String-Arugments-Support - -## Know Issue - -1. **Cluster in Array is not fully supported. Need to imporve.** -2. **2D array in cluster is not supported now. Need to imporve.** - - NEVSTOP - https://github.com/NEVSTOP-LAB/CSM-API-String-Arugments-Support - [add] #43 Add boolean strings setting API -[add] #42 Add float precision setting API -[add] #48 For Boolean,Integer,Float,Complex, tag-value pair is now supported. -[update] #41 Float String with Unit now is supported -[fix] #44 The bugs in cluster tag:value mode have been fixed to prevent unnecessary error reporting. -[fix] #46 #47 fix templates names in New VI Dialog - - - - false - true - <user.lib>\_NEVSTOP\Communicable State Machine(CSM)\addons - - - false - true - <application>\examples\NEVSTOP\Communicable State Machine(CSM)\Addons - API String Arguments Support - - - false - true - - - - true - - - - true - - - - false - true - <application>\templates\Communicable State Machine(CSM) - - - false - true - - - - false - true - - - - false - true - - - - false - true - - - - false - true - - - - false - true - - - - CSM Templates - false - true - <user.lib>\_NEVSTOP\Communicable State Machine(CSM)\More Templates - - - - - . - 0 - false - 0 - - - API-String-Arugments-Support - 0 - false - 0 - - - Example - 1 - false - 0 - - - Template - 5 - false - 0 - - - . - - false - - - . - Prefix - - - - .github - - - .gitignore - - - DEV ENVIRONMENT LabVIEW 2017 - - - _test - - - CSM API String Arguments Support.lvproj - - - README.md - - - LICENSE - - - - - - example - - - src - - - Example - - - Template - - - LICENSE - - - - false - - - - - - <random:32> - false - - - - false - - - Default - false - - 00000504002900000012000000020000000D00FFFFFF000100000000000A00000008000000000020002000280000025600000222000000030007001D00180000000000FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000000000FFFFFF000000000000000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFF000000FFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000003FCD4DC9BFA950957FAD5895BFA9C4953FAC98893F0000003F002900000012000000020000000D00CCCCFF000100000000000A00000008001900000020002000280000025600000222001900030020001D00180000000000FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C00006C0000FFFFFFFFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C00006C0000FFFFFF6C00006C00006C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C00006C00006C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFF6C00006C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000003FCD4DC9BFA950957FAD5895BFA9C4953FAC98893F0000003F - - Controls - <menus>\Controls - - - - Functions - <menus>\Categories - - - false - false - - - - true - true - true - true - true - true - false - true - true - true - true - true - true - - - false - false - false - - - true - {product_name} {version_number} -{author_name} - {company_name} -{copyright} - - - - + + + NEVSTOP_lib_CSM_API_String_Arguments_Support + 2024.7.0.15 + false + . + vip + NEVSTOP + + + 17.0 + true + 00000D7E002800000C9A00000400000200020022002200080000000000FFFFFF00FF80000000FFFFFFFFFFFF0000FFFFFFFFCCCC0000FFFFFFFF99990000FFFFFFFF66660000FFFFFFFF33330000FFFFFFFF00000000FFFFCCCCFFFF0000FFFFCCCCCCCC0000FFFFCCCC99990000FFFFCCCC66660000FFFFCCCC33330000FFFFCCCC00000000FFFF9999FFFF0000FFFF9999CCCC0000FFFF999999990000FFFF999966660000FFFF999933330000FFFF999900000000FFFF6666FFFF0000FFFF6666CCCC0000FFFF666699990000FFFF666666660000FFFF666633330000FFFF666600000000FFFF3333FFFF0000FFFF3333CCCC0000FFFF333399990000FFFF333366660000FFFF333333330000FFFF333300000000FFFF0000FFFF0000FFFF0000CCCC0000FFFF000099990000FFFF000066660000FFFF000033330000FFFF000000000000CCCCFFFFFFFF0000CCCCFFFFCCCC0000CCCCFFFF99990000CCCCFFFF66660000CCCCFFFF33330000CCCCFFFF00000000CCCCCCCCFFFF0000CCCCCCCCCCCC0000CCCCCCCC99990000CCCCCCCC66660000CCCCCCCC33330000CCCCCCCC00000000CCCC9999FFFF0000CCCC9999CCCC0000CCCC999999990000CCCC999966660000CCCC999933330000CCCC999900000000CCCC6666FFFF0000CCCC6666CCCC0000CCCC666699990000CCCC666666660000CCCC666633330000CCCC666600000000CCCC3333FFFF0000CCCC3333CCCC0000CCCC333399990000CCCC333366660000CCCC333333330000CCCC333300000000CCCC0000FFFF0000CCCC0000CCCC0000CCCC000099990000CCCC000066660000CCCC000033330000CCCC0000000000009999FFFFFFFF00009999FFFFCCCC00009999FFFF999900009999FFFF666600009999FFFF333300009999FFFF000000009999CCCCFFFF00009999CCCCCCCC00009999CCCC999900009999CCCC666600009999CCCC333300009999CCCC0000000099999999FFFF000099999999CCCC0000999999999999000099999999666600009999999933330000999999990000000099996666FFFF000099996666CCCC0000999966669999000099996666666600009999666633330000999966660000000099993333FFFF000099993333CCCC0000999933339999000099993333666600009999333333330000999933330000000099990000FFFF000099990000CCCC000099990000999900009999000066660000999900003333000099990000000000006666FFFFFFFF00006666FFFFCCCC00006666FFFF999900006666FFFF666600006666FFFF333300006666FFFF000000006666CCCCFFFF00006666CCCCCCCC00006666CCCC999900006666CCCC666600006666CCCC333300006666CCCC0000000066669999FFFF000066669999CCCC0000666699999999000066669999666600006666999933330000666699990000000066666666FFFF000066666666CCCC0000666666669999000066666666666600006666666633330000666666660000000066663333FFFF000066663333CCCC0000666633339999000066663333666600006666333333330000666633330000000066660000FFFF000066660000CCCC000066660000999900006666000066660000666600003333000066660000000000003333FFFFFFFF00003333FFFFCCCC00003333FFFF999900003333FFFF666600003333FFFF333300003333FFFF000000003333CCCCFFFF00003333CCCCCCCC00003333CCCC999900003333CCCC666600003333CCCC333300003333CCCC0000000033339999FFFF000033339999CCCC0000333399999999000033339999666600003333999933330000333399990000000033336666FFFF000033336666CCCC0000333366669999000033336666666600003333666633330000333366660000000033333333FFFF000033333333CCCC0000333333339999000033333333666600003333333333330000333333330000000033330000FFFF000033330000CCCC000033330000999900003333000066660000333300003333000033330000000000000000FFFFFFFF00000000FFFFCCCC00000000FFFF999900000000FFFF666600000000FFFF333300000000FFFF000000000000CCCCFFFF00000000CCCCCCCC00000000CCCC999900000000CCCC666600000000CCCC333300000000CCCC0000000000009999FFFF000000009999CCCC0000000099999999000000009999666600000000999933330000000099990000000000006666FFFF000000006666CCCC0000000066669999000000006666666600000000666633330000000066660000000000003333FFFF000000003333CCCC0000000033339999000000003333666600000000333333330000000033330000000000000000FFFF000000000000CCCC0000000000009999000000000000666600000000000033330000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000000000000000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000000000000000EEEE000000000000DDDD000000000000BBBB000000000000AAAA0000000000008888000000000000777700000000000055550000000000004444000000000000222200000000000011110000EEEEEEEEEEEE0000DDDDDDDDDDDD0000BBBBBBBBBBBB0000AAAAAAAAAAAA000088888888888800007777777777770000555555555555000044444444444400002222222222220000111111111111000000000000000000F881818181818181818181818181818181818181818181818181818181F800F8817575757575757575757575757575757575757575757575757575757581F88175757575757575757575757575757575757575757575757575757575757581817575757575757575757575757575757575757575757575757575757575758181000000000000000000000000000000000000000000000000000000000000818100001E1E1E1E1E1E1E1E1E1E1E1E1E1E1E00000000000075750000000000818100001E4A4A4A4A4A4A4A4A4A4A4A4A4A1E00000000000075752B00000000818100001E4A4A4A1E4A4A1E1E4A4A1E4A4A1E00000000000075752B00000000818100001E4A4A1E4A1E4A1E4A1E4A1E4A4A1E00000075757575757575750000818100001E4A4A1E1E1E4A1E1E4A4A1E4A4A1E00000075757575757575752B00818100001E4A4A1E4A1E4A1E4A4A4A1E4A4A1E00000000000075752B2B2B2B00818100FFFFFFFFFFFFFF4A4A4A4A4A4A4A4A1E00000000000075752B00000000818100FF1E1E1E1E1EFF1E1E1E1E1E1E1E1E1E00000000000075752B00000000818100FF00FF00FF00C7C70000000000000000000000000000002B2B00000000818100FF00000000C72BC7000000000000000000000000000000000000000000818100FF00FF00FF00C7C7C70000000000000000000000000000000000000000818100FF0000000000FF00000000000075750000007575750075000000750000818100FF00FF00FFC7C700000000007500007500750000000075750075750000818100FF00000000C72BC7000000007500000000007575000075007500750000818100FFFFFFFFFFC7C7C700000000750000750000000075007500000075000081810000FAFAFAFAC72B2BC700000000757500007575750000750000007500008181F60000000000C7C7C70000000000000000000000000000000000000000F681F881F600000000C7000000000000000000000000000000000000000000F681F800F881818181818181818181818181818181818181818181818181818181F800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFE0000000000000000000000000000000000000000000000000000000000000000002900000012000000020000000D01000000000100000000000A000000080000000000240024002900000012000000020000000D00B2B2B900010000000000100000001000000002002300000000000000000023002900000012000000020000000D00FCFCFD00010000000000100000001000000002002200010001000100010022002900000012000000020000000D00B2B2B900010000000000100000001000000002000000240024002400240000002900000012000000020000000D0080808A00010000000000100000001000000002000100230023002300230001 + CSM API String Arguments Support + true + LabVIEW + + + + labview_open_source_lib_epoch_datetime >=1.2.0.6 + nevstop_lib_communicable_state_machine >=2024.5.25.143204 + nevstop_lib_jki_state_machine++ >=2023.8.5.2239 + + + + + + + + + + CSM API String Arguments Support.vipc + + API string argument support enhancement for CSM + The purpose of this library is to enhance the API parameters for Communicable State Machine (CSM). It allows for the inclusion of various data types in plain text format. Two more templates which include "Data: Get Configuration", "Data: Set Configuration" and "Data: Get Internal Data" states, are provided in the library. These templates can serve as a starting point for building your CSM module with the ability to access data stored in the '>> internal data >>' shift register. + +![example](.github/doc.png) + +## Supported Data Type + +- String/Path +- Boolean +- Integer(I8,I16,I32,I64,U8,U16,U32,U64) +- Float(DBL/SGL) +- Complex(DBL/SGL) +- Timestamp +- Enum +- Array +- Cluster +- Other(use CSM-Hexstr) + +More information for the supported datatype format, please visit: https://github.com/NEVSTOP-LAB/CSM-API-String-Arugments-Support + +## Know Issue + +1. **Cluster in Array is not fully supported. Need to imporve.** +2. **2D array in cluster is not supported now. Need to imporve.** + + NEVSTOP + https://github.com/NEVSTOP-LAB/CSM-API-String-Arugments-Support + [important] #51 Enum type support is enhanced. +[important] #55 Cluster type support is enhanced. Leaf element's name could be used as tag name in tag-value pair mode. +[add] add CSM - Broadcast Data As API String.vim in utility palette +[add] add utility vi for conversion between 'indexed enum¡® and number. +[fix] Fix the bug that prevents correct parsing of strings starting with digits. For example, ¡°10V¡± could not be converted to Enum(10mV|1V|10V) as intended. +[fix] Fix bug that Binary Number is not corrected converted to number. e.g. 0b1 -x-> -1. This is wrong. +[update] update some VI icons + + + + false + true + <user.lib>\_NEVSTOP\Communicable State Machine(CSM)\addons + + + false + true + <application>\examples\NEVSTOP\Communicable State Machine(CSM)\Addons - API String Arguments Support + + + false + true + + + + true + + + + true + + + + false + true + <application>\templates\Communicable State Machine(CSM) + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + CSM Templates + false + true + <user.lib>\_NEVSTOP\Communicable State Machine(CSM)\More Templates + + + + + . + 0 + false + 0 + + + API-String-Arugments-Support + 0 + false + 0 + + + Example + 1 + false + 0 + + + Template + 5 + false + 0 + + + . + + false + + + . + Prefix + + + + .github + + + .gitignore + + + DEV ENVIRONMENT LabVIEW 2017 + + + _test + + + CSM API String Arguments Support.lvproj + + + README.md + + + LICENSE + + + + + + example + + + src + + + Example + + + Template + + + LICENSE + + + + false + + + + + + <random:32> + false + + + + false + + + Default + false + + 00000504002900000012000000020000000D00FFFFFF000100000000000A00000008000000000020002000280000025600000222000000030007001D00180000000000FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000000000FFFFFF000000000000000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFF000000FFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000FFFFFFFFFFFF000000FFFFFF000000FFFFFF000000000000FFFFFFFFFFFF000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000003FCD4DC9BFA950957FAD5895BFA9C4953FAC98893F0000003F002900000012000000020000000D00CCCCFF000100000000000A00000008001900000020002000280000025600000222001900030020001D00180000000000FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C00006C0000FFFFFFFFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C00006C0000FFFFFF6C00006C00006C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C00006C00006C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFF6C0000FFFFFF6C00006C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFF6C00006C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFFFFFFFF6C0000FFFFFFFFFFFF6C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000003FCD4DC9BFA950957FAD5895BFA9C4953FAC98893F0000003F + + Controls + <menus>\Controls + + + + Functions + <menus>\Categories + + + false + false + + + + true + true + true + true + true + true + false + true + true + true + true + true + true + + + false + false + false + false + + + true + {product_name} {version_number} +{author_name} - {company_name} +{copyright} + + + + \ No newline at end of file diff --git a/Example/String to Enum Example.vi b/Example/String to Enum Example.vi index 3a18e3a..4ccc82f 100644 Binary files a/Example/String to Enum Example.vi and b/Example/String to Enum Example.vi differ diff --git a/Example/String(Float with Unit) To Float Example.vi b/Example/String(Float with Unit) To Float Example.vi index 245f2d1..785ba44 100644 Binary files a/Example/String(Float with Unit) To Float Example.vi and b/Example/String(Float with Unit) To Float Example.vi differ diff --git a/Example/Supported Datatype Examples/Test Cases - API String Arguments Support(Variant).vi b/Example/Supported Datatype Examples/Test Cases - API String Arguments Support(Variant).vi index b163bc2..26d87b2 100644 Binary files a/Example/Supported Datatype Examples/Test Cases - API String Arguments Support(Variant).vi and b/Example/Supported Datatype Examples/Test Cases - API String Arguments Support(Variant).vi differ diff --git a/Example/Supported Datatype Examples/Test Cases - Cluster Changed Value as Arguments.vi b/Example/Supported Datatype Examples/Test Cases - Cluster Changed Value as Arguments.vi index 4a43e80..57454d8 100644 Binary files a/Example/Supported Datatype Examples/Test Cases - Cluster Changed Value as Arguments.vi and b/Example/Supported Datatype Examples/Test Cases - Cluster Changed Value as Arguments.vi differ diff --git a/Example/Supported Datatype Examples/Test Cases - Cluster.vi b/Example/Supported Datatype Examples/Test Cases - Cluster.vi index b110a44..78ceb94 100644 Binary files a/Example/Supported Datatype Examples/Test Cases - Cluster.vi and b/Example/Supported Datatype Examples/Test Cases - Cluster.vi differ diff --git a/README.md b/README.md index 680c609..cc9426a 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,29 @@ No time string format included in string, ISO8601 UTC standard is used. ### Enum +Indexed Enum is defined as Enum Strings composed with [number] [separator] [enum String]. + +> hex Number, -- as separator +> +> - 0x01 -- boolean +> - 0x02 -- string +> - 0x04 -- dbl +> - 0x08 -- number +> +> binary Number, -- as separator +> +> - 0b0001 __ boolean +> - 0b0010 __ string +> - 0b0100 __ dbl +> - 0b1000 __ number +> +> Decided Number, == as separator +> +> - 1 == boolean +> - 2 == string +> - 4 == dbl +> - 8 == number + _**Condition1**_ Enum = {AAA,BBBB,CCCC} diff --git a/_test/Untitled 1.vi b/_test/Untitled 1.vi index 087a369..644efa0 100644 Binary files a/_test/Untitled 1.vi and b/_test/Untitled 1.vi differ diff --git a/_test/remove zero.vi b/_test/remove zero.vi index 7f78490..02529eb 100644 Binary files a/_test/remove zero.vi and b/_test/remove zero.vi differ diff --git a/_test/test Enum.vi b/_test/test Enum.vi index 0f48656..9fbd920 100644 Binary files a/_test/test Enum.vi and b/_test/test Enum.vi differ