12-22-2020 10:46 PM
Hello!
I've been attempting to compile a model in simulink with the 'VeriStand.tlc' target file.
The toolchain is 'VeriStand Compiler for Linux64 targets | gmake makefile (64-bit Linux)'.
My MATLAB version is R2019b.
My Veristand version is 2019R3.
Error information:
C:/software_project/VeriStandTemp005/VeriStandTemp5_veristand_rtw/VeriStandTemp5.c:341107:5: error: request for member 'Time' in something not a structure or union offsetof(B_VeriStandTemp5_T, VDG.Detections.Time) + (0*sizeof(real_T)),
The C code:
static NI_Signal NI_SigList[] DataSection(".NIVS.siglist") =
{
{ 0, "veristandtemp5/Actors and Sensor Simulation1/VDG/NumDetections", 0, "",
offsetof(B_VeriStandTemp5_T, VDG.NumDetections) + (0*sizeof(real_T)),
BLOCKIO_SIG, 0, 1, 2, 0, 0 },
{ 1, "veristandtemp5/Actors and Sensor Simulation1/VDG/IsValidTime", 0, "",
offsetof(B_VeriStandTemp5_T, VDG.IsValidTime) + (0*sizeof(boolean_T)),
BLOCKIO_SIG, 8, 1, 2, 0, 0 },
{ 2, "veristandtemp5/Actors and Sensor Simulation1/VDG/Detections/Time", 0, "",
offsetof(B_VeriStandTemp5_T, VDG.Detections.Time) + (0*sizeof(real_T)),
BLOCKIO_SIG, 0, 1, 2, 0, 0 },
.......
}
The datatype of "VDG" is "BusVision" defined as following:
typedef struct {
real_T NumDetections;
boolean_T IsValidTime;
BusVisionDetections Detections[4];
} BusVision;
typedef struct {
real_T Time;
real_T Measurement[6];
real_T MeasurementNoise[36];
real_T SensorIndex;
real_T ObjectClassID;
BusVisionDetectionsObjectAttributes ObjectAttributes;
BusVisionDetectionsMeasurementParameters MeasurementParameters;
} BusVisionDetections;