[{"data":1,"prerenderedAt":1065},["ShallowReactive",2],{"docs-nav-docs_cs":3,"docs-page-\u002Fcs\u002Fdevice-sdk\u002Ftroubleshooting":366,"docs-surround-\u002Fcs\u002Fdevice-sdk\u002Ftroubleshooting":1062},[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":278,"body":368,"description":1056,"extension":1057,"meta":1058,"navTitle":281,"navigation":1059,"path":279,"seo":1060,"stem":280,"__hash__":1061},"docs_cs\u002Fcs\u002F10.device-sdk\u002F8.troubleshooting.md",{"type":369,"value":370,"toc":1049},"minimark",[371,375,380,402,542,546,1033],[372,373,278],"h1",{"id":374},"řešení-potíží-při-integraci-sdk",[376,377,379],"h2",{"id":378},"regenerace-projektu-cubemx","Regenerace projektu CubeMX",[381,382,383,384,388,389,393,394,397,398,401],"p",{},"Příklad je projekt CubeMX; ",[385,386,387],"em",{},"Generate Code"," přepíše vše mimo\n",[390,391,392],"code",{},"USER CODE BEGIN\u002FEND",". Před regenerací si přečtěte\n",[390,395,396],{},"examples\u002Fnucleo_h723zg\u002FREGEN-NOTES.md"," (u projektu bez RTOS\n",[390,399,400],{},"examples\u002Fnucleo_h723zg_baremetal\u002FREGEN-NOTES.md",") — stručná verze:",[403,404,405,418,433,465,480,508,518,529],"ul",{},[406,407,408,409,413,414,417],"li",{},"Svá volání vkládejte ",[410,411,412],"strong",{},"pouze"," do sekcí ",[390,415,416],{},"USER CODE"," se jmény, která\nCubeMX zná. Sekci s vymyšleným jménem příští generování tiše zahodí.",[406,419,420,421,424,425,428,429,432],{},"Jména úloh, priority a zásobníky žijí v ",[390,422,423],{},".ioc"," (",[385,426,427],{},"Tasks and Queues",") —\nměňte je tam, ne ve ",[390,430,431],{},"freertos.c",".",[406,434,435,436,439,440,442,443,445,446,449,450,453,454,424,457,460,461,464],{},"Hodnoty ",[390,437,438],{},"lwipopts.h",", které CubeMX zná, nese ",[390,441,423],{},"; blok ",[390,444,416],{},"\nv něm (",[390,447,448],{},"LWIP_TCP_KEEPALIVE",", ",[390,451,452],{},"LWIP_SO_LINGER",", …) přežije; obdobně\n",[390,455,456],{},"FreeRTOSConfig.h",[390,458,459],{},"configNUM_THREAD_LOCAL_STORAGE_POINTERS"," v ",[385,462,463],{},"USER\nDefines",").",[406,466,467,468,471,472,475,476,479],{},"Paměť STM32H7: Ethernet DMA nedosáhne na DTCM RAM, proto linker skript\npříkladu umisťuje ",[390,469,470],{},".data\u002F.bss\u002Fheap\u002Fstack"," do AXI SRAM (",[390,473,474],{},"RAM_D1",") a\ndeskriptory DMA plus pool RX bufferů do ",[390,477,478],{},"RAM_D2"," (32 KB na H723). Linker\nskript regenerace zcela přepíše — obnovte jej ze správy verzí.",[406,481,482,485,486,489,490,493,494,496,497,500,501,504,505,507],{},[390,483,484],{},"LWIP\u002FTarget\u002Fethernetif.c",": ",[390,487,488],{},"INTERFACE_THREAD_STACK_SIZE"," (výchozí ST\n350 B = přetečení zásobníku s CMSIS v2, použijte 2048) a\n",[390,491,492],{},"ETH_RX_BUFFER_CNT"," (v příkladu 16; RX pool se musí vejít do ",[390,495,478],{},",\njinak ",[390,498,499],{},"ASSERT"," v linker skriptu překlad zastaví) se ",[410,502,503],{},"každou regenerací\nvrátí"," — ",[390,506,423],{}," je nenese.",[406,509,510,511,514,515,517],{},"Heap lwIP je v příkladu umístěn přes ",[390,512,513],{},"LWIP_RAM_HEAP_POINTER"," na surovou\nadresu na vrcholu AXI SRAM; ",[390,516,474],{}," je v linker skriptu zkrácena, aby\nna ni linkerem umístěná data nikdy nedosáhla.",[406,519,520,521,524,525,528],{},"550 MHz na H723 vyžaduje option byte ",[390,522,523],{},"CPU_FREQ_BOOST","; kód HAL option\nbyty neprogramuje: ",[390,526,527],{},"STM32_Programmer_CLI -c port=SWD -ob CPU_FREQ_BOOST=1","\njednou pro každou desku.",[406,530,531,532,535,536,538,539,464],{},"Po každé regeneraci: ",[390,533,534],{},"git diff"," je kontrolní seznam, poté překlad\n(",[390,537,499],{},"y linkeru hlídají rozložení RAM), poté znovu spustit scanner\nadres (",[540,541,273],"a",{"href":274},[376,543,545],{"id":544},"příznaky-příčiny-nápravy","Příznaky, příčiny, nápravy",[547,548,549,565],"table",{},[550,551,552],"thead",{},[553,554,555,559,562],"tr",{},[556,557,558],"th",{},"Příznak",[556,560,561],{},"Pravděpodobná příčina",[556,563,564],{},"Co udělat",[566,567,568,611,649,687,721,735,780,802,820,845,875,903,917,954,978,992,1011],"tbody",{},[553,569,570,578,600],{},[571,572,573,574,577],"td",{},"Červená LED po resetu (",[390,575,576],{},"QfwXcpServer_Init"," vrací false)",[571,579,580,583,584,449,587,590,591,594,595,599],{},[390,581,582],{},"get_clock_us == NULL","; rekurzivní mutex nebo úloha nevytvořeny (",[390,585,586],{},"configSUPPORT_STATIC_ALLOCATION",[390,588,589],{},"configUSE_RECURSIVE_MUTEXES","); ",[390,592,593],{},"qfw_xcp_init"," odmítl konfiguraci (",[540,596,598],{"href":597},"\u002Fcs\u002Fdevice-sdk\u002Fengine-contract#p%C5%99%C3%AD%C4%8Diny-selh%C3%A1n%C3%AD-inicializace","příčiny selhání inicializace","); na CAN: nepodporovaná bitová rychlost nebo selhala inicializace HAL FDCAN",[571,601,602,603,606,607,610],{},"nastavte ",[390,604,605],{},"log_level"," 3, čtěte virtuální COM port; zkontrolujte konfiguraci FreeRTOS; porovnejte s ",[390,608,609],{},"xcp_server.c"," příkladu",[553,612,613,624,636],{},[571,614,615,616,619,620,623],{},"Bez RTOS: ",[390,617,618],{},"QfwXcpTcpRawGlue_Init"," vrací false (",[390,621,622],{},"Error_Handler",")",[571,625,626,627,630,631,449,633,635],{},"voláno před ",[390,628,629],{},"MX_LWIP_Init()"," (naslouchající pcb nelze vytvořit), ",[390,632,582],{},[390,634,593],{}," odmítl konfiguraci",[571,637,638,639,642,643,590,646,648],{},"pořadí volání v ",[390,640,641],{},"main.c"," podle příkladu (",[540,644,267],{"href":645},"\u002Fcs\u002Fdevice-sdk\u002Fbaremetal#mainc-jednou-init-pak-st%C3%A1le-poll",[390,647,605],{}," 3",[553,650,651,661,675],{},[571,652,653,654,657,658],{},"Bez RTOS: překlad glue skončí ",[390,655,656],{},"#error"," nebo ",[390,659,660],{},"_Static_assert",[571,662,663,666,667,670,671,674],{},[390,664,665],{},"NO_SYS"," není 1, chybí ",[390,668,669],{},"LWIP_TCP_KEEPALIVE 1",", nebo ",[390,672,673],{},"TCP_SND_BUF"," je menší než segment enginu (1480 B)",[571,676,677,678,460,681,424,683,623],{},"doplňte volby do bloku ",[390,679,680],{},"USER CODE BEGIN 1",[390,682,438],{},[540,684,686],{"href":685},"\u002Fcs\u002Fdevice-sdk\u002Fbaremetal#cubemx-lwip-bez-rtos","lwIP bez RTOS",[553,688,689,695,708],{},[571,690,691,692,623],{},"Na portu 5555 nic nenaslouchá (na COM portu chybí řádek ",[390,693,694],{},"listening",[571,696,697,698,701,702,704,705],{},"úloha glue neběží (zásobník, priorita, statická alokace), lwIP neběžel v okamžiku ",[390,699,700],{},"QfwXcpGlue_Init"," (volejte po ",[390,703,629],{},"), nesprávná IP nebo podsíť; bez RTOS: ve smyčce se nevolá ",[390,706,707],{},"MX_LWIP_Process()",[571,709,710,711,714,715,718,719,623],{},"nejprve ",[390,712,713],{},"ping"," na desku; zkontrolujte vytvoření úlohy; pořadí volání ve ",[390,716,717],{},"StartDefaultTask"," (bez RTOS tělo smyčky v ",[390,720,641],{},[553,722,723,729,732],{},[571,724,725,726,728],{},"QInsight: timeout připojení, přestože ",[390,727,713],{}," funguje",[571,730,731],{},"firewall na PC, nesprávný port, deska stále drží spojení předchozího mastera, který zmizel (viz další řádek)",[571,733,734],{},"zkontrolujte port; počkejte na vypršení keepalive (~5 s) nebo desku resetujte",[553,736,737,744,756],{},[571,738,739,740,743],{},"Master zmizel, deska zůstává ",[390,741,742],{},"connected"," a dalšího mastera odmítá déle než ~5 s",[571,745,746,748,749,752,753,755],{},[390,747,448],{}," není 1 (",[390,750,751],{},"TCP_KEEPIDLE\u002FINTVL\u002FCNT"," v glue pak nemají účinek), nebo ",[390,754,452],{}," není 1 (zavření setrvává; jen glue s FreeRTOS)",[571,757,758,759,424,761,765,766,769,770,424,773,449,777,623],{},"nastavte obojí v ",[390,760,438],{},[540,762,764],{"href":763},"\u002Fcs\u002Fdevice-sdk\u002Fintegration-tcp#cubemx-projekt-kter%C3%BD-sdk-o%C4%8Dek%C3%A1v%C3%A1","nastavení CubeMX","); glue se pak do ~5 s vrátí na ",[390,767,768],{},"accept"," — nebo okamžitě, když vypadne vlastní linka desky a je zapojen link callback v ",[390,771,772],{},"lwip.c",[540,774,776],{"href":775},"\u002Fcs\u002Fdevice-sdk\u002Fintegration-tcp#t%C5%99i-vol%C3%A1n%C3%AD-ve-freertosc","FreeRTOS",[540,778,779],{"href":645},"bez RTOS",[553,781,782,792,795],{},[571,783,784,785,787,788,791],{},"QInsight: ",[390,786,742],{}," a vzápětí ",[390,789,790],{},"forcibly closed by the remote host",", dokola každou sekundu",[571,793,794],{},"deska má připojeného jiného mastera (druhá instance QInsight, jiný klient na portu 5555) a nové spojení odmítá; nebo předchozí relace tohoto PC po výpadku ještě nevypršela (keepalive ~11 s)",[571,796,797,798,623],{},"ukončete první relaci, nebo počkejte na keepalive; driver se připojí sám (",[540,799,801],{"href":800},"\u002Fcs\u002Fdevice-sdk\u002Fbaremetal#spojen%C3%AD-co-glue-d%C4%9Bl%C3%A1-a-co-uvid%C3%ADte","spojení bez RTOS",[553,803,804,807,810],{},[571,805,806],{},"Bez RTOS: odpovědi a DAQ data chodí se zpožděním nebo v dávkách",[571,808,809],{},"dlouhý průchod hlavní smyčky (výpis logu na úrovni 3 ≈ 4 ms na řádek, blokující práce ve smyčce), nebo Nagle a zpožděný ACK mastera u pomalých proudů",[571,811,812,813,815,816],{},"zkraťte práci v průchodu, ",[390,814,605],{}," 2; viz ",[540,817,819],{"href":818},"\u002Fcs\u002Fdevice-sdk\u002Fbaremetal#model-kontext%C5%AF-kritick%C3%A1-sekce-a-p%C5%99eru%C5%A1en%C3%AD","model kontextů",[553,821,822,825,835],{},[571,823,824],{},"Časové značky skáčou, jdou zpět nebo běží nesprávnou rychlostí",[571,826,827,830,831,834],{},[390,828,829],{},"Clock64_Update"," se nevolá, volá se z více úloh, nebo ",[390,832,833],{},"CLOCK_TICKS_PER_S"," ≠ skutečná frekvence CPU",[571,836,837,838,841,842,844],{},"jediný volající (",[390,839,840],{},"QfwXcpServer_Tick"," z default tasku, perioda \u003C 7,8 s); ",[390,843,833],{}," nastavte podle clock tree",[553,846,847,850,865],{},[571,848,849],{},"DAQ data se zastaví, QInsight hlásí mezery v čítači \u002F overrun",[571,851,852,853,856,857,861,862,864],{},"přetečení vysílací fronty nebo backpressure transportu (",[390,854,855],{},"qfw_xcp_is_backpressured()","); na CAN limit sběrnice (",[540,858,860],{"href":859},"\u002Fcs\u002Fdevice-sdk\u002Fcan#dimenzov%C3%A1n%C3%AD-a-propustnost","dimenzování a propustnost","); bez RTOS: ",[390,863,673],{}," příliš malý pro souvislý tok",[571,866,867,868,871,872,874],{},"zmenšete sadu měření nebo rychlost; na TCP zvětšete ",[390,869,870],{},"GLUE_QUEUE_SEGMENTS"," (bez RTOS i ",[390,873,673],{},"); zkontrolujte zatížení Ethernetu",[553,876,877,880,883],{},[571,878,879],{},"Matice se načte, ale obsahuje nesmysly nebo chybí osy",[571,881,882],{},"adresa z jiného sestavení; objekt není souvislý blok osa X, osa Y, data (jiné pořadí, výplň mezi členy); osy mají jiný počet bodů než data",[571,884,885,886,424,890,449,893,896,897,896,900,623],{},"znovu spusťte scanner; dodržte konvenci z ",[540,887,889],{"href":888},"\u002Fcs\u002Fdevice-sdk\u002Fvariable-addresses#pole-k%C5%99ivky-a-mapy-prom%C4%9Bnn%C3%A9-matrix","Pole, křivky a mapy",[390,891,892],{},"pack(1)",[390,894,895],{},"\u003Cname>_x"," \u002F ",[390,898,899],{},"\u003Cname>_y",[390,901,902],{},"\u003Cname>",[553,904,905,908,911],{},[571,906,907],{},"STIM hodnota se nikdy neaplikuje",[571,909,910],{},"event STIM listu se po vaší aktualizaci nespouští, nebo váš kód proměnnou po triggeru přepisuje",[571,912,913,914],{},"spouštějte jednou za cyklus po aktualizaci; viz rozdělení raw\u002Fvalue\u002Fbypass v ",[390,915,916],{},"demo_signals.cpp",[553,918,919,922,943],{},[571,920,921],{},"Náhodné poškození dat \u002F hard fault při zátěži",[571,923,924,925,928,929,932,933,896,936,939,940,623],{},"kritická sekce není reentrantní, ",[390,926,927],{},"rx"," a ",[390,930,931],{},"poll"," ze dvou kontextů, trigger z ISR se sekcí na mutexu; bez RTOS: ",[390,934,935],{},"qfw_xcp_rx",[390,937,938],{},"qfw_xcp_poll"," nebo lwIP volané z přerušení (",[540,941,942],{"href":270},"kontrakt enginu",[571,944,945,946,949,950,953],{},"zachovejte strukturu přiložené glue; bez RTOS z přerušení jen ",[390,947,948],{},"qfw_xcp_trigger_event"," (kryje ho sekce ",[390,951,952],{},"PRIMASK"," v glue), nic jiného",[553,955,956,962,969],{},[571,957,958,959],{},"CAN: žádná odpověď na ",[390,960,961],{},"CONNECT",[571,963,964,965,968],{},"zapojení transceiveru nebo zakončení, bitová rychlost nebo id neodpovídají QInsight, rámce na id mastera nedojdou do ",[390,966,967],{},"qfw_xcp_rx_can_frame"," (filtr)",[571,970,971,972,975,976,623],{},"zkontrolujte ",[390,973,974],{},"[XCP I] SDK server on CAN: …"," na COM portu, poté sběrnici CAN monitorem (",[540,977,262],{"href":260},[553,979,980,986,989],{},[571,981,982,983],{},"CAN: opakuje se ",[390,984,985],{},"[XCP W] CAN bus-off, recovering",[571,987,988],{},"žádný jiný uzel nepotvrzuje (transceiver, zakončení, neshoda bitové rychlosti)",[571,990,991],{},"opravte sběrnici; glue se zotaví automaticky a resetuje session",[553,993,994,1001,1004],{},[571,995,996,997,1000],{},"QInsight: proměnná ukazuje ",[390,998,999],{},"Source: not found",", chybí modrý odznak, nelze ji navázat na control",[571,1002,1003],{},"proměnná je definována, ale není přiřazena k protokolu",[571,1005,1006,1007,623],{},"přiřaďte ji k protokolu XCP a vyplňte Comm params (",[540,1008,1010],{"href":1009},"\u002Fcs\u002Fdevice-sdk\u002Fvariable-addresses#t%C5%99i-kroky-v-qinsight","tři kroky v QInsight",[553,1012,1013,1016,1027],{},[571,1014,1015],{},"QInsight čte nesmyslné hodnoty nebo zápisy míří do nesprávné paměti",[571,1017,1018,1019,1022,1023,1026],{},"adresy ze staršího sestavení, obraz ",[390,1020,1021],{},"Release"," bez ",[390,1024,1025],{},"volatile",", nebo nově přeložený obraz s posunutými objekty",[571,1028,1029,1030,1032],{},"znovu spusťte scanner, znovu naimportujte nebo opravte Comm params; proměnné deklarujte jako ",[390,1031,1025],{}," globální",[381,1034,1035,1036,1040,1041,1044,1045,432],{},"Podpora: ",[540,1037,1039],{"href":1038},"mailto:info@qenex.net","info@qenex.net"," — přiložte\n",[390,1042,1043],{},"qfw_xcp_version()",", log glue z okolí problému a hodnoty své konfigurace\nglue. Stranu QInsight u potíží s XCP popisuje kapitola\n",[540,1046,1048],{"href":1047},"\u002Fcs\u002Freference\u002Ftroubleshooting#xcp-a-daq","Řešení potíží — XCP a DAQ",{"title":1050,"searchDepth":1051,"depth":1051,"links":1052},"",3,[1053,1055],{"id":378,"depth":1054,"text":379},2,{"id":544,"depth":1054,"text":545},"Co regenerace v STM32CubeMX v ukázkovém projektu přepíše a jak opravy zachovat, plus tabulka příznak → pravděpodobná příčina → náprava pro integraci XCP on TCP (s FreeRTOS i bez RTOS) a XCP on classic CAN.","md",{},true,{"title":278,"description":1056},"y14E4qoQzaMS0daiHdDZEuRSva9hGKKlwc7JKNZGVPI",[1063,1064],{"title":273,"path":274,"stem":275,"navTitle":276,"children":-1},{"title":288,"path":289,"stem":290,"navTitle":288,"children":-1},1791554569898]