Skip to content

Commit

Permalink
# Resolved Windows Setup Issues
Browse files Browse the repository at this point in the history
    - Added "Install for all users"
    - Fixed issues with the custom installation location
    - Automated PATH variable configuration
    - Enhanced the post-installation page
  # Improved path search for EPICS components in certain VIs
  # Updated VC Redist to Version 14.42.34433.0
  # Updated EPICS Base to Version 7.0.8.2
  # The C++ source code for CA Lab remains unchanged
  Fixed crash when enabling field values without field names enabled
  • Loading branch information
nugatritter committed Dec 16, 2024
1 parent 3f87a3b commit 404886b
Show file tree
Hide file tree
Showing 140 changed files with 795 additions and 674 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ calab/Debug/
calab/Release/
libcalab.so
/vis/CaLab.aliases
batch/copyFiles.bat
copy*.bat
post_install*
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ CA Lab library builds an internal PV cache and monitors PVs to improve the read
CA Lab includes a EPICS Base package (caget, caput, camonitor, softIOC and more).

<a href="https://github.com/epics-extensions/CALab/releases">🔗download Windows® setups and source code releases</a></br>
<a href="https://github.com/epics-extensions/CALab/blob/main/calabdocs.pdf">🔗more info and examples</a>
<a href="https://www.helmholtz-berlin.de/zentrum/organisation/it/calab/index_en.html">🔗more info and examples</a>
543 changes: 329 additions & 214 deletions caLab32.iss

Large diffs are not rendered by default.

547 changes: 331 additions & 216 deletions caLab64.iss

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
Changelog of CA Lab
V1.7.4.1 (Released: December 2024)
# Resolved Windows Setup Issues
- Added "Install for all users"
- Fixed issues with the custom installation location
- Automated PATH variable configuration
- Enhanced the post-installation page
# Improved path search for EPICS components in certain VIs
# Updated VC Redist to Version 14.42.34433.0
# Updated EPICS Base to Version 7.0.8.2
# The C++ source code for CA Lab remains unchanged
Fixed crash when enabling field values without field names enabled

----------------------------------------------------------------------
V1.7.3.3 (Released: June 2024)
+ When the PREC field is queried, the string output of the values is
formatted accordingly in CaLabGet.vi. This enhancement applies
Expand Down
132 changes: 0 additions & 132 deletions post_install.html

This file was deleted.

Binary file modified res/calab.rc
Binary file not shown.
11 changes: 8 additions & 3 deletions src/calab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
//==================================================================================================
// Name : caLab.cpp
// Authors : Carsten Winkler, Brian Powell
// Version : 1.7.3.3
// Version : 1.7.4.1
// Copyright : HZB
// Description : library for reading, writing and handle events of EPICS variables (PVs) in LabVIEW
// GitHub : https://github.com/epics-extensions/CALab
Expand Down Expand Up @@ -56,7 +56,7 @@ void __attribute__((destructor)) caLabUnload(void);
void* caLibHandle = 0x0;
void* comLibHandle = 0x0;
#endif
#define CALAB_VERSION "1.7.3.3"
#define CALAB_VERSION "1.7.4.1"
#define ERROR_OFFSET 7000 // User defined error codes of LabVIEW start at this number
#define MAX_ERROR_SIZE 255

Expand Down Expand Up @@ -2216,6 +2216,11 @@ void wait4value(uInt32& maxNumberOfValues, sLongArrayHdl* PvIndexArray, time_t T
// NoMDEL: indicator for ignoring monitor dead band (TRUE: use caget instead of camonitor)
extern "C" EXPORT void getValue(sStringArrayHdl * PvNameArray, sStringArrayHdl * FieldNameArray, sLongArrayHdl * PvIndexArray, double Timeout, sResultArrayHdl * ResultArray, sStringArrayHdl * FirstStringValue, sDoubleArrayHdl * FirstDoubleValue, sDoubleArray2DHdl * DoubleValueArray, LVBoolean * CommunicationStatus, LVBoolean * FirstCall, LVBoolean * NoMDEL = 0, LVBoolean * IsInitialized = 0, int filter = 0) {
epicsMutexLock(getLock);
// Add validation for field values requiring field names
if ((filter & out_filter::pviFieldValues) && !(filter & out_filter::pviFieldNames)) {
// Disable field values if field names not enabled
filter &= ~out_filter::pviFieldValues;
}
if (filter <= 0) {
filter = 0xffff;
}
Expand Down Expand Up @@ -2532,7 +2537,7 @@ extern "C" EXPORT void getValue(sStringArrayHdl * PvNameArray, sStringArrayHdl *
memcpy((*(*currentResult->FieldNameArray)->elt[l])->str, (*(**FieldNameArray)->elt[l])->str, (*(**FieldNameArray)->elt[l])->cnt);
}
}
if (filter & out_filter::pviFieldValues && (*FirstCall || currentItem->fieldModified[PvNameArray].load()) && (FieldNameArray && *FieldNameArray && **FieldNameArray && (**FieldNameArray)->dimSize)) {
if (filter & out_filter::pviFieldValues && (*FirstCall || currentItem->fieldModified[PvNameArray].load()) && (FieldNameArray && *FieldNameArray && **FieldNameArray && (**FieldNameArray)->dimSize) && currentResult->FieldNameArray) {
if (currentResult->FieldValueArray)
err += DeleteStringArray(currentResult->FieldValueArray);
currentResult->FieldValueArray = (sStringArrayHdl)DSNewHClr(sizeof(size_t) + (**FieldNameArray)->dimSize * sizeof(LStrHandle[1]));
Expand Down
Loading

0 comments on commit 404886b

Please sign in to comment.