QView™ Visualization & Monitoring - QTools - Quantum Leaps
文章推薦指數: 80 %
QView™ is a powerful Visualization and Monitoring facility, which allows embedded developers to rapidly create remote graphical user-interfaces to monitor ...
QTools
7.0.0
CollectionofHost-BasedTools
AboutQView™
QView™isapowerfulVisualizationandMonitoringfacility,whichallowsembeddeddeveloperstorapidlycreateremotegraphicaluser-interfacestomonitorandcontroltheirembeddeddevicesfromahost(desktop)computer.TheinterfacescreatedbyQView™canvisualizethetracingdataproducedbyQP/Spyandcanalsointeractwiththetargetbysendingcommandsandinjectingeventstotheembeddedtarget.
Asyoucanseeinthescreenshotsbelow,aQView™userinterfaceconsistsofatextboxwithextensiblemenusplusacustomizablecanvasthatcanserveasaremotegraphicaluser-interfacetoyourembeddeddevice.Thecanvascancontainvarious"widgets",suchasbuttons,sliders,gauges,graphs,animations,etc.TheactualfunctionalityofthevirtualGUIobviouslydependsonthetargetsystemandtheembeddedcodeitisrunning.Therefore,theQView™providesonlyaskeleton,whichisthencustomizedbyuser-suppliedscriptswritteninPython(version3).
ExampleofaQView™sessiononanembeddedboard(Windowshost)
ExampleofaQView™session(Linuxhost)
What'sSpecialAboutIt?
QView™hasbeenspecificallydesignedforextensibility,sothatyoucanquicklycustomizeitsGUIandbehaviortoyourspecificembeddedproject,sothatyoucanuseQView™asapowerfulcustomHuman-MachineInterface(HMI)foryourprojects.ThecusomizationisaccomplishedinPython(version3),whichmeansthatitisnaturallyplatform-neutralandrunswithoutanychangesonWindows,Linux,ormacOS.
Outofthebox,QView™supportsthefollowingcommands(NOTE:ThisbasicfunctionalitycanbeextendedintheQView™customization):
SetglobalQSfiltersinsidetheTarget
SetlocalQSfiltersinsidetheTarget
InjectanarbitraryeventtotheTarget(directpostorpublish)
Executeauser-definedcommandfunctioninsidetheTargetwithargumentssuppliedfromQView™
PeekdatainsidetheTargetandsendtoQView™
Pokedata(suppliedfromQView™)intotheTarget
ExecuteclocktickinsidetheTarget
RemotelyresettheTarget.
NoteAvisualizationandmonitoringsystemlikeQView™canbeusedinallstagesofdevelopment,duringmanufacturing,andalsoafterdeploymentforin-fieldservicingofembeddeddevices.
QView™Structure
ThesequencediagrambelowshowsthegeneralstructureofQView™.TheembeddedTargetisrunninganinstrumentedcodethatcommunicateswiththeQSPYHostapplicationovertheTargetdatalink(redarrows).ThiscommunicationisbasedontheQP/SpyProtocol.
AttentionTheTargetmustberunningthe"Spy"buildconfiguration,inwhichtheQP/Spy™SoftwareTracingisenabled.Additionally,theQP/SpyimplementationintheTargetmustsupportbi-directionalcommunicationwithQSPY.
TheQView™(Pythonscript)attachestotheQSPYhostapplicationbymeansoftheUDPsocketthatQSPYopensspecificallyforattachingvarious"front-ends".Thiscommunication(bluearrows)usesthesamepacketstructureastheQP/SpyProtocol,butwithouttheHDLCframing,withouttransparency(escaping),andwithoutthechecksum.
CommunicationbetweenTarget,QSPY,andQView
A
ATargetproducesQStracerecords,whichtheQSPYBack-EndforwardstotheUDPSocket,sothatanyattachedFront-End(suchasQView™)receivesallthisdata.
B
TheFront-End(QView™)sendscommandsasUDPpacketstoQSPY.Forsomeofthosepackets,theQSPYBack-Endsuppliesadditionalinformation(e.g.,translationbetweensymbolicnamesandbinaryaddressesaccordingtotheQSdictionariescollectedfromtheTarget).
C
TheQSPYBack-EndthenforwardsthemodifiedpacketstotheTarget.
RemarksWhyUDP?ThecommunicationbetweenQSPYandQViewisbasedonUDP,becauseUDPisinherentlypacket-oriented(asopposedtoTCP,whichisstream-oriented)andpreservesthepacketboundaries.
Installation&Use
Theqview.pyscriptcanbeusedstandalone,withoutanyinstallationinyourPythonsystem(seeRunningQView™below).
NoteTheqview.pyscriptisincludedintheQTools™collection.Also,theQTools™collectionforWindowsalreadyincludesPython(3.8),soyoudon'tneedtoinstallanythingextra.
Alternatively,youcanuseyourownPythoninstallation,intowhichyoucaninstallthelatestQView™withpipfromthePyPiindexbyexecutingthefollowingcommand:
pipinstallqview
RunningQView™
IfyouareusingQView™asastandalonePythonscript,youinvokeitasfollows:
python3
延伸文章資訊
- 1Downloads - qView - Interverse
Windows, macOS, and Linux downloads for qView, a lightweight, minimal image viewer.
- 2QView™ Visualization & Monitoring - QTools - Quantum Leaps
QView™ is a powerful Visualization and Monitoring facility, which allows embedded developers to r...
- 3qView Image Viewer - YouTube
- 4qView is a minimalistic image viewer for Windows, Linux and ...
qView is a minimalistic image viewer for Windows, Linux and macOS. It can play slideshows, rotate...
- 5qView - Practical and Minimal Image Viewer - Interverse
qView is a lightweight image viewer designed with minimalism and practicality in mind, available ...