You need to change it to:
#define MAX_LOCATIONS 1000
int locations[MAX_LOCATIONS];
assign locations to "{tel}{instr}:{mech}:locations"; // where locations is a waveform record with an integer array.
Do you mean a waveform record of type CHAR that is used to hold a long string? I think you just declare it as
char waveform[MAX_SIZE];
Mark
Hi
I cannot find an explicit example in regards to accessing the element values in a waveform array from within an SNL sequencer.
Does anybody have experience doing so?
Can’t seem to do this:
int locations;
assign locations to "{tel}{instr}:{mech}:locations"; // where locations is a waveform record with an integer array.
int locs[4] = {0,300,600,900};
pvGet( locations );
locs = locations; // is the declaration for locations (above) correct?
error: incompatible types when assigning to type int[4] from type int *
locs = locations;
This fails too:
locs[0] = locations[0];
I guess I’m ignorant in regards to accessing the array values in the record.
Also, is it necessary to escape to C in order to update the elements in a waveform string record?
Thanks for any advice you have
Al