diff --git a/CSM-MassData-Parameter-Support.lvproj b/CSM-MassData-Parameter-Support.lvproj index 667e176..93e68ef 100644 --- a/CSM-MassData-Parameter-Support.lvproj +++ b/CSM-MassData-Parameter-Support.lvproj @@ -86,6 +86,46 @@ - + + + true + {D1C9083B-6DEA-42A7-B631-C294C8861819} + massdataInlvlibp.lvlibp + true + true + ../builds/NI_AB_PROJECTNAME/massdataInlvlibp.lvlibp + relativeToCommon + true + {BF7D7223-BF19-435F-ACCA-33664DA84ED8} + 1 + 1 + massdataInlvlibp.lvlibp + ../builds/NI_AB_PROJECTNAME/massdataInlvlibp.lvlibp/massdataInlvlibp.lvlibp + true + App + Support Directory + ../builds/NI_AB_PROJECTNAME/massdataInlvlibp.lvlibp + 2 + true + {32CF3382-7B44-4EF8-818B-A06E7E5E390B} + Container + 0 + /My Computer/_test/massdataInlvlibp/massdataInlvlibp.lvlib + true + true + true + true + TopLevel + Library + 2 + massdataInlvlibp.lvlibp + massdataInlvlibp.lvlibp + Copyright ?2025 + massdataInlvlibp.lvlibp + {F907CE31-055B-4174-9660-D228996BB2AB} + massdataInlvlibp.lvlibp + true + + diff --git a/CSM-MassData-Parameter-Support.vipb b/CSM-MassData-Parameter-Support.vipb index 41d1cbd..a1f3e51 100644 --- a/CSM-MassData-Parameter-Support.vipb +++ b/CSM-MassData-Parameter-Support.vipb @@ -1,7 +1,7 @@ - + NEVSTOP_lib_CSM_MassData_Parameter_Support - 2025.8.0.1 + 2025.9.0.1 false . vip @@ -17,7 +17,7 @@ - nevstop_lib_communicable_state_machine >=2025.7.30.163451 + nevstop_lib_communicable_state_machine >=2025.9.13.224959 nevstop_lib_jki_state_machine++ >=2023.8.5.2239 @@ -31,14 +31,37 @@ CSM-MassData-Parameter-Support.vipc MassData Arguments Support for Communicable State Machine(CSM) - Addon for Mass Data Argument support of CSM. Data will be stored in a FGV ring buffer and the address will be passed as argument. + ## Overview + +CSM-MassData-Parameter-Support is an addon for the Communicable State Machine (CSM) framework that enables efficient transfer of large data sets between CSM modules. It addresses the limitations of API String for transferring large data by using a memory-efficient mechanism to reference rather than directly encode large data structures. + +## Why MassData Support? + +In LabVIEW test and measurement applications, handling large data types such as waveforms, 1D/2D arrays is common, especially with high sampling rates and multi-channel systems. Transferring such large data using traditional API String methods would be inefficient due to: + +- Increased memory overhead from plaintext encoding +- Performance issues with encoding/decoding large data +- Reduced readability in debug logs due to excessive text + +## Key Benefits + +1. **Efficient Transmission**: Transfers only a compact reference string instead of the entire data set, avoiding memory copies +2. **Memory Optimization**: Large data is stored in a single location regardless of the number of receivers +3. **Improved Readability**: Compact reference strings are easier to display in CSM Log controls without consuming excessive space + +## Data Lifecycle + +- MassData Support uses a circular buffer mechanism internally +- When the buffer is full, new data will overwrite old data from the beginning +- Once overwritten, the original data can no longer be recovered, and decoding will fail +- All CSM modules within the same application share the same MassData buffer space + + NEVSTOP https://github.com/NEVSTOP-LAB/JKISMPP-MassData-Parameter-Support - [add] Add CSM tool: MassData Cache Status Viewer -[add] Add a sub-palette in argument palette -[Update] #24 Example: refactor example for csm-doc - + [feature] #26 MassData now could be used with lvlibp +[Update] doc update diff --git a/_test/MassData Parameter Support Demo.vi b/_test/MassData Parameter Support Demo.vi index e74fde8..71f0181 100644 Binary files a/_test/MassData Parameter Support Demo.vi and b/_test/MassData Parameter Support Demo.vi differ diff --git a/_test/massdataInlvlibp/massdataInlvlibp.lvlib b/_test/massdataInlvlibp/massdataInlvlibp.lvlib new file mode 100644 index 0000000..8305701 --- /dev/null +++ b/_test/massdataInlvlibp/massdataInlvlibp.lvlib @@ -0,0 +1,8 @@ + + + &Q#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!(]!!!*Q(C=\>8"<2MR%!813:!!O;K$1#V-#WJ",5Q,OPKI&K9&N;!7JA7VI";=JQVBZ"4F%#-ZG/O26X_ZZ$/87%>M\6P%FXB^VL\_NHV=@X<^39O0^N(_<8NZOEH@@=^_CM?,3)VK63LD->8LS%=_]J'0@/1N<XH,7^\SFJ?]Z#5P?=F,HP+5JTTF+5`Z>MB$(P+1)YX*RU2DU$(![)Q3YW.YBG>YBM@8'*\B':\B'2Z>9HC':XC':XD=&M-T0--T0-.DK%USWS(H'2\$2`-U4`-U4`/9-JKH!>JE<?!W#%;UC_WE?:KH?:R']T20]T20]\A=T>-]T>-]T?/7<66[UTQ//9^BIHC+JXC+JXA-(=640-640-6DOCC?YCG)-G%:(#(+4;6$_6)]R?.8&%`R&%`R&)^,WR/K<75?GM=BZUG?Z%G?Z%E?1U4S*%`S*%`S'$;3*XG3*XG3RV320-G40!G3*D6^J-(3D;F4#J,(T\:<=HN+P5FS/S,7ZIWV+7.NNFC<+.<GC0819TX-7!]JVO,(7N29CR6L%7,^=<(1M4#R*IFV][.DX(X?V&6>V&G>V&%>V&\N(L@_Z9\X_TVONVN=L^?Y8#ZR0J`D>$L&]8C-Q_%1_`U_>LP>WWPAO_0NB@$TP@4C`%`KH@[8`A@PRPA=PYZLD8Y![_ML^!!!!!! + 385908736 + 1.0.0.0 + true + + diff --git a/_test/massdataInlvlibp/massdataInlvlibp.lvlibp b/_test/massdataInlvlibp/massdataInlvlibp.lvlibp new file mode 100644 index 0000000..31858d6 Binary files /dev/null and b/_test/massdataInlvlibp/massdataInlvlibp.lvlibp differ diff --git a/_test/massdataInlvlibp/parseMassdata.vi b/_test/massdataInlvlibp/parseMassdata.vi new file mode 100644 index 0000000..d6ecc4d Binary files /dev/null and b/_test/massdataInlvlibp/parseMassdata.vi differ diff --git a/_test/massdataInlvlibp/test massdataInlvlibp.vi b/_test/massdataInlvlibp/test massdataInlvlibp.vi new file mode 100644 index 0000000..7d0ca7e Binary files /dev/null and b/_test/massdataInlvlibp/test massdataInlvlibp.vi differ diff --git a/addons/MassData-Parameter/CSM - Config MassData Parameter Cache Size.vi b/addons/MassData-Parameter/CSM - Config MassData Parameter Cache Size.vi index 6f17900..0fd9b1b 100644 Binary files a/addons/MassData-Parameter/CSM - Config MassData Parameter Cache Size.vi and b/addons/MassData-Parameter/CSM - Config MassData Parameter Cache Size.vi differ diff --git a/addons/MassData-Parameter/CSM - Convert Argument to MassData.vim b/addons/MassData-Parameter/CSM - Convert Argument to MassData.vim index ae3cd75..637e4b2 100644 Binary files a/addons/MassData-Parameter/CSM - Convert Argument to MassData.vim and b/addons/MassData-Parameter/CSM - Convert Argument to MassData.vim differ diff --git a/addons/MassData-Parameter/CSM - Convert MassData to Argument With DataType.vim b/addons/MassData-Parameter/CSM - Convert MassData to Argument With DataType.vim index 481c6f6..b3b2c81 100644 Binary files a/addons/MassData-Parameter/CSM - Convert MassData to Argument With DataType.vim and b/addons/MassData-Parameter/CSM - Convert MassData to Argument With DataType.vim differ diff --git a/addons/MassData-Parameter/CSM - Convert MassData to Argument.vim b/addons/MassData-Parameter/CSM - Convert MassData to Argument.vim index 9ef8df8..bff43bf 100644 Binary files a/addons/MassData-Parameter/CSM - Convert MassData to Argument.vim and b/addons/MassData-Parameter/CSM - Convert MassData to Argument.vim differ diff --git a/addons/MassData-Parameter/CSM - MassData Parameter Status.vi b/addons/MassData-Parameter/CSM - MassData Parameter Status.vi index 78a2be3..f39753a 100644 Binary files a/addons/MassData-Parameter/CSM - MassData Parameter Status.vi and b/addons/MassData-Parameter/CSM - MassData Parameter Status.vi differ diff --git a/addons/MassData-Parameter/CSM MassData Parameter Support.lvlib b/addons/MassData-Parameter/CSM MassData Parameter Support.lvlib index bc73a04..5d2adb3 100644 --- a/addons/MassData-Parameter/CSM MassData Parameter Support.lvlib +++ b/addons/MassData-Parameter/CSM MassData Parameter Support.lvlib @@ -8,6 +8,7 @@ + diff --git a/addons/MassData-Parameter/Utility/CSM - MassData Update Status Indicator.vi b/addons/MassData-Parameter/Utility/CSM - MassData Update Status Indicator.vi index 9c8fec7..d7c7246 100644 Binary files a/addons/MassData-Parameter/Utility/CSM - MassData Update Status Indicator.vi and b/addons/MassData-Parameter/Utility/CSM - MassData Update Status Indicator.vi differ diff --git a/addons/MassData-Parameter/_support/FGV-MassData(lvlibp).vi b/addons/MassData-Parameter/_support/FGV-MassData(lvlibp).vi new file mode 100644 index 0000000..5258bc5 Binary files /dev/null and b/addons/MassData-Parameter/_support/FGV-MassData(lvlibp).vi differ diff --git a/addons/MassData-Parameter/_support/FGV-MassData.vi b/addons/MassData-Parameter/_support/FGV-MassData.vi index 0a1cee4..d086968 100644 Binary files a/addons/MassData-Parameter/_support/FGV-MassData.vi and b/addons/MassData-Parameter/_support/FGV-MassData.vi differ diff --git a/example/1. MassData Argument Format.vi b/example/1. MassData Argument Format.vi index 4bdbbbb..ac96835 100644 Binary files a/example/1. MassData Argument Format.vi and b/example/1. MassData Argument Format.vi differ diff --git a/example/2. Show MassData Cache Status in FP.vi b/example/2. Show MassData Cache Status in FP.vi index d541aa1..ad4a033 100644 Binary files a/example/2. Show MassData Cache Status in FP.vi and b/example/2. Show MassData Cache Status in FP.vi differ diff --git a/example/3. MassData in Non-CSM Framework.vi b/example/3. MassData in Non-CSM Framework.vi index 6981f54..ea43e7a 100644 Binary files a/example/3. MassData in Non-CSM Framework.vi and b/example/3. MassData in Non-CSM Framework.vi differ diff --git a/example/4. MassData in CSM.vi b/example/4. MassData in CSM.vi index b6df768..8bad25a 100644 Binary files a/example/4. MassData in CSM.vi and b/example/4. MassData in CSM.vi differ