import matplotlib
matplotlib.use('TkAgg')
import sys
import pylab as p
import time
import isystem.connect as ic
from isystem.connect import IConnectDebug as ICDebug
if __name__ == '__main__':
winidea_id = ''
cmgr = ic.ConnectionMgr()
cmgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
debugCtrl = ic.CDebugFacade(cmgr)
debugCtrl.download()
debugCtrl.deleteAll()
debugCtrl.runUntilFunction('main')
debugCtrl.waitUntilStopped()
debugCtrl.run()
ax = p.subplot(111)
canvas = ax.figure.canvas
if len(sys.argv) < 2:
varName = 'main_loop_counter'
print('No target variable name specified in cmd line, using default: ' + varName)
else:
varName = sys.argv[1]
print('Drawing chart for target variable: ' + varName)
x = range(0, 500)
lineData = [0]*len(x)
line, = p.plot(x, lineData, animated=True, lw=2)
p.axis([0, 500, -2000, 2000])
def run(*args):
background = canvas.copy_from_bbox(ax.bbox)
run.flag = True
startTime = time.time()
while run.flag:
canvas.restore_region(background)
del lineData[0]
main_loop_counter = debugCtrl.evaluate(ICDebug.fRealTime, varName)
lineData.append(main_loop_counter.getInt())
line.set_ydata(lineData)
ax.draw_artist(line)
canvas.blit(ax.bbox)
if (time.time() - startTime) > 5:
print('Recording finished!')
run.flag = False
p.subplots_adjust(left=0.3, bottom=0.3)
p.grid()
manager = p.get_current_fig_manager()
manager.window.after(100, run)
p.show()