From 8d8d667debc35d46de9baefdf98ef7b678d12b71 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 6 Feb 2023 14:50:29 +0800 Subject: [PATCH] vault backup: 2023-02-06 14:50:29 --- .obsidian/workspace.json | 22 +++++++------ .../vc-fwUpdate code trace(Meetup).canvas | 26 ++++++++++----- 01. 個人/01. Daily/2023-02-06(週一).md | 32 +++++++++++++++++++ 3 files changed, 63 insertions(+), 17 deletions(-) create mode 100644 01. 個人/01. Daily/2023-02-06(週一).md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index d62f1b5..b0fc29e 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -39,11 +39,15 @@ "id": "101bb28d75e60f08", "type": "leaf", "state": { - "type": "markdown", + "type": "canvas", "state": { - "file": "01. 個人/01. Daily/2023-02-05(週日).md", - "mode": "source", - "source": true + "file": "00. Inbox/vc-fwUpdate code trace(Meetup).canvas", + "viewState": { + "x": 612, + "y": 9.937327478042675, + "zoom": -0.9105785977715345, + "snapToGrid": false + } } } } @@ -106,7 +110,7 @@ "state": { "type": "backlink", "state": { - "file": "01. 個人/01. Daily/2023-02-05(週日).md", + "file": "00. Inbox/vc-fwUpdate code trace(Meetup).canvas", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -123,7 +127,7 @@ "state": { "type": "outline", "state": { - "file": "01. 個人/01. Daily/2023-02-05(週日).md" + "file": "00. Inbox/vc-fwUpdate code trace(Meetup).canvas" } } }, @@ -170,6 +174,8 @@ }, "active": "101bb28d75e60f08", "lastOpenFiles": [ + "01. 個人/01. Daily/2023-02-06(週一).md", + "01. 個人/01. Daily/2023-02-05(週日).md", "01. 個人/01. Daily/2023-02-04(週六).md", "00. Inbox/Habit Tracker.md", "00. Inbox/01. TODO.md", @@ -177,8 +183,6 @@ "00. Inbox/vc-fwUpdate code trace(Meetup).canvas", "01. 個人/01. Daily/2023-02-02(週四).md", "01. 個人/20230214 - 日本福岡旅遊.md", - "04. Programming/QT/Dropdown button.md", - "04. Programming/QT/界面外觀.md", - "04. Programming/QT/Application Icon.md" + "04. Programming/QT/Dropdown button.md" ] } \ No newline at end of file diff --git a/00. Inbox/vc-fwUpdate code trace(Meetup).canvas b/00. Inbox/vc-fwUpdate code trace(Meetup).canvas index 0ec1d28..c115631 100644 --- a/00. Inbox/vc-fwUpdate code trace(Meetup).canvas +++ b/00. Inbox/vc-fwUpdate code trace(Meetup).canvas @@ -3,21 +3,26 @@ {"id":"6bfc707fe9365d07","x":-582,"y":-730,"width":250,"height":50,"type":"text","text":"`Initialize();`"}, {"id":"35301ec811a15aa2","x":-434,"y":-646,"width":283,"height":50,"type":"text","text":"`Impl::InitializeController()`"}, {"id":"58150c82625254cd","x":233,"y":-462,"width":662,"height":215,"type":"text","text":"`vc-fwUpdate\\Backends\\MeridianBackend\\registration.cpp`\n```cpp\nlogitech::fwupdate::backend::RegisterBackend(IUpdateController& controller) {\n\n}\n```\n\n這邊開始建立所有的 update task,以下所列的 task 都繼承自 `class UpdateTask`\n使用 `controller.RegisterTask(...)` 來註冊各個 task"}, - {"id":"5f57db192293a0ec","x":257,"y":-537,"width":168,"height":51,"type":"text","text":"`Impl() d_`"}, - {"id":"5e7c147cd533a922","x":453,"y":-537,"width":289,"height":51,"type":"text","text":"`d_->CreatePnpProvider();`"}, - {"id":"cd7947e8636e6b51","x":779,"y":-596,"width":347,"height":110,"type":"text","text":"建立一個看不見的window,背後會有一個 thread 來接收 device notification events:`WM_DEVICECHANGE`"}, {"id":"e01a865b5a13d6e9","x":-247,"y":-537,"width":480,"height":51,"type":"text","text":"`controller_ = controller::CreateUpdateController();`"}, {"id":"7d8839591c30f61a","x":-247,"y":-462,"width":406,"height":60,"type":"text","text":"`backend::RegisterBackend(*controller_);`"}, {"id":"c1122f185b292a7c","x":-247,"y":-227,"width":480,"height":145,"type":"text","text":"`vc-fwUpdate\\Frontends-developer\\LogiFWUpdate\\Ui\\LogiFWUpdateDlg.cpp:2761`\n\n--------------------------------------------\n\n`InitializeImageProviders()`"}, + {"id":"6aab61cd927b9307","x":-434,"y":-48,"width":311,"height":60,"type":"text","text":"`Impl::RegisterForPnpNotification()`"}, + {"id":"dade636ce2d72147","x":-434,"y":40,"width":250,"height":60,"type":"text","text":"`Impl::InitializeTasks()`"}, + {"id":"5d03eb8ecaadd1dd","x":-750,"y":-823,"width":337,"height":60,"type":"text","text":"`BOOL CLogiFWUpdateDlg::OnInitDialog()`"}, + {"id":"5f57db192293a0ec","x":257,"y":-537,"width":168,"height":51,"type":"text","text":"`Impl() d_`"}, + {"id":"5e7c147cd533a922","x":453,"y":-537,"width":289,"height":51,"type":"text","text":"`d_->CreatePnpProvider();`"}, + {"id":"cd7947e8636e6b51","x":779,"y":-596,"width":347,"height":110,"type":"text","text":"建立一個看不見的window,背後會有一個 thread 來接收 device notification events:`WM_DEVICECHANGE`"}, {"id":"5db0c6d04d6655c7","x":1007,"y":-462,"width":269,"height":60,"type":"text","text":"`AudioDeviceUpdateTask`"}, {"id":"f3ccd922e41c8fa2","x":1007,"y":-396,"width":250,"height":60,"type":"text","text":"`BLEDeviceUpdateTask`"}, {"id":"3668ba992c38b26a","x":1007,"y":-330,"width":250,"height":60,"type":"text","text":"`AudioCodecUpdateTask`"}, {"id":"aa2444242b481f93","x":1007,"y":-247,"width":250,"height":55,"type":"text","text":"`VideoDeviceUpdateTask`"}, {"id":"eca2584c45b6e6d5","x":1007,"y":-167,"width":250,"height":60,"type":"text","text":"`VideoEepromUpdateTask`"}, - {"id":"6aab61cd927b9307","x":-434,"y":-48,"width":311,"height":60,"type":"text","text":"`Impl::RegisterForPnpNotification()`"}, - {"id":"dade636ce2d72147","x":-434,"y":40,"width":250,"height":60,"type":"text","text":"`Impl::InitializeTasks()`"}, - {"id":"7ff8bac3fc3253f1","x":-434,"y":125,"width":311,"height":55,"type":"text","text":"`Impl::InitializeDynamicControls()`"}, - {"id":"5d03eb8ecaadd1dd","x":-750,"y":-823,"width":337,"height":60,"type":"text","text":"`BOOL CLogiFWUpdateDlg::OnInitDialog()`"} + {"id":"ce300adbc95c5a4b","x":-7,"y":40,"width":369,"height":113,"type":"text","text":"```cpp\nfor (...) {\n task->GetDeviceInfo(initialQuery)\n}\n```"}, + {"id":"551e749e0cf332d3","x":427,"y":-28,"width":635,"height":249,"type":"text","text":"```cpp\nDoOpenDevice()\n⬇\nd_->OpenDevice();\n⬇\nUvcDeviceFactory().CreateUvcDevice({ UsbVidLogitech, UsbVideoPid });\n⬇\nWindowsUvcDevice::FindDevice(usbId);\n⬇\nImpl::OpenUvcDevice(usbId.Vid, usbId.Pid, devicePath, friendlyName);\n```"}, + {"id":"18c6dbc9cf46e214","x":1132,"y":-33,"width":333,"height":260,"type":"text","text":"`Impl::OpenUvcDevice` 會使用\n```cpp\nSetupDiGetClassDevs(...)\nSetupDiEnumDeviceInterfaces(...)\n```\n等 API 來列舉裝置。\n\n----\n在 `Impl::OpenUvcDevice` 也會打開 XU 。\n在 `uvcDevice->d_->Init();` 裡面。"}, + {"id":"c0e439a5140dbceb","x":1531,"y":-36,"width":443,"height":267,"type":"text","text":"`vc-fwUpdate\\UpdateController\\WindowsUvcDevice.cpp`\n\n----\n\n`uvcDevice->d_->Init();` 也就是 `Impl::Init()`\n會呼叫 `InitExtensionUnits();`,其呼叫順序:\n```cpp\nInitExtensionUnits();\n⬇\nEnumNodePropertySets();\n⬇\nDeviceIoControl(...)\n```\n\n"}, + {"id":"7ff8bac3fc3253f1","x":-434,"y":531,"width":311,"height":55,"type":"text","text":"`Impl::InitializeDynamicControls()`"}, + {"id":"cb5dc2c4eb714d15","x":-7,"y":231,"width":369,"height":223,"type":"text","text":"`vc-fwUpdate\\Frontends-developer\\LogiFWUpdate\\Ui\\LogiFWUpdateDlg.cpp:2117`\n\n----\n```cpp\nfor (...) {\n task->GetImageInfo();\n}\n```"} ], "edges":[ {"id":"b621a476fd748a7d","fromNode":"35301ec811a15aa2","fromSide":"bottom","toNode":"e01a865b5a13d6e9","toSide":"left"}, @@ -36,6 +41,11 @@ {"id":"7df607f1045d8c07","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"6aab61cd927b9307","toSide":"left"}, {"id":"a996f628d78564a0","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"dade636ce2d72147","toSide":"left"}, {"id":"2969440a55132bf4","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"7ff8bac3fc3253f1","toSide":"left"}, - {"id":"59e4e9a99d0afb3b","fromNode":"5d03eb8ecaadd1dd","fromSide":"bottom","toNode":"6bfc707fe9365d07","toSide":"left"} + {"id":"59e4e9a99d0afb3b","fromNode":"5d03eb8ecaadd1dd","fromSide":"bottom","toNode":"6bfc707fe9365d07","toSide":"left"}, + {"id":"8008ff58b9c0a3a0","fromNode":"ce300adbc95c5a4b","fromSide":"right","toNode":"551e749e0cf332d3","toSide":"left"}, + {"id":"dbf07f00980f3a0f","fromNode":"551e749e0cf332d3","fromSide":"right","toNode":"18c6dbc9cf46e214","toSide":"left"}, + {"id":"762bcd1254df7890","fromNode":"18c6dbc9cf46e214","fromSide":"right","toNode":"c0e439a5140dbceb","toSide":"left"}, + {"id":"d03a2aa8290e6113","fromNode":"dade636ce2d72147","fromSide":"bottom","toNode":"ce300adbc95c5a4b","toSide":"left"}, + {"id":"27e46e4e71993a05","fromNode":"dade636ce2d72147","fromSide":"bottom","toNode":"cb5dc2c4eb714d15","toSide":"left"} ] } \ No newline at end of file diff --git a/01. 個人/01. Daily/2023-02-06(週一).md b/01. 個人/01. Daily/2023-02-06(週一).md new file mode 100644 index 0000000..2c87d23 --- /dev/null +++ b/01. 個人/01. Daily/2023-02-06(週一).md @@ -0,0 +1,32 @@ +--- +tags: +aliases: +date: 2023-02-06 +time: 10:31:27 +description: +listenSummit: 0 +anki: 0 +readingSkill: 0 +readingCasual: 0 +深蹲: 0 +啞鈴: 0 +仰臥起坐: 0 +--- + +時間:10:31:27 + +### TAG + + +--- + +### 新增TODO +#### 私事 + + +#### 公事 + + +--- + +### 今日回顧