Apr 2016 - Present
1. 協助Android Team技術支援(MVVM architecture、Jetpack、design patterns、lifecycle、memory leak、SOLID、Kotlin Coroutines/Flows、code review)
2. 開發nRF52832藍牙韌體,主要用來溫度監控與記錄。與Android/iOS App團隊合作,自定義藍牙通訊協定,使手機能接收溫度記錄、控制LED與Alarm等各種設定,且支援OTA更新(DFU)。大幅優化了約60倍資料傳送速度(每秒可傳1500筆記錄)。監測狀態耗電量僅約18uA(未連線、持續廣播與監測、至少超過一年)。
3. 負責ARM Embedded Linux kernel porting(NVIDIA Jetson TX2)。修改device tree、kernel config、driver porting、rootfs customization等。研究出一個有效率的方式能在本機端客製化L4T rootfs,節省很多開發時間。
4. 負責x86 PC從頭開始第一次做Linux kernel porting。在團隊中是第一個成功把audio driver移植上去的人。
5. 負責客製化Android framework(NXP i.MX6),在framework增加新的system service,撰寫JNI控制RTC與HDMI blank,並提供API給上層App呼叫。
6. 用C++開發Windows顯示卡控制程式,用NVAPI library來控制NVIDIA顯示卡(例如超頻、風扇轉速、LED燈光控制等等),與Android/iOS App團隊合作,自訂通訊協定,使手機或平板透過TCP/UDP(Winsock)經由RSA/AES加密連線(OpenSSL)來控制顯示卡。
7. 開發TI CC2541藍牙韌體,用來顯示LED跑馬燈,並且開發Android app透過BLE(Bluetooth Low Energy)來控制。
8. 用C#開發Windows藍牙程式,透過BLE(Bluetooth Low Energy)來抓取特定碼錶的計時資料,並做分析。
9. 開發Android智慧家庭app,透過雲端來監控各種家電裝置,使用Firebase推播通知。