08-15-2019 03:10 AM
int val; switch (event) { case EVENT_COMMIT: GetCtrlVal (panel, PANELPAUSE_PAUSE, &val); SetCtrlAttribute (panelsil, SILY_GRAFSIL, ATTR_STRIP_CHART_PAUSED,val); SetCtrlAttribute (panelvy, VYSKA_GRAFVYS, ATTR_STRIP_CHART_PAUSED,val); SetCtrlAttribute (panelvyk, VYKYVY_GRAFVYK, ATTR_STRIP_CHART_PAUSED,val); break; } return 0; }
Solved! Go to Solution.
08-15-2019 04:12 AM
Hi,
ATTR_STRIP_CHART_PAUSED is only valid when the scroll mode is set to continuous.
jan
08-15-2019 04:39 AM
08-15-2019 05:53 AM
Hi,
Your graph window is set to 1024 points. You have to fill in 1024 points before you can scroll back in time. Make sure that the graph buffer (ATTR_HISTORY_BUFFER_SIZE) can hold more than 1024 points.
Jan
08-15-2019 06:42 AM
08-15-2019 06:55 AM
Hi,
It depends on your requirements. As a start you can set ATTR_HISTORY_BUFFER_SIZE to 10 times the points per screen:
Example
SetCtrlAttribute(hPanel, hCtrl, ATTR_SCROLL_MODE, VAL_CONTINUOUS);
SetCtrlAttribute(hPanel, hCtrl, ATTR_HISTORY_BUFFER_SIZE, 10*1024);
SetCtrlAttribute(hPanel, hCtrl, ATTR_POINTS_PER_SCREEN, 1024);
Jan
08-16-2019 12:14 AM
int CVICALLBACK CallbackPauseGraph (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { int hod, val; switch (event) { case EVENT_COMMIT: GetCtrlVal (panel, PANELPAUSE_PAUSE, &val); SetCtrlAttribute (panelsil, SILY_GRAFSIL, ATTR_STRIP_CHART_PAUSED,val); SetCtrlAttribute (panelvy, VYSKA_GRAFVYS, ATTR_STRIP_CHART_PAUSED,val); SetCtrlAttribute (panelvyk, VYKYVY_GRAFVYK, ATTR_STRIP_CHART_PAUSED,val); SetCtrlAttribute(panelsil, SILY_GRAFSIL, ATTR_HISTORY_BUFFER_SIZE, 10*900); SetCtrlAttribute(panelsil, SILY_GRAFSIL, ATTR_POINTS_PER_SCREEN, 900); SetCtrlAttribute(panelvy, VYSKA_GRAFVYS, ATTR_HISTORY_BUFFER_SIZE, 10*900); SetCtrlAttribute(panelvy, VYSKA_GRAFVYS, ATTR_POINTS_PER_SCREEN, 900); SetCtrlAttribute(panelvyk, VYKYVY_GRAFVYK, ATTR_HISTORY_BUFFER_SIZE, 10*900); SetCtrlAttribute(panelvyk, VYKYVY_GRAFVYK, ATTR_POINTS_PER_SCREEN, 900);
08-16-2019 12:52 AM