2021年11月30日 星期二
DIY 70邁pro 換電池
markdown
最近每次車子發動時 70邁pro 都會叫時間重置,上網查了一下應該是因為內置電池沒電了,於是上網買了個電池準備來更換一下。
網路上有很多 70邁pro 換電池的教學,找到一個影片就準備照著做了。步驟還蠻簡單的,只要將貼紙撕掉轉開兩個螺絲就可以將殼拔出看到電池了,如下圖。

換下來的電池,型號是 HMC1450。

在裝上新電池後,因為電池的 3pin 接頭卡榫不太好壓入,我用一個金屬翹棒去壓結果不小心讓電池短路小跳火了一下,還好電池沒壞掉。之後測試了一下已經不會再叫時間重置了。
其實 70邁pro 才買了大概兩年,沒想到這麼快電池就沒電了,不過當初也才花一千多,可以預期這種超低價產品裡面的電池也不會用多好的,還好它的設計可以讓人自行更換,換完電池就滿血復活。
2021年11月29日 星期一
Github 改用 personal access token
markdown
最近某個很久沒用的 git 倉庫要 push 時跳出警告說 account/password 的方式已無法使用,需用 personal access token,就上網研究了一下要如何使用 personal access token。
personal access token 要在 github 先申請好,會得到一組字串,然後要將本地端 git 倉庫更新為使用 github personal access token,最簡單的方法應該是用[這裡](https://exerror.com/remote-support-for-password-authentication-was-removed-on-august-13-2021-please-use-a-personal-access-token-instead/)提到的使用 command 的方式。
git remote set-url origin https://<token>@github.com/<username>/<repo>我跑了這個 command 後就可以 push 了。 然後[這裡](https://iter01.com/611911.html)有說到如果是用 ssh 的方式的話不會受影響,我有其他倉庫並沒有跳出警告叫我使用 personal access token,應該是因為已經使用了 ssh。 --- * [[Solved] remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead](https://exerror.com/remote-support-for-password-authentication-was-removed-on-august-13-2021-please-use-a-personal-access-token-instead/) * [使用personal access token進行Github認證](https://iter01.com/611911.html)
2021年9月26日 星期日
[Android] Android studio emulator 踩坑
markdown
老樣子,android 踩坑日常。
在 android studio 中下載了 android 10 的模擬器,將模擬器開起來時出現了 error,原本出現的 error 是 Android Emulator closed because of an internal error,如下圖

在 [SO](https://stackoverflow.com/questions/67316340/android-emulator-closed-because-of-an-internal-error-gpu-found) 找到一篇解,在 C:\users\[user name]\.android 中新增一個檔案 advancedFeatures.ini,然後問題就變成開模擬器時跳出一個小 window 進度條然後卡住,基本上跟[這篇](https://stackoverflow.com/questions/66250313/android-emulator-not-responding-frozen)的問題一樣。
照著那篇的解去看 intel HAXM 有沒有安裝,是有安裝但是 android studio 有提示現在安裝的不是最新版,我更新到最新版,版本為 7.6.5。

更新到最新版後,`C:\Users\[user_name]\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager` 目錄裡的 intelhaxm-android 檔案不見了,但是模擬器可以開起來了,所以 intel HAXM 跟模擬器也有匹配性問題,版本不對也會造成模擬器卡住開不起來。
最後,我的模擬器原本是開得起來的,不知道為什麼突然開不起來了,猜可能是因為 android studio 更新造成的。
---
* [Android Emulator not responding - frozen](https://stackoverflow.com/questions/66250313/android-emulator-not-responding-frozen)
* [Android Emulator closed because of an internal error: GPU Found](https://stackoverflow.com/questions/67316340/android-emulator-closed-because-of-an-internal-error-gpu-found)
2021年9月4日 星期六
[RF] Return loss and S11
markdown
RF 訊號傳輸中,會因為阻抗不匹配或是不連續導致 RF 訊號能量被反彈回來,原始 RF 功率減掉被反彈回去的 RF 功率就是 return loss。
雖然 return loss 聽起來會讓人以為它的定義像是被反彈回去的功率,這比較容易讓人誤解,但是正確的定義確實是
正常傳輸的功率 - 反彈回去的功率數學上的表示則是
RL(dB) = 10log(Pi/Pr)Pi 為正常 RF 功率,Pr 為被反彈回去的功率,所以一般來說我們希望 return loss 越大越好。 S11 跟 return loss 其實是指一樣的東西,不過它跟 return loss 差了一個負號,S11 = -(return loss)。所以當我們說 S11 的時候,我們希望 S11 越小越好。 --- * [return loss 回波损耗越大越好还是越小越好?](https://www.zhihu.com/question/24240508) * [什么是插入损耗和回波损耗?](https://fiber.ofweek.com/2020-06/ART-210001-11000-30444667.html) * [Understanding VSWR and Return Loss](https://www.youtube.com/watch?v=BijMGKbT0Wk) * [反射率 S11 實測-同軸電纜/終端電阻 在Smith Chart長甚麼樣子](https://www.strongpilab.com/s11-measurement-cable-terminator/)
2021年8月28日 星期六
[RF] 阻抗匹配 50 歐姆
markdown
在做 RF 的時候,常常會聽到一些討論,例如阻抗是不是 50 歐姆,有沒有阻抗匹配,一直以來其實都不知道這是甚麼意思,在聽別人解釋時也一知半解,於是決定好好惡補一下。
這個 50 歐姆的物理意義,跟平常我們用三用電表量出的歐姆是不一樣的,而且用三用電表也量不出來。其實它叫做特性阻抗,或是瞬時阻抗,是表示非常小的單位時間內,電子在傳輸線中行進的距離所遇到的阻力,這個阻抗值的大小是跟傳輸線的材質和截面積有關,與傳輸線長度無關。
RF 訊號在傳輸時,若是某一段路徑的特性阻抗跟前一段不一樣,那就會有部分的 RF 訊號被反彈回去,持續向前傳輸的能量就減弱了,所謂阻抗匹配,就是指 RF 訊號傳輸路徑都是固定的特性阻抗值,例如最常見的 50 歐姆,這時 RF 訊號在傳輸過程中能夠保存最多的能量傳輸到目的地。
而為什麼是 50 歐姆,其實是人為選定的結果,科學家們經由一傳串的實驗發現,在 29.6578 歐姆時,同軸纜線能傳輸的功率可以達到最大,但是對線體的損耗也大,在 76.3779 歐姆時,對線體的損耗最小,但能傳輸的功率也小,於是在傳輸功率與線體損耗的平衡考量下取折衷就是 50 歐姆了。
---
* [Characteristic Impedance](https://www.oldfriend.url.tw/SI_PI/ansys_ch_cha_impedance.html)
* [終於有人講明白了什麼是特性阻抗什麼是阻抗匹配~~~](https://kknews.cc/zh-tw/news/eylegbq.html)
* [射频工程师必知必会——为什么是“50欧姆”?](https://mp.weixin.qq.com/s?__biz=MzIwODc4NzE1OA==&mid=2247487097&idx=1&sn=ea625bb2c49b408c9fff4e2cba5c3b07&chksm=977c8dc0a00b04d634da19e8c1e453352e8f2f02df2a45a58489cb78849c883d0b63c11478ef&scene=21#wechat_redirect)
2021年6月13日 星期日
Visual Studio 2015 Community Update 3 坑爹的問題
markdown
最近遇到的一個坑爹的問題,就是發現 visual studio 的測試總管中,沒有顯示我的測試方法,像下圖一樣,甚麼都沒有。

我試著執行測試,是可以執行的,只是也沒有顯示任何測試結果。一開始我先在 google 盲目搜尋,找了一些解法。
例如[安裝 MSTest.TestAdapter](https://stackoverflow.com/questions/42861930/unit-tests-not-discovered-in-visual-studio-2017/44338786#44338786),沒用,這個解法是要解決 VS「找不到」測試方法的問題,但我發現我的 VS 的 log 顯示它有找到我的測試方法,但就是沒顯示出來。
還有說刪除 [%LocalAppData%\Microsoft\VisualStudio\12.0\ComponentModelCache](https://stackoverflow.com/questions/25304425/visual-studio-2013-doesnt-discover-unit-tests) 路徑就好的,也是沒用。
然後我發現 VS 會顯示一個錯誤,看起來跟測試有關。

就以這個組件名稱當關鍵字搜尋,然後就找到 [microsoft forums](https://social.msdn.microsoft.com/Forums/sqlserver/en-US/04be3174-4811-4f35-930a-d1766e4d8b3a/my-uni-tests-disappeared-after-updating-visual-studio?forum=vsunittest) 的一篇討論,這裡有人也遇到一樣的問題,而且他的 VS 版本跟我一模一樣,我也是 14.0.25424.00 Update 3。

這個人他說了,他發現這個問題只有在非英文版的 VS 才會出現,他裝的是德文版,而且只要把 `C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\de` 目錄改名,問題就解了。
我裝的是中文版 VS,在我的電腦中,路徑是`C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\zh-Hant`。
這個資料夾裡面放了很多 Microsoft.VisualStudio.TestWindow 開頭的 dll,而且從資料夾的名稱和路徑看起來,這裡面應該是用來支援不同語言包的測試相關的組件。我試著把資料夾改名,的確測試總管就找到我的測試方法了,不過 UI 變成英文的。

到這裡整個情況就很清楚了,原本我的測試總管沒有顯示測試方法,是因為 VS 預設安裝的測試總管用來顯示中文介面的語言包組件有問題,把資料夾改名了之後,他用回英文的語言包組件,就可以正常顯示了。
本來這樣也是可以用了,但這個討論串裡有個好心人把各種語言的正確語言包組件附上了,為了怕這樣的好東西之後連結失效不能用了,我也放到我的 blog 中。
[下載連結](https://drive.google.com/file/d/1K7bB1KsxyVc8n3IhpcX_kVoD0rTNE0Er/view?usp=sharing)
出問題的就是 Microsoft.VisualStudio.TestWindow.Core.resources.dll,我將上面語言包 CHT 內的 dll 覆蓋掉 VS 預設安裝的,測試總管就可以正常顯示,而且是中文介面。

至於該討論串中微軟的人後來提供的解法,也就是移除 KB3165756 (visual-studio-2015-update3),我就沒試了,因為從這個 KB 名稱來看,移除就是把整個 update 3 移除了,可能會移掉一些有用的東西。
---
* [My uni tests disappeared after updating Visual Studio](https://social.msdn.microsoft.com/Forums/sqlserver/en-US/04be3174-4811-4f35-930a-d1766e4d8b3a/my-uni-tests-disappeared-after-updating-visual-studio?forum=vsunittest)
2021年6月12日 星期六
[Android] Dialog 背景 DIM 效果
markdown
FAB 有個常見的效果時,顯示 FAB 菜單的時候,background 會變暗,想研究一下這個效果要怎麼達成,第一個想到的是,這個效果跟 Android 顯示 Dialog 的時候很像,就想看一下 Dialog 是怎麼做到這件事的,看能不能將 Dialog 的作法借用過來。
經過一些 study 後,發現 activity 其實會對應到一個 window(window 的意義是甚麼以後有機會再說吧),系統會將 window 關連到的 View 繪製在螢幕上,而 Dialog 會在其內部建立一個新的 window,這個 window 位置會疊在 activity 的 window 之上(造成 Dialog 的懸浮效果),Dialog window 的 background 是透明的,並且將這個 window 的 dimAmount 設置為 0.6 來達成背景變暗的效果。
這個方法是蠻方便的,不過不適合用在 FAB 菜單顯示,總覺得不需要再建一個 window,而且還要處理 window 間的事件傳遞,也比較麻煩吧。
---
* [關於給Dialog設置setCanceledOnTouchOutside(true)後如何監聽Dialog消失](https://blog.csdn.net/qq_16247851/article/details/72794409)
訂閱:
文章 (Atom)