[{"data":1,"prerenderedAt":1955},["ShallowReactive",2],{"docs-nav-docs_cs":3,"docs-page-\u002Fcs\u002Fexamples\u002Fcan-xcp-nucleo-maps":366,"docs-surround-\u002Fcs\u002Fexamples\u002Fcan-xcp-nucleo-maps":1953},[4],{"title":5,"path":6,"stem":7,"children":8},"Cs","\u002Fcs","cs",[9,13,41,58,76,103,157,171,190,211,238,282,302],{"title":10,"path":6,"stem":11,"navTitle":12},"Dokumentace QInsight","cs\u002Findex","Přehled",{"title":14,"navTitle":15,"path":16,"stem":17,"children":18,"page":40},"Začínáme",null,"\u002Fcs\u002Fgetting-started","cs\u002F01.getting-started",[19,23,27,31,36],{"title":20,"path":21,"stem":22,"navTitle":20},"Co je QENEX Suite","\u002Fcs\u002Fgetting-started\u002Fwhat-is-qenex-suite","cs\u002F01.getting-started\u002F1.what-is-qenex-suite",{"title":24,"path":25,"stem":26,"navTitle":24},"Co je QInsight","\u002Fcs\u002Fgetting-started\u002Fwhat-is-qinsight","cs\u002F01.getting-started\u002F2.what-is-qinsight",{"title":28,"path":29,"stem":30,"navTitle":28},"Instalace","\u002Fcs\u002Fgetting-started\u002Finstallation","cs\u002F01.getting-started\u002F3.installation",{"title":32,"path":33,"stem":34,"navTitle":35},"Uživatelské rozhraní QInsight","\u002Fcs\u002Fgetting-started\u002Fthe-qinsight-interface","cs\u002F01.getting-started\u002F4.the-qinsight-interface","Uživatelské rozhraní",{"title":37,"path":38,"stem":39,"navTitle":37},"Licencování","\u002Fcs\u002Fgetting-started\u002Flicensing","cs\u002F01.getting-started\u002F5.licensing",false,{"title":42,"navTitle":15,"path":43,"stem":44,"children":45,"page":40},"První projekt","\u002Fcs\u002Ffirst-project","cs\u002F02.first-project",[46,50,54],{"title":47,"path":48,"stem":49,"navTitle":47},"Založení projektu","\u002Fcs\u002Ffirst-project\u002Fcreate-a-project","cs\u002F02.first-project\u002F1.create-a-project",{"title":51,"path":52,"stem":53,"navTitle":51},"Struktura projektu","\u002Fcs\u002Ffirst-project\u002Fproject-structure","cs\u002F02.first-project\u002F2.project-structure",{"title":55,"path":56,"stem":57,"navTitle":55},"Heslo projektu","\u002Fcs\u002Ffirst-project\u002Fproject-password","cs\u002F02.first-project\u002F3.project-password",{"title":59,"navTitle":15,"path":60,"stem":61,"children":62,"page":40},"Připojení zařízení","\u002Fcs\u002Fconnecting-a-device","cs\u002F03.connecting-a-device",[63,67,71],{"title":64,"path":65,"stem":66,"navTitle":64},"Přidání driveru","\u002Fcs\u002Fconnecting-a-device\u002Fadd-a-driver","cs\u002F03.connecting-a-device\u002F1.add-a-driver",{"title":68,"path":69,"stem":70,"navTitle":68},"Přidání protokolu","\u002Fcs\u002Fconnecting-a-device\u002Fadd-a-protocol","cs\u002F03.connecting-a-device\u002F2.add-a-protocol",{"title":72,"path":73,"stem":74,"navTitle":75},"Propojení driveru a protokolu","\u002Fcs\u002Fconnecting-a-device\u002Flink-driver-and-protocol","cs\u002F03.connecting-a-device\u002F3.link-driver-and-protocol","Propojení",{"title":77,"navTitle":15,"path":78,"stem":79,"children":80,"page":40},"Proměnné","\u002Fcs\u002Fvariables","cs\u002F04.variables",[81,85,89,93,98],{"title":82,"path":83,"stem":84,"navTitle":82},"Co je proměnná","\u002Fcs\u002Fvariables\u002Fwhat-is-a-variable","cs\u002F04.variables\u002F1.what-is-a-variable",{"title":86,"path":87,"stem":88,"navTitle":86},"Konverze a prezentace","\u002Fcs\u002Fvariables\u002Fconversion-and-presentation","cs\u002F04.variables\u002F2.conversion-and-presentation",{"title":90,"path":91,"stem":92,"navTitle":90},"Přidání proměnné","\u002Fcs\u002Fvariables\u002Fadd-a-variable","cs\u002F04.variables\u002F3.add-a-variable",{"title":94,"path":95,"stem":96,"navTitle":97},"Proměnná Matrix (pole, křivka, mapa)","\u002Fcs\u002Fvariables\u002Fmatrix-variable","cs\u002F04.variables\u002F4.matrix-variable","Proměnná Matrix",{"title":99,"path":100,"stem":101,"navTitle":102},"Události (Events)","\u002Fcs\u002Fvariables\u002Fevents","cs\u002F04.variables\u002F5.events","Události",{"title":104,"navTitle":15,"path":105,"stem":106,"children":107,"page":40},"Vizualizace","\u002Fcs\u002Fvisualization","cs\u002F05.visualization",[108,113,118,122,127,132,137,142,147,152],{"title":109,"path":110,"stem":111,"navTitle":112},"Vytvoření pracovní plochy","\u002Fcs\u002Fvisualization\u002Fcreate-a-workspace","cs\u002F05.visualization\u002F1.create-a-workspace","Pracovní plocha",{"title":114,"path":115,"stem":116,"navTitle":117},"Zápis hodnot do zařízení","\u002Fcs\u002Fvisualization\u002Fwrite-to-device","cs\u002F05.visualization\u002F10.write-to-device","Zápis do zařízení",{"title":119,"path":120,"stem":121,"navTitle":119},"Přidání controlu","\u002Fcs\u002Fvisualization\u002Fadd-a-control","cs\u002F05.visualization\u002F2.add-a-control",{"title":123,"path":124,"stem":125,"navTitle":126},"Navázání controlu na proměnnou","\u002Fcs\u002Fvisualization\u002Fbind-a-control","cs\u002F05.visualization\u002F3.bind-a-control","Navázání controlu",{"title":128,"path":129,"stem":130,"navTitle":131},"Graph — časový průběh signálů","\u002Fcs\u002Fvisualization\u002Fgraph-control","cs\u002F05.visualization\u002F4.graph-control","Graph",{"title":133,"path":134,"stem":135,"navTitle":136},"XY Graph — signál proti signálu","\u002Fcs\u002Fvisualization\u002Fxy-graph-control","cs\u002F05.visualization\u002F5.xy-graph-control","XY Graph",{"title":138,"path":139,"stem":140,"navTitle":141},"Gauge — ukazatel okamžité hodnoty","\u002Fcs\u002Fvisualization\u002Fgauge-control","cs\u002F05.visualization\u002F6.gauge-control","Gauge",{"title":143,"path":144,"stem":145,"navTitle":146},"Single-Signal — hodnota s popiskem","\u002Fcs\u002Fvisualization\u002Fsignal-control","cs\u002F05.visualization\u002F7.signal-control","Single-Signal",{"title":148,"path":149,"stem":150,"navTitle":151},"Watch Table — tabulka proměnných","\u002Fcs\u002Fvisualization\u002Fwatch-table-control","cs\u002F05.visualization\u002F8.watch-table-control","Watch Table",{"title":153,"path":154,"stem":155,"navTitle":156},"Matrix control — mapy a kalibrace","\u002Fcs\u002Fvisualization\u002Fmatrix-control","cs\u002F05.visualization\u002F9.matrix-control","Matrix control",{"title":158,"navTitle":15,"path":159,"stem":160,"children":161,"page":40},"Běh a sledování","\u002Fcs\u002Frunning","cs\u002F06.running",[162,166],{"title":163,"path":164,"stem":165,"navTitle":163},"Spuštění a zastavení","\u002Fcs\u002Frunning\u002Fstart-and-stop","cs\u002F06.running\u002F1.start-and-stop",{"title":167,"path":168,"stem":169,"navTitle":170},"Sledování živých dat","\u002Fcs\u002Frunning\u002Fwatching-live-data","cs\u002F06.running\u002F2.watching-live-data","Živá data",{"title":172,"navTitle":15,"path":173,"stem":174,"children":175,"page":40},"Logování a přehrávání","\u002Fcs\u002Flogging-and-replay","cs\u002F07.logging-and-replay",[176,180,185],{"title":177,"path":178,"stem":179,"navTitle":177},"Logování dat","\u002Fcs\u002Flogging-and-replay\u002Flogging-data","cs\u002F07.logging-and-replay\u002F1.logging-data",{"title":181,"path":182,"stem":183,"navTitle":184},"Přehrávání logu","\u002Fcs\u002Flogging-and-replay\u002Freplaying-a-log","cs\u002F07.logging-and-replay\u002F2.replaying-a-log","Přehrávání",{"title":186,"path":187,"stem":188,"navTitle":189},"Export dat","\u002Fcs\u002Flogging-and-replay\u002Fexporting-data","cs\u002F07.logging-and-replay\u002F3.exporting-data","Export",{"title":191,"navTitle":15,"path":192,"stem":193,"children":194,"page":40},"Python skripty","\u002Fcs\u002Fpython-scripts","cs\u002F08.python-scripts",[195,199,203,207],{"title":196,"path":197,"stem":198,"navTitle":12},"Přehled skriptů","\u002Fcs\u002Fpython-scripts\u002Fscripts-overview","cs\u002F08.python-scripts\u002F1.scripts-overview",{"title":200,"path":201,"stem":202,"navTitle":200},"Přístup k proměnným","\u002Fcs\u002Fpython-scripts\u002Faccessing-variables","cs\u002F08.python-scripts\u002F2.accessing-variables",{"title":204,"path":205,"stem":206,"navTitle":204},"Příklad skriptu","\u002Fcs\u002Fpython-scripts\u002Fexample-script","cs\u002F08.python-scripts\u002F3.example-script",{"title":208,"path":209,"stem":210,"navTitle":208},"Post-processing CSV","\u002Fcs\u002Fpython-scripts\u002Fcsv-post-processing","cs\u002F08.python-scripts\u002F4.csv-post-processing",{"title":212,"navTitle":15,"path":213,"stem":214,"children":215,"page":40},"Vlastní rozšíření","\u002Fcs\u002Fcustom-extensions","cs\u002F09.custom-extensions",[216,220,224,228,233],{"title":217,"path":218,"stem":219,"navTitle":217},"Vlastní driver","\u002Fcs\u002Fcustom-extensions\u002Fcustom-driver","cs\u002F09.custom-extensions\u002F1.custom-driver",{"title":221,"path":222,"stem":223,"navTitle":221},"Vlastní protokol","\u002Fcs\u002Fcustom-extensions\u002Fcustom-protocol","cs\u002F09.custom-extensions\u002F2.custom-protocol",{"title":225,"path":226,"stem":227,"navTitle":225},"Vlastní Control","\u002Fcs\u002Fcustom-extensions\u002Fcustom-control","cs\u002F09.custom-extensions\u002F3.custom-control",{"title":229,"path":230,"stem":231,"navTitle":232},"Kompletní ukázka — poloha ISS","\u002Fcs\u002Fcustom-extensions\u002Fiss-example","cs\u002F09.custom-extensions\u002F4.iss-example","Ukázka ISS",{"title":234,"path":235,"stem":236,"navTitle":237},"Kompletní ukázka — teploměr","\u002Fcs\u002Fcustom-extensions\u002Ftemp-sensor-example","cs\u002F09.custom-extensions\u002F5.temp-sensor-example","Ukázka teploměr",{"title":239,"navTitle":15,"path":240,"stem":241,"children":242,"page":40},"QFW SDK","\u002Fcs\u002Fdevice-sdk","cs\u002F10.device-sdk",[243,248,253,258,263,268,272,277],{"title":244,"path":245,"stem":246,"navTitle":247},"QFW SDK — úvod","\u002Fcs\u002Fdevice-sdk\u002Fintroduction","cs\u002F10.device-sdk\u002F1.introduction","Úvod",{"title":249,"path":250,"stem":251,"navTitle":252},"XCP v QFW SDK","\u002Fcs\u002Fdevice-sdk\u002Fxcp","cs\u002F10.device-sdk\u002F2.xcp","XCP",{"title":254,"path":255,"stem":256,"navTitle":257},"Integrace krok za krokem: XCP on TCP s FreeRTOS + lwIP","\u002Fcs\u002Fdevice-sdk\u002Fintegration-tcp","cs\u002F10.device-sdk\u002F3.integration-tcp","Integrace: XCP on TCP",{"title":259,"path":260,"stem":261,"navTitle":262},"XCP on classic CAN — co se mění","\u002Fcs\u002Fdevice-sdk\u002Fcan","cs\u002F10.device-sdk\u002F4.can","XCP on classic CAN",{"title":264,"path":265,"stem":266,"navTitle":267},"Integrace bez RTOS: XCP on TCP z hlavní smyčky","\u002Fcs\u002Fdevice-sdk\u002Fbaremetal","cs\u002F10.device-sdk\u002F5.baremetal","Integrace bez RTOS",{"title":269,"path":270,"stem":271,"navTitle":269},"Kontrakt enginu","\u002Fcs\u002Fdevice-sdk\u002Fengine-contract","cs\u002F10.device-sdk\u002F6.engine-contract",{"title":273,"path":274,"stem":275,"navTitle":276},"Adresy proměnných pro QInsight","\u002Fcs\u002Fdevice-sdk\u002Fvariable-addresses","cs\u002F10.device-sdk\u002F7.variable-addresses","Adresy proměnných",{"title":278,"path":279,"stem":280,"navTitle":281},"Řešení potíží při integraci SDK","\u002Fcs\u002Fdevice-sdk\u002Ftroubleshooting","cs\u002F10.device-sdk\u002F8.troubleshooting","Řešení potíží",{"title":283,"navTitle":15,"path":284,"stem":285,"children":286,"page":40},"Reference","\u002Fcs\u002Freference","cs\u002F11.reference",[287,291,295,299],{"title":288,"path":289,"stem":290,"navTitle":288},"Drivery","\u002Fcs\u002Freference\u002Fdrivers","cs\u002F11.reference\u002F1.drivers",{"title":292,"path":293,"stem":294,"navTitle":292},"Protokoly","\u002Fcs\u002Freference\u002Fprotocols","cs\u002F11.reference\u002F2.protocols",{"title":296,"path":297,"stem":298,"navTitle":296},"Controls","\u002Fcs\u002Freference\u002Fcontrols","cs\u002F11.reference\u002F3.controls",{"title":281,"path":300,"stem":301,"navTitle":281},"\u002Fcs\u002Freference\u002Ftroubleshooting","cs\u002F11.reference\u002F4.troubleshooting",{"title":303,"navTitle":15,"path":304,"stem":305,"children":306,"page":40},"Příklady","\u002Fcs\u002Fexamples","cs\u002F12.examples",[307,311,316,321,326,330,334,338,342,346,351,356,361],{"title":308,"path":309,"stem":310,"navTitle":308},"Simulace: všechny signály","\u002Fcs\u002Fexamples\u002Fsimulation-all-signals","cs\u002F12.examples\u002F01.simulation-all-signals",{"title":312,"path":313,"stem":314,"navTitle":315},"Modbus RTU master po sériové lince","\u002Fcs\u002Fexamples\u002Fserial-modbus-master","cs\u002F12.examples\u002F02.serial-modbus-master","Modbus RTU master",{"title":317,"path":318,"stem":319,"navTitle":320},"Modbus RTU slave se simulovanými senzory","\u002Fcs\u002Fexamples\u002Fserial-modbus-slave","cs\u002F12.examples\u002F03.serial-modbus-slave","Modbus RTU slave",{"title":322,"path":323,"stem":324,"navTitle":325},"Modbus TCP master přes TCP klienta","\u002Fcs\u002Fexamples\u002Ftcp-client-modbus-master","cs\u002F12.examples\u002F04.tcp-client-modbus-master","Modbus TCP master",{"title":327,"path":328,"stem":329,"navTitle":327},"Modbus TCP slave na TCP serveru","\u002Fcs\u002Fexamples\u002Ftcp-server-modbus-slave","cs\u002F12.examples\u002F05.tcp-server-modbus-slave",{"title":331,"path":332,"stem":333,"navTitle":331},"Bitové pole a skript","\u002Fcs\u002Fexamples\u002Fbit-field-script","cs\u002F12.examples\u002F08.bit-field-script",{"title":335,"path":336,"stem":337,"navTitle":335},"Dvě ECU najednou","\u002Fcs\u002Fexamples\u002Ftwo-ecus","cs\u002F12.examples\u002F09.two-ecus",{"title":339,"path":340,"stem":341,"navTitle":339},"Poloha ISS naživo","\u002Fcs\u002Fexamples\u002Fiss-live-tracking","cs\u002F12.examples\u002F10.iss-live-tracking",{"title":343,"path":344,"stem":345,"navTitle":343},"Simulovaný teploměr","\u002Fcs\u002Fexamples\u002Fsimul-temp-measure","cs\u002F12.examples\u002F11.simul-temp-measure",{"title":347,"path":348,"stem":349,"navTitle":350},"JSON signály z Python generátoru","\u002Fcs\u002Fexamples\u002Fjson-signal-python","cs\u002F12.examples\u002F12.json-signal-python","JSON signály z Pythonu",{"title":352,"path":353,"stem":354,"navTitle":355},"Raw CAN rámce z Raspberry","\u002Fcs\u002Fexamples\u002Fraw-can-python","cs\u002F12.examples\u002F13.raw-can-python","Raw CAN z Raspberry",{"title":357,"path":358,"stem":359,"navTitle":360},"XCP on TCP na NUCLEO-H723ZG: měření, stimulace a kalibrační mapy","\u002Fcs\u002Fexamples\u002Ftcp-client-xcp-nucleo-maps","cs\u002F12.examples\u002F14.tcp-client-xcp-nucleo-maps","XCP on TCP na NUCLEO-H723ZG",{"title":362,"path":363,"stem":364,"navTitle":365},"XCP on CAN na NUCLEO-H723ZG: měření, stimulace a kalibrační mapy","\u002Fcs\u002Fexamples\u002Fcan-xcp-nucleo-maps","cs\u002F12.examples\u002F15.can-xcp-nucleo-maps","XCP on CAN na NUCLEO-H723ZG",{"id":367,"title":362,"body":368,"description":1947,"extension":1948,"meta":1949,"navTitle":365,"navigation":1950,"path":363,"seo":1951,"stem":364,"__hash__":1952},"docs_cs\u002Fcs\u002F12.examples\u002F15.can-xcp-nucleo-maps.md",{"type":369,"value":370,"toc":1932},"minimark",[371,375,400,427,430,444,449,520,524,601,605,612,617,629,720,728,830,847,853,856,871,965,969,982,1300,1313,1342,1346,1352,1490,1497,1501,1512,1547,1557,1572,1618,1622,1625,1685,1688,1692,1726,1730,1863,1867,1928],[372,373,362],"h1",{"id":374},"xcp-on-can-na-nucleo-h723zg-měření-stimulace-a-kalibrační-mapy",[376,377,378,379,383,384,387,388,391,392,395,396,399],"p",{},"Projekt ",[380,381,382],"code",{},"Qenex_CAN_XCP_NucleoH723_Maps_FreeRTOS.qproj"," najdete ve složce\n",[380,385,386],{},"Examples"," vedle QInsight.exe. Patří k obrazu ukázkového firmwaru\n",[389,390,239],"a",{"href":250}," ",[380,393,394],{},"examples\u002Fnucleo_h723zg"," přeloženému\npresetem ",[380,397,398],{},"DebugCan"," (FreeRTOS, transport CAN); obraz bez RTOS CAN nemá.",[376,401,402,403,405,406,410,411,414,415,418,419,422,423,426],{},"Je to CAN varianta ukázky\n",[389,404,360],{"href":358},":\ntytéž proměnné, události, skripty i pracovní plocha, jen deska\nkomunikuje po klasickém CAN přes adaptér PEAK PCAN-USB. Na\nosmibajtových rámcích je dobře vidět, jak QInsight kombinuje ",[407,408,409],"strong",{},"DAQ",",\n",[407,412,413],{},"polling"," a ",[407,416,417],{},"STIM"," v jedné XCP session, proč se velké mapy čtou ",[407,420,421],{},"na\nvyžádání"," a proč se hodí ",[407,424,425],{},"block mód"," — a protože driver má záměrně\nomezený počet pokusů o obnovu spojení, ukázka předvádí i to, co se\nstane, když adaptér za běhu odpojíte.",[376,428,429],{},"Pracovní plocha je stejná jako u TCP varianty:",[376,431,432,439],{},[433,434],"img",{"alt":435,"className":436,"src":438},"Plocha „Nucleo H723 live + maps“ za běhu (snímek z TCP varianty, plocha je shodná)",[437],"img-light","\u002Fimg\u002FQInsight_ex_nucleo_maps_light.png",[433,440],{"alt":435,"className":441,"src":443},[442],"img-dark","\u002Fimg\u002FQInsight_ex_nucleo_maps_dark.png",[445,446,448],"h2",{"id":447},"co-ukázka-předvádí","Co ukázka předvádí",[450,451,452,477,483,500,506],"ul",{},[453,454,455,458,459,462,463,410,466,414,469,472,473,476],"li",{},[407,456,457],{},"DAQ měření"," — deska sama vysílá ",[380,460,461],{},"sine1_value",", ",[380,464,465],{},"sine1_raw",[380,467,468],{},"sine2_value",[380,470,471],{},"sine3_value"," na svém eventu ",[380,474,475],{},"demo10ms"," (každých 10 ms).",[453,478,479,482],{},[407,480,481],{},"Kalibraci pollingem"," — amplitudy a periody tří sinusovek se čtou\nkaždých 500 ms a dají se kdykoli zapsat.",[453,484,485,488,489,492,493,496,497,499],{},[407,486,487],{},"STIM bypass"," — periodický skript streamuje do ",[380,490,491],{},"sine1_stim"," pomalou\nsinusovku; přepínačem ",[380,494,495],{},"sine1_bypass"," rozhodnete, zda ",[380,498,461],{},"\nvlastní interní model desky, nebo master přes STIM.",[453,501,502,505],{},[407,503,504],{},"Mapy a křivku"," — mapa předstihu 16 × 16 a mapa 64 × 64 čtené na\nvyžádání tlačítkem Read, křivka momentu pollovaná každých 500 ms,\neditace buněk ve Write Mode a zápis jen změněných buněk.",[453,507,508,511,512,515,516,519],{},[407,509,510],{},"Obnovu spojení s limitem"," — ",[380,513,514],{},"reconnectAttempts=2",": po odpojení\nadaptéru driver ohlásí ztrátu transportu, dvakrát se pokusí o obnovu\na poté další pokusy ukončí; znovu jej spustí tlačítko ",[407,517,518],{},"Start",".",[445,521,523],{"id":522},"co-potřebujete","Co potřebujete",[450,525,526,547,558,565,575],{},[453,527,528,529,532,533,535,536,538,539,535,541,544,545,519],{},"Desku ",[407,530,531],{},"NUCLEO-H723ZG"," s firmwarem ukázkového projektu\n",[389,534,239],{"href":250}," (",[380,537,394],{},") přeloženým pro\ntransport CAN — preset ",[380,540,398],{},[380,542,543],{},"QFW_XCP_TRANSPORT=can","), viz\n",[389,546,262],{"href":260},[453,548,549,550,553,554,557],{},"Adaptér ",[407,551,552],{},"PEAK PCAN-USB"," propojený s CAN rozhraním desky; sběrnice\n",[407,555,556],{},"klasický CAN, 500 kbit\u002Fs",", rámce DLC 8.",[453,559,560,561,564],{},"XCP identifikátory ",[407,562,563],{},"master 0x200 \u002F slave 0x201"," (11bitové) — tak je\nmá firmware i projekt.",[453,566,567,570,571,574],{},[407,568,569],{},"Device ID adaptéru",": projekt má ",[380,572,573],{},"deviceId=0xff",". Hodnotu nahraďte\nID nastaveným ve vašem adaptéru (PEAK Settings), jinak driver adaptér\nnenajde a bude opakovat pokusy podle parametrů obnovy.",[453,576,577,580,581,583,584,587,588,591,592,595,596,598,599,519],{},[407,578,579],{},"Adresy proměnných odpovídající vašemu sestavení firmwaru."," Adresy\njsou absolutní a pocházejí z ELF souboru konkrétního sestavení\n(preset ",[380,582,398],{}," má jiné adresy maticových objektů než ",[380,585,586],{},"Debug",").\nNástroj ",[380,589,590],{},"tools\u002Felf_vars_scan.py"," z balíčku SDK s konfigurací\n",[380,593,594],{},"examples\u002Fnucleo_h723zg\u002Fnucleo_h723zg.vars.json"," upravenou na ELF\npresetu ",[380,597,398],{}," je vyčte a pole exportuje jako proměnné Matrix. Po\nkaždém novém sestavení firmwaru je v projektu obnovte, viz\n",[389,600,273],{"href":274},[445,602,604],{"id":603},"projekt","Projekt",[376,606,607,608,611],{},"Projekt obsahuje jeden driver PEAK CAN Adapter s protokolem XCP on CAN,\nčtyři události, sedmnáct proměnných, dva skripty a pracovní plochu\n",[407,609,610],{},"Nucleo H723 live + maps"," se čtyřmi controly.",[613,614,616],"h3",{"id":615},"driver-a-protokol","Driver a protokol",[376,618,619,620,624,625,628],{},"Driver ",[389,621,623],{"href":622},"\u002Fcs\u002Freference\u002Fdrivers#peak-can-adapter","PEAK CAN Adapter","\n(label ",[380,626,627],{},"PCAN-USB","):",[630,631,632,648],"table",{},[633,634,635],"thead",{},[636,637,638,642,645],"tr",{},[639,640,641],"th",{},"Parametr",[639,643,644],{},"Hodnota",[639,646,647],{},"Význam",[649,650,651,671,686,701],"tbody",{},[636,652,653,659,664],{},[654,655,656],"td",{},[380,657,658],{},"deviceId",[654,660,661],{},[380,662,663],{},"0xff",[654,665,666,667,670],{},"ID adaptéru (hexadecimálně) — ",[407,668,669],{},"upravte"," podle svého adaptéru",[636,672,673,678,683],{},[654,674,675],{},[380,676,677],{},"bitrate",[654,679,680],{},[380,681,682],{},"500000",[654,684,685],{},"500 kbit\u002Fs, klasický CAN",[636,687,688,693,698],{},[654,689,690],{},[380,691,692],{},"reconnectDelayMs",[654,694,695],{},[380,696,697],{},"1000",[654,699,700],{},"prodleva mezi pokusy o inicializaci adaptéru",[636,702,703,708,713],{},[654,704,705],{},[380,706,707],{},"reconnectAttempts",[654,709,710],{},[380,711,712],{},"2",[654,714,715,716,719],{},"po dvou po sobě jdoucích neúspěšných pokusech driver další pokusy ukončí (výchozí ",[380,717,718],{},"-1"," = bez omezení)",[376,721,722,723,727],{},"Pod ním jediná instance protokolu\n",[389,724,726],{"href":725},"\u002Fcs\u002Freference\u002Fprotocols#xcp-on-can","XCP on CAN",":",[630,729,730,740],{},[633,731,732],{},[636,733,734,736,738],{},[639,735,641],{},[639,737,644],{},[639,739,647],{},[649,741,742,757,772,787,801,815],{},[636,743,744,749,754],{},[654,745,746],{},[380,747,748],{},"masterId",[654,750,751],{},[380,752,753],{},"0x200",[654,755,756],{},"CAN id rámců master → slave",[636,758,759,764,769],{},[654,760,761],{},[380,762,763],{},"slaveId",[654,765,766],{},[380,767,768],{},"0x201",[654,770,771],{},"CAN id rámců slave → master",[636,773,774,779,784],{},[654,775,776],{},[380,777,778],{},"extendedIds",[654,780,781],{},[380,782,783],{},"false",[654,785,786],{},"11bitové identifikátory",[636,788,789,794,798],{},[654,790,791],{},[380,792,793],{},"requestTimeoutMs",[654,795,796],{},[380,797,697],{},[654,799,800],{},"timeout odpovědi na příkaz",[636,802,803,808,812],{},[654,804,805],{},[380,806,807],{},"requestRetries",[654,809,810],{},[380,811,712],{},[654,813,814],{},"opakování příkazu po timeoutu (navíc k prvnímu pokusu)",[636,816,817,822,827],{},[654,818,819],{},[380,820,821],{},"daqTimestamps",[654,823,824],{},[380,825,826],{},"slave",[654,828,829],{},"časová osa DAQ vzorků podle časových značek desky",[376,831,832,833,835,836,838,839,842,843,519],{},"Nastavení ",[380,834,821],{}," má na CAN zřetelný dopad na rozložení DAQ\npaketů: se ",[380,837,826],{}," nese první ODT každého cyklu čtyřbajtovou časovou\nznačku a zbývají v něm 2 datové bajty; bez časových značek ECU (hodnota\n",[380,840,841],{},"master",") má každý ODT 6 datových bajtů. Čtyři měřené floaty se v obou\npřípadech rozloží do více paketů na cyklus — protokol to udělá sám, viz\n",[389,844,846],{"href":845},"\u002Fcs\u002Freference\u002Fprotocols#chov%C3%A1n%C3%AD-a-diagnostika-daq","Chování a diagnostika DAQ",[376,848,849,850,519],{},"Block mód se nenastavuje — protokol ho zjistí při připojení a zapíše do\nlogu; slave na CAN hlásí ",[380,851,852],{},"MAX_BS 16",[613,854,102],{"id":855},"události",[376,857,858,859,861,862,391,865,535,867,870],{},"Čtyři ",[389,860,855],{"href":100},"; DAQ a STIM ukazují na ",[407,863,864],{},"tentýž\nevent kanál firmwaru",[380,866,475],{},[380,868,869],{},"daqId=\"0\"","), jen v opačném směru:",[630,872,873,889],{},[633,874,875],{},[636,876,877,880,883,886],{},[639,878,879],{},"Událost",[639,881,882],{},"Typ",[639,884,885],{},"Extra Params",[639,887,888],{},"K čemu",[649,890,891,909,928,951],{},[636,892,893,898,901,906],{},[654,894,895],{},[380,896,897],{},"Daq_demo10ms",[654,899,900],{},"Periodic 10 ms",[654,902,903],{},[380,904,905],{},"direction=\"DAQ\";daqId=\"0\"",[654,907,908],{},"deska vysílá měřené signály (perioda jen dokumentuje cyklus kanálu)",[636,910,911,916,918,923],{},[654,912,913],{},[380,914,915],{},"Stim_demo10ms",[654,917,900],{},[654,919,920],{},[380,921,922],{},"direction=\"STIM\";daqId=\"0\"",[654,924,925,926],{},"master každých 10 ms posílá aktuální hodnotu ",[380,927,491],{},[636,929,930,935,938,941],{},[654,931,932],{},[380,933,934],{},"Poll500ms",[654,936,937],{},"Periodic 500 ms",[654,939,940],{},"—",[654,942,943,944,947,948],{},"polling kalibračních parametrů, přepínače bypass, čítače ",[380,945,946],{},"uwTick",", křivky a ",[380,949,950],{},"qfwDemoMapOut",[636,952,953,958,960,962],{},[654,954,955],{},[380,956,957],{},"OnRequest",[654,959,957],{},[654,961,940],{},[654,963,964],{},"mapy čtené tlačítkem Read",[613,966,968],{"id":967},"skalární-proměnné","Skalární proměnné",[376,970,971,972,414,975,978,979,981],{},"Všech třináct skalárních proměnných má v Comm params\n",[380,973,974],{},"addressExtension=\"0\"",[380,976,977],{},"multiplier=\"1\"","; adresy jsou v sestavení\n",[380,980,398],{}," stejné jako v obrazu s FreeRTOS pro TCP:",[630,983,984,1004],{},[633,985,986],{},[636,987,988,991,993,996,999,1001],{},[639,989,990],{},"Proměnná",[639,992,882],{},[639,994,995],{},"Adresa",[639,997,998],{},"Směr",[639,1000,879],{},[639,1002,1003],{},"Prezentace",[649,1005,1006,1030,1052,1074,1095,1119,1142,1165,1188,1210,1232,1254,1277],{},[636,1007,1008,1012,1015,1020,1023,1027],{},[654,1009,1010],{},[380,1011,461],{},[654,1013,1014],{},"float",[654,1016,1017],{},[380,1018,1019],{},"0x2400005C",[654,1021,1022],{},"read",[654,1024,1025],{},[380,1026,897],{},[654,1028,1029],{},"Sine value (−10…10)",[636,1031,1032,1036,1038,1043,1045,1049],{},[654,1033,1034],{},[380,1035,465],{},[654,1037,1014],{},[654,1039,1040],{},[380,1041,1042],{},"0x24000058",[654,1044,1022],{},[654,1046,1047],{},[380,1048,897],{},[654,1050,1051],{},"Sine value — interní model sinusovky 1, běží i při bypassu",[636,1053,1054,1058,1060,1065,1067,1071],{},[654,1055,1056],{},[380,1057,468],{},[654,1059,1014],{},[654,1061,1062],{},[380,1063,1064],{},"0x24000074",[654,1066,1022],{},[654,1068,1069],{},[380,1070,897],{},[654,1072,1073],{},"Sine value",[636,1075,1076,1080,1082,1087,1089,1093],{},[654,1077,1078],{},[380,1079,471],{},[654,1081,1014],{},[654,1083,1084],{},[380,1085,1086],{},"0x2400008C",[654,1088,1022],{},[654,1090,1091],{},[380,1092,897],{},[654,1094,1073],{},[636,1096,1097,1102,1104,1109,1112,1116],{},[654,1098,1099],{},[380,1100,1101],{},"sine1_amplitude",[654,1103,1014],{},[654,1105,1106],{},[380,1107,1108],{},"0x24000050",[654,1110,1111],{},"readWrite",[654,1113,1114],{},[380,1115,934],{},[654,1117,1118],{},"Amplitude (0…10)",[636,1120,1121,1126,1128,1133,1135,1139],{},[654,1122,1123],{},[380,1124,1125],{},"sine1_period",[654,1127,1014],{},[654,1129,1130],{},[380,1131,1132],{},"0x24000054",[654,1134,1111],{},[654,1136,1137],{},[380,1138,934],{},[654,1140,1141],{},"Period (0,05…60 s; kratší periodu firmware ořízne)",[636,1143,1144,1149,1151,1156,1158,1162],{},[654,1145,1146],{},[380,1147,1148],{},"sine2_amplitude",[654,1150,1014],{},[654,1152,1153],{},[380,1154,1155],{},"0x24000068",[654,1157,1111],{},[654,1159,1160],{},[380,1161,934],{},[654,1163,1164],{},"Amplitude",[636,1166,1167,1172,1174,1179,1181,1185],{},[654,1168,1169],{},[380,1170,1171],{},"sine2_period",[654,1173,1014],{},[654,1175,1176],{},[380,1177,1178],{},"0x2400006C",[654,1180,1111],{},[654,1182,1183],{},[380,1184,934],{},[654,1186,1187],{},"Period",[636,1189,1190,1195,1197,1202,1204,1208],{},[654,1191,1192],{},[380,1193,1194],{},"sine3_amplitude",[654,1196,1014],{},[654,1198,1199],{},[380,1200,1201],{},"0x24000080",[654,1203,1111],{},[654,1205,1206],{},[380,1207,934],{},[654,1209,1164],{},[636,1211,1212,1217,1219,1224,1226,1230],{},[654,1213,1214],{},[380,1215,1216],{},"sine3_period",[654,1218,1014],{},[654,1220,1221],{},[380,1222,1223],{},"0x24000084",[654,1225,1111],{},[654,1227,1228],{},[380,1229,934],{},[654,1231,1187],{},[636,1233,1234,1238,1240,1244,1247,1251],{},[654,1235,1236],{},[380,1237,491],{},[654,1239,1014],{},[654,1241,1242],{},[380,1243,1019],{},[654,1245,1246],{},"write",[654,1248,1249],{},[380,1250,915],{},[654,1252,1253],{},"Stim level (0…100 %)",[636,1255,1256,1260,1263,1268,1270,1274],{},[654,1257,1258],{},[380,1259,495],{},[654,1261,1262],{},"byte",[654,1264,1265],{},[380,1266,1267],{},"0x24000060",[654,1269,1111],{},[654,1271,1272],{},[380,1273,934],{},[654,1275,1276],{},"Bypass (0\u002F1)",[636,1278,1279,1283,1286,1291,1293,1297],{},[654,1280,1281],{},[380,1282,946],{},[654,1284,1285],{},"uint",[654,1287,1288],{},[380,1289,1290],{},"0x24000124",[654,1292,1022],{},[654,1294,1295],{},[380,1296,934],{},[654,1298,1299],{},"HAL tick (ms) — důkaz, že je dosažitelná libovolná globální proměnná z ELF",[376,1301,1302,1303,1305,1306,1308,1309,1312],{},"Za pozornost stojí dvojice ",[380,1304,461],{}," \u002F ",[380,1307,491],{},": ",[407,1310,1311],{},"stejná adresa",",\njednou čtená přes DAQ, podruhé zapisovaná STIM proudem. Výchozí hodnoty\nfirmwaru: sinusovka 1 amplituda 1,0 \u002F perioda 1 s, sinusovka 2 5,0 \u002F 3 s,\nsinusovka 3 0,5 \u002F 10 s.",[376,1314,1315,1316,1319,1320,1323,1324,1326,1327,410,1330,1333,1334,1337,1338,1341],{},"Konverze jsou tři: ",[380,1317,1318],{},"PassThrough"," (1:1) pro všechno kromě stimulace a osy\nvelké mapy, ",[380,1321,1322],{},"StimPercent"," pro ",[380,1325,491],{}," — lineární ",[380,1328,1329],{},"multiplier=5",[380,1331,1332],{},"offset=50",", tedy ",[407,1335,1336],{},"eng = raw · 5 + 50"," (operátor i skript zadávají\nprocenta, QInsight hodnotu invertuje na raw: 75 % = raw 5,0; 50 % =\nraw 0) — a ",[380,1339,1340],{},"LoadTenth"," (×0,1) pro osu Y velké mapy.",[613,1343,1345],{"id":1344},"maticové-proměnné","Maticové proměnné",[376,1347,1348,1349,1351],{},"Maticové proměnné mají v sestavení ",[380,1350,398],{}," tyto adresy (address\nextension 0, little-endian):",[630,1353,1354,1373],{},[633,1355,1356],{},[636,1357,1358,1361,1364,1367,1369,1371],{},[639,1359,1360],{},"Proměnná (Label)",[639,1362,1363],{},"Tvar",[639,1365,1366],{},"Velikost",[639,1368,995],{},[639,1370,998],{},[639,1372,879],{},[649,1374,1375,1408,1435,1464],{},[636,1376,1377,1383,1394,1397,1402,1404],{},[654,1378,1379,1382],{},[380,1380,1381],{},"qfwDemoMap"," (Ignition map)",[654,1384,1385,1386,1388,1389,1305,1392],{},"mapa 16 × 16 ",[380,1387,1014],{},", osy ",[380,1390,1391],{},"ushort",[380,1393,1262],{},[654,1395,1396],{},"1072 B",[654,1398,1399],{},[380,1400,1401],{},"0x2401421C",[654,1403,1111],{},[654,1405,1406],{},[380,1407,957],{},[636,1409,1410,1416,1421,1424,1429,1431],{},[654,1411,1412,1415],{},[380,1413,1414],{},"qfwDemoCurve"," (Torque curve)",[654,1417,1418,1419],{},"křivka 8 bodů ",[380,1420,1391],{},[654,1422,1423],{},"32 B",[654,1425,1426],{},[380,1427,1428],{},"0x2401464C",[654,1430,1111],{},[654,1432,1433],{},[380,1434,934],{},[636,1436,1437,1443,1450,1453,1458,1460],{},[654,1438,1439,1442],{},[380,1440,1441],{},"qfwDemoBigMap"," (Injection map 64x64)",[654,1444,1445,1446,1388,1448],{},"mapa 64 × 64 ",[380,1447,1014],{},[380,1449,1391],{},[654,1451,1452],{},"16 640 B",[654,1454,1455],{},[380,1456,1457],{},"0x2401466C",[654,1459,1111],{},[654,1461,1462],{},[380,1463,957],{},[636,1465,1466,1471,1476,1479,1484,1486],{},[654,1467,1468,1470],{},[380,1469,950],{}," (Map lookup)",[654,1472,1473,1474],{},"skalár ",[380,1475,1014],{},[654,1477,1478],{},"4 B",[654,1480,1481],{},[380,1482,1483],{},"0x2401876C",[654,1485,1022],{},[654,1487,1488],{},[380,1489,934],{},[376,1491,1492,1493,519],{},"Prezentace os a dat i výchozí hodnoty ve firmwaru jsou stejné jako\nv ",[389,1494,1496],{"href":1495},"\u002Fcs\u002Fexamples\u002Ftcp-client-xcp-nucleo-maps#maticov%C3%A9-prom%C4%9Bnn%C3%A9","TCP variantě",[613,1498,1500],{"id":1499},"skripty","Skripty",[376,1502,1503,1504,1507,1508,1511],{},"Dva skripty, oba jen pro runtime (ne pro replay). ",[380,1505,1506],{},"init.py"," běží v režimu\n",[407,1509,1510],{},"Startup"," a připraví stav:",[1513,1514,1519],"pre",{"className":1515,"code":1516,"language":1517,"meta":1518,"style":1518},"language-python shiki shiki-themes github-light github-dark-default","import math\nt = 0\na = 4\nf = 1\u002F5\n","python","",[380,1520,1521,1529,1535,1541],{"__ignoreMap":1518},[1522,1523,1526],"span",{"class":1524,"line":1525},"line",1,[1522,1527,1528],{},"import math\n",[1522,1530,1532],{"class":1524,"line":1531},2,[1522,1533,1534],{},"t = 0\n",[1522,1536,1538],{"class":1524,"line":1537},3,[1522,1539,1540],{},"a = 4\n",[1522,1542,1544],{"class":1524,"line":1543},4,[1522,1545,1546],{},"f = 1\u002F5\n",[376,1548,1549,1552,1553,1556],{},[380,1550,1551],{},"script.py"," běží ",[407,1554,1555],{},"periodicky každých 20 ms"," (blokující, bez timeoutu):",[1513,1558,1560],{"className":1515,"code":1559,"language":1517,"meta":1518,"style":1518},"t += 0.02\nsine1_stim.EngValue = 50 + a * math.sin(2 * math.pi * f * t)\n",[380,1561,1562,1567],{"__ignoreMap":1518},[1522,1563,1564],{"class":1524,"line":1525},[1522,1565,1566],{},"t += 0.02\n",[1522,1568,1569],{"class":1524,"line":1531},[1522,1570,1571],{},"sine1_stim.EngValue = 50 + a * math.sin(2 * math.pi * f * t)\n",[376,1573,1574,1575,1577,1578,1581,1582,1585,1586,1588,1589,1592,1593,1596,1597,462,1600,1602,1603,1606,1607,1609,1610,1612,1613,414,1615,1617],{},"Skript tedy do ",[380,1576,491],{}," zapisuje sinusovku ",[407,1579,1580],{},"50 ± 4 %"," s periodou\n5 s; po inverzní konverzi je to raw ±0,8. Zápis přes ",[380,1583,1584],{},"EngValue"," hodnotu\njen uloží — do desky ji každých 10 ms přenáší STIM proud události\n",[380,1587,915],{}," a projeví se, jen když je ",[380,1590,1591],{},"sine1_bypass = 1",". Skripty\n",[389,1594,1595],{"href":201},"sdílejí jeden prostor",", takže\n",[380,1598,1599],{},"t",[380,1601,389],{}," i ",[380,1604,1605],{},"f"," z ",[380,1608,1506],{}," jsou ve ",[380,1611,1551],{}," k dispozici; ",[380,1614,389],{},[380,1616,1605],{},"\nmůžete za běhu měnit v okně Python Interpreter.",[613,1619,1621],{"id":1620},"workspace","Workspace",[376,1623,1624],{},"Pracovní plocha má čtyři controly:",[450,1626,1627,1644,1656,1666],{},[453,1628,1629,1631,1632,1634,1635,1637,1638,1640,1641,1643],{},[389,1630,131],{"href":129}," (15 s okno): ",[380,1633,461],{},"\n(červená), ",[380,1636,465],{}," (oranžová), ",[380,1639,468],{}," (modrá)\na ",[380,1642,471],{}," (zelená).",[453,1645,1646,1648,1649,1651,1652,1655],{},[389,1647,151],{"href":149}," (obnova 250 ms)\nse všemi skalárními proměnnými kromě ",[380,1650,465],{}," a se sloupcem\n",[407,1653,1654],{},"Write"," — odtud se kalibruje, přepíná bypass i ručně zadává\nstimulace.",[453,1657,1658,1308,1660,1662,1663,1665],{},[389,1659,136],{"href":134},[380,1661,461],{}," na ose X\nproti ",[380,1664,471],{},", persistence 22 s.",[453,1667,1668,1671,1672,1674,1675,1678,1679,1681,1682,1684],{},[389,1669,1670],{"href":154},"Matrix"," se třemi záložkami: mapa\n",[380,1673,1381],{}," (tlačítko ",[407,1676,1677],{},"Read",", barevná škála 4–32,5), křivka\n",[380,1680,1414],{}," (pollovaná) a velká mapa ",[380,1683,1441],{}," (tlačítko\nRead).",[376,1686,1687],{},"Rozložení otevírá vedle plochy i oba skripty a okno Python Interpreter.",[445,1689,1691],{"id":1690},"specifika-can","Specifika CAN",[450,1693,1694,1701,1716,1719],{},[453,1695,1696,1697,1700],{},"Rámec klasického CAN nese nejvýše 7 datových bajtů odpovědi, takže\nmapa 1072 B znamená přes 150 rámců a mapa 64 × 64 přes 2 300 rámců.\nČtení mapy 16 KB při 500 kbit\u002Fs trvá přibližně 0,6 s — proto jsou obě\nmapy na události ",[407,1698,1699],{},"On Request"," a nepollují se.",[453,1702,1703,1704,1707,1708,1711,1712,1715],{},"Čtení využívá slave block mód (",[380,1705,1706],{},"UPLOAD"," bursty), zápis master block\nmód po blocích 16 × 6 B (",[380,1709,1710],{},"DOWNLOAD"," + ",[380,1713,1714],{},"DOWNLOAD_NEXT",", jedno potvrzení\nna blok).",[453,1717,1718],{},"Křivka (32 B) se polluje každých 500 ms i na CAN.",[453,1720,1721,1722,1725],{},"Přenos matice po více rámcích ",[407,1723,1724],{},"není atomický"," — pokud firmware\nbuňky právě mění, může načtený blok obsahovat směs starých a nových\nhodnot.",[445,1727,1729],{"id":1728},"co-uvidíte-a-co-vyzkoušet","Co uvidíte a co vyzkoušet",[450,1731,1732,1750,1773,1794,1811,1833],{},[453,1733,1734,1737,1738,1741,1742,414,1744,1746,1747,1749],{},[407,1735,1736],{},"Měření."," Po ",[407,1739,1740],{},"Connect"," naváže XCP session, v logu se objeví jméno\na cyklus event kanálu z desky a graf začne kreslit čtyři sinusovky;\n",[380,1743,461],{},[380,1745,465],{}," se překrývají, ",[380,1748,946],{}," v tabulce roste\npo 500 ms, křivka momentu se naplní.",[453,1751,1752,1755,1756,1758,1759,1762,1763,1765,1766,1768,1769,1772],{},[407,1753,1754],{},"Mapy."," Stiskněte ",[407,1757,1677],{}," na záložce mapy zapalování — na CAN je\nvidět, jak se blok načítá. Upravte buňky ve ",[407,1760,1761],{},"Write Mode",", stiskněte\n",[407,1764,1654],{}," a zkontrolujte dalším ",[407,1767,1677],{}," a hodnotou ",[380,1770,1771],{},"Map lookup",".\nVelkou mapu načtěte na její záložce; čtení trvá přibližně 0,6 s.",[453,1774,1775,1778,1779,1781,1782,1784,1785,1787,1788,414,1791,1793],{},[407,1776,1777],{},"Bypass."," Zapište ",[380,1780,1591],{},". ",[380,1783,461],{}," se odpojí od\nmodelu a začne sledovat pomalou sinusovku ze skriptu (raw ±0,8),\nzatímco ",[380,1786,465],{}," dál ukazuje interní model. Na XY grafu\nse změní tvar obrazce. Zapište ",[380,1789,1790],{},"0",[380,1792,461],{}," se vrátí k modelu.",[453,1795,1796,1799,1800,1803,1804,1806,1807,1810],{},[407,1797,1798],{},"Ruční stimulace."," V Python Interpreteru nastavte ",[380,1801,1802],{},"a = 0"," (nebo\nskript v projektu zakažte) a do ",[380,1805,491],{}," zadejte např. ",[380,1808,1809],{},"75"," — do\ndesky se bude přenášet konstantní raw hodnota 5,0, dokud hodnotu\nnepřepíšete.",[453,1812,1813,1778,1816,1819,1820,1823,1824,1711,1827,1829,1830,1832],{},[407,1814,1815],{},"Kalibrace.",[380,1817,1818],{},"sine2_amplitude = 8"," nebo ",[380,1821,1822],{},"sine3_period = 2","\n— zápis jde přes ",[380,1825,1826],{},"SET_MTA",[380,1828,1710],{}," v inženýrských jednotkách\n(",[389,1831,114],{"href":115},") a do\n500 ms se nová hodnota vrátí pollingem.",[453,1834,1835,1838,1839,1842,1843,1846,1847,1850,1851,1854,1855,1857,1858,1862],{},[407,1836,1837],{},"Odpojení adaptéru."," Odpojte PCAN-USB za běhu. Driver během jedné\nsekundy ohlásí protokolu ztrátu transportu, přejde do stavu ",[407,1840,1841],{},"Faulted",",\ndvakrát (s prodlevou 1 s) se pokusí adaptér znovu otevřít a pak s chybou\n",[380,1844,1845],{},"gave up after 2 reconnect attempt(s)"," zastaví svůj protokol a skončí\nve stavu ",[407,1848,1849],{},"Stopped",". Runtime přitom běží dál — skript dále počítá,\ndata se však nepřenášejí. Znovu připojte adaptér a v okně\n",[407,1852,1853],{},"Properties"," driveru stiskněte ",[407,1856,518],{},": driver i protokol se spustí,\nXCP naváže novou session a DAQ i STIM se obnoví, viz\n",[389,1859,1861],{"href":1860},"\u002Fcs\u002Frunning\u002Fstart-and-stop#stavy-driver%C5%AF-a-tla%C4%8D%C3%ADtko-start","Stavy driverů a tlačítko Start",".\nPokud adaptér znovu připojíte ještě během dvou pokusů, spojení se obnoví\nsamo.",[445,1864,1866],{"id":1865},"související-kapitoly","Související kapitoly",[450,1868,1869,1874,1884,1901,1906,1911,1915,1923],{},[453,1870,1871,1873],{},[389,1872,360],{"href":358},"\n— podrobný popis proměnných, prezentací, skriptů a pracovní plochy.",[453,1875,1876,1879,1880,519],{},[389,1877,1878],{"href":622},"Reference — PEAK CAN Adapter","\na ",[389,1881,1883],{"href":1882},"\u002Fcs\u002Freference\u002Fdrivers#obnova-spojen%C3%AD","Obnova spojení",[453,1885,1886,410,1889,410,1893,1879,1897,519],{},[389,1887,1888],{"href":725},"Reference — XCP on CAN",[389,1890,1892],{"href":1891},"\u002Fcs\u002Freference\u002Fprotocols#polling-daq-a-stim-u-xcp","Polling, DAQ a STIM u XCP",[389,1894,1896],{"href":1895},"\u002Fcs\u002Freference\u002Fprotocols#prom%C4%9Bnn%C3%A9-typu-matrix-u-xcp","Proměnné typu Matrix u XCP",[389,1898,1900],{"href":1899},"\u002Fcs\u002Freference\u002Fprotocols#block-m%C3%B3d","Block mód",[453,1902,1903,1905],{},[389,1904,102],{"href":100}," — Extra Params pro DAQ a STIM.",[453,1907,1908,1910],{},[389,1909,163],{"href":164}," — stavy driverů.",[453,1912,1913,519],{},[389,1914,156],{"href":154},[453,1916,1917,1919,1920,1922],{},[389,1918,249],{"href":250}," a\n",[389,1921,262],{"href":260}," — firmware ukázky, transport CAN.",[453,1924,1925,1927],{},[389,1926,196],{"href":197}," — režimy Startup a Periodic.",[1929,1930,1931],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":1518,"searchDepth":1537,"depth":1537,"links":1933},[1934,1935,1936,1944,1945,1946],{"id":447,"depth":1531,"text":448},{"id":522,"depth":1531,"text":523},{"id":603,"depth":1531,"text":604,"children":1937},[1938,1939,1940,1941,1942,1943],{"id":615,"depth":1537,"text":616},{"id":855,"depth":1537,"text":102},{"id":967,"depth":1537,"text":968},{"id":1344,"depth":1537,"text":1345},{"id":1499,"depth":1537,"text":1500},{"id":1620,"depth":1537,"text":1621},{"id":1690,"depth":1531,"text":1691},{"id":1728,"depth":1531,"text":1729},{"id":1865,"depth":1531,"text":1866},"Tatáž ukázka jako po TCP, ale po klasickém CAN přes adaptér PEAK PCAN-USB — DAQ měření, kalibrační zápisy pollingem, STIM bypass ze skriptu, mapy čtené na vyžádání a block mód na osmibajtových rámcích, chování driveru po odpojení adaptéru.","md",{},true,{"title":362,"description":1947},"4D-Qxhep745X-TRXXrZZUCqAMmLZTsZH8Mh6X6cAFIM",[1954,15],{"title":357,"path":358,"stem":359,"navTitle":360,"children":-1},1791554569476]