void NetShrVarInterface::updateParamCNVImpl(int param_index, CNVData data, CNVDataType type, unsigned int nDims, bool do_asyn_param_callbacks) { if (nDims == 0) { typename CNV2C<cnvType>::ctype val; int status = CNVGetScalarDataValue (data, type, &val); ERROR_CHECK("CNVGetScalarDataValue", status); updateParamValue(param_index, val, do_asyn_param_callbacks); CNV2C<cnvType>::free(val); } else { typename CNV2C<cnvType>::ctype* val; size_t dimensions[10]; int status = CNVGetArrayDataDimensions(data, nDims, dimensions); ERROR_CHECK("CNVGetArrayDataDimensions", status); size_t nElements = 1; for(unsigned i=0; i<nDims; ++i) { nElements *= dimensions[i]; } val = new typename CNV2C<cnvType>::ctype[nElements]; status = CNVGetArrayDataValue(data, type, val, nElements); ERROR_CHECK("CNVGetArrayDataValue", status); updateParamArrayValue(param_index, val, nElements); delete[] val; } }
void get_intensity(void) { static CNVReader reader; CNVCreateReader ("\\\\dell780lab-4\\ERG\\Pulse_intensity", NULL, NULL, 10000, 0, &reader); CNVRead (reader, 10000, &data); CNVGetArrayDataValue (data, CNVDouble, &tobelog, 3); printf("%f\t%f\t%f\t%d\n",tobelog[0],tobelog[1],tobelog[2],i-1); fprintf ( IO_intensity, "%f\t%f\t%f\t%d\n", tobelog[0],tobelog[1],tobelog[2],i-1); //i-1 bc the values are taken before the trigg for oscillo acquisition }