週記0068:0070

週記0068:0070

2019-11-10至2019-11-30

  說好要每週寫週記的,但是你看這一下又是三合一週記。

  唉,關於忙碌這件事情,我還是太天真了。

  真的,非要考校的話,跟上次週記很相似,三週中的第一週總不是很忙。但是後面的兩週,就沒辦法了。其中一週在外面做實驗,要說忙也不是太忙,累也不是太累,然而要騰出手來寫週記確實也不是什麼容易的事。另一週做完實驗回來,立刻就接了個很緊迫的工作,等下再詳細說。等終於‘閒下來’,已經是週五了,稍微犯犯懶,這週記就變成三合一了。

  實際上這篇週記是在飛機上寫的,我又出差了。我覺得不能再拖了,再拖成‘月記’了,哈哈。

  那先講講記憶已經開始模糊的10日到16日這一週吧。

  有一說一,第一週的時間是比較自由的。這一週的很多具體事宜並不能回想起來了,主要的原因之一,就是做的事情並沒有一個固定且時序分明的時間表,而是相互散亂穿插的。

  首先,延續前一週的事務,我繼續研究了一下CubeIDE,我前一週的時候基本上認爲這是一個非常方便高效的工具——如今這個看法沒有變,但是要加一條——對於那些熟悉STM32內部信號通路和外設的工程師來說。確實,我發現我對於STM32還是知之太少,我過去都是用別人做好的開發板做我的項目,沒有系統級地設計過一個板子,頂多設計過外設。這對於CubeIDE來說太過經驗不足了。

  我按照我的理解去配置引腳,試圖生成原始系統代碼。首先就發現時鐘串跑不通——於是我修改了原來的引腳次序,把外部時鐘加入進來。然後我又發現時鐘需要快慢兩個,才能實現分頻等等實際上很基本的功能——於是我又加一個慢時鐘。好,然後我發現系統復位還是需要佔用引腳的——雖然也不是不能內置復位,但是我觀察了一下我以前用的各種開發板,復位引腳都是留在外面的,看了一下網上的說明,確實大家推薦復位引腳不要用來幹別的,不然容易程序突然跑崩或者意外復位。

  這一下我之前理想的佈線已經所剩無幾了,但是還有的!我打定主意要用SWD模式進行燒寫和調試,因爲SWD模式佔用引腳最少,應該可以只用四個。但是我發現SWD模式的引腳又佔去了幾個我準備配置給掃描輸出口的IO。。。。

  到了這個時候我已經有點感覺到我可能短期內用不了這個工具了,我決定先嚐試着配置一下IO口,看看工作流程是什麼樣子的,雖然估計是玩不轉了,但也可以先探索一下。果然,IO口還有一堆需要配置的參數,比如速度、上拉下拉、初始電平。這樣配置一圈之後,還需要回到時鐘串上面去做時鐘優化。

  之前的開發板教程裏,這些內容都是一筆帶過的,可能作者本來也沒準備讓讀者去自行配置自己的產品吧。

  可能單片機和FPGA的開發者,都很少自己去配置系統,就我之前看別人的代碼的經驗,他們都是把自己從某個知名開發板裏的源代碼複製粘貼一下,然後放進自己的產品裏,我常常發現他們連變量名字都懶得改。這個開發流程是沒錯的,而且大家的代碼風格就會比較統一。但是我這個人,就是想學點不一樣的,哈哈。也許需要一段比較長的學習過程吧!

  此外,那一週還拆了一下一套探頭,和師姐觀察並討論了一下別人家做的電路的電流信號是什麼樣的。挺有點意外的,那個電流的波形似乎可以解釋磁芯飽和的全過程中的磁滯回線,然而我所不明確的是——爲啥要用那樣一個奇特的波形去作激勵。更進一步的,我一直認爲磁通門最主要的噪聲來源是激勵電流,在這種情況下,爲什麼依然要使用一個頻率成分如此複雜的電流,而非一個相對純淨的電流呢?我太缺乏實驗經驗了,本來是要最近都泡在實驗室的,結果第二週就出差了。

  啊,我本應該好好做實驗的。

  那一週可能似乎好像還去值了個班,不過印象不準確了——我記得我剛剛還想,最近不需要值班了,然後我就去值了一次班。emmmm果然人不能立flag。

  哦,然後寫了一套代碼,比較成熟的數據處理代碼了——幾乎所有的操作都是在子函數裏完成的,主函數只涉及了一些參數設置。而且我爲這個程序寫了兩個版本,用來適應Matlab2019以前的版本和2019自身。針對以前的版本也可以在octave裏用。不過集成度還可以提升——因爲這次的任務有三個不同的需求,針對的數據格式也不大一樣,所以我寫了三種不同的主程序——雖然子函數都是一樣的。

  以後有時間,將這三個主程序也集合在一起,寫一個GUI出來,這個事情基本上就很完美了——有時間的話。因爲現在已經很方便了,我認爲。

  .....這麼一回憶我居然幹了這麼多事情?!不可思議不可思議。。。。我本來記得我那一週還算挺閒來着。。。

  好吧,那就講下一週。15日左右,師兄和老師(不是我的導師),邀請我一起去做實驗,去宜昌。我非常想念上次去宜昌做實驗喝到的魚湯。新鮮的江魚,就在碼頭的這個不起眼的小餐館裏熬成濃湯,和爐子一起端上來,一直輕輕地滾着。佐料幾乎只有豆腐、生薑和鹽——也許有一點胡椒粉和花椒粉。鮮美,停不下來,一碗接一碗地喝。魚肉說不上多好喫,但是魚湯實在太棒。喝過幾碗魚湯,再將小白菜或者大白菜下進湯裏,燙一燙,趁鮮嫩,就魚湯送下。啊!

  所以我就毫不猶豫地答應了。(根本不是熱愛科研,只不過是饞那口魚湯)

  於是11月18日,中午,我們三個人就一起坐上了前往宜昌的高鐵,去做實驗。

  這次的實驗主要是爲了測試我師兄的一些實驗設計和想法,考慮到那邊設備比較齊全,就選擇去他們那邊做——然而還是達不到師兄的要求——此外,我們發現有些設備他們還不如我們實驗室的好用——比如他們的信號源,居然全都是單通道的。。。雙通道的似乎就一臺,而且是固定死的,不能挪作他用。我們本來希望施加一組相互正交的信號,這下就只能手動調節正交了,效果差了很多。

  因爲是師兄的實驗,我就不多做描述了,希望他能取得好的結果,發好的論文,最好能帶我一個,哈哈。

  週四我們從宜昌往回走,還是高鐵。中午我正在高鐵上睡覺(看指環王,十分鐘就睡着了),導師的微信就來了,讓我去他辦公室找他。我看到的時候已經過去快兩個小時了。我趕緊回覆,說明情況,答應第二天再去找他。

  說實話我超慌。我之前實在是抽不開身,兩週以來,幹了很多事情。確實他佈置給我的研究內容我做了,但我認爲遠遠不足夠給他作一次彙報,我得出的結論還很初步。

  我本來打算下了高鐵直接回宿舍,休息、洗澡、洗衣服——之前太忙,當時我身上穿的已經是最後一套乾淨衣服了。然而沒辦法,我只好回到辦公室,趕緊又多讀了幾篇論文,並且整理出來。

  不過接下來的一天,導師都比較忙碌,沒有找我。

  沒找我不代表我就沒事了,到下午快下班的時候,老師(不是我導師)叫我過去幫忙。

  什麼忙呢?做兩個宣傳視頻。

  這件事情我很早之前就知道,不過我所知道的是,我們組將這個東西外包出去了,讓外面的人做了一個GUI,實時顯示數據、並且有兩個展示窗,兩個展示窗裏放的是一些我們之前做出來的素材。

在這裏插入圖片描述

圖文無關

  但是,真的,那個外包公司太菜了。

  第一,他們的UI太不美觀了,背景是漸變的紫色,這個還好,搭配得當的話也不是太醜;但是他們的字體五顏六色,完全不在一個色系,字體本身也不好看,如果我判斷得沒錯,那是等線字體。爲了突出重點,有些字體還是加大號的。

  第二,他們拿到我們的素材之後,竟然加工成了GIF圖片,在界面中滾動播出。。。。。我的媽,我們做的高清圖片、高清視頻,就變成了一些幀率很低,模糊變形的gif!大部分的圖片素材和視頻素材,都完全變形了——然後後來叫他們過來現場改,他們居然推說看不出來變形——拜託,那個地球都已經被壓扁成離心率0.5的橢球了。。。。

  第三,我不知道那個UI工程師是怎麼搞的,非要用html來寫。HTML裏嵌套了一堆的Java Script——我說,直接用Java它不香麼?或者直接用HTML5,它不香麼?爲什麼一定要在HTML裏嵌一個Java呢?我這又不是一個真的網頁,只不過是一個顯示本地多媒體文件的平臺而已——雖然確實有通過局域網訪問的實時數據,但是我覺得那並不是使用HTML作爲大框架的理由。還必須要禁用安全模式才能用Chrome打開這個網頁——實際上據我親測,用edge就可以無障礙打開了——可能這個UI工程師也不知道他自己寫了個啥代碼吧。

  第四,他們在我們的素材上加了說明用的字幕——太醜了,漢字的閱讀習慣是從左往右的,一般來說。但是他們做的字幕是從左往右滾動的——這也就是說,每一行字的最後一個字總是先出現——你可以理解爲一個倒放的Bilibili彈幕。。。。而且這個字幕的字體是宋體。。。。你們是在做什麼公文麼用宋體。。。。宋體是一個很正式的字體,宋體的每一筆畫收尾處都有一個勾,對於人眼來說,閱讀宋體將會吸引人更多的注意力,因此適合用在公文中,顯示嚴謹。但是,應當在多媒體展示中避免宋體——因爲太佔用注意力了,會讓人的注意力被從真正要展示的東西中抽離。說白了就是,宋體會天然的成爲人注意力的中心。哦,而且,因爲前面說到的畫面變形,這個宋體字也變成了細長的。

  。。。總之非常之醜,按老師的話來說,就是毫無審美。

  所以這個活兒落到了我的頭上——我其實認爲,在這種情況下,已經可以不用給外包公司付錢了。不過考慮到我只是將裏面的素材重新集成一下,避免被他的程序搞得變形,可能最終組裏還是會付錢的。

  我用了四天的時間,重新找高清素材、配字幕(當然,老師也幫我找了很多素材),將他們逐個的剪裁好,配置好,期間可以說是結結實實地鍛鍊了我的ffmpeg和openshot技巧,以及Linux命令行熟練度——是,我是在linux裏做的。以前我都是用Windows Movie Maker做類似的任務(畢竟並不需要複雜的特效),但是Windows Movie Maker改版之後變得很不好用(也許是阿三程序員的功勞),所以我一直想試一試一些新的工具。然而Windows平臺上的其他工具一般來說要麼太過睿智(比如愛剪輯什麼的),要麼就太貴——我一直以來儘可能避免盜版軟件,我認爲我也算是大半個程序員,應該尊重別的程序員的勞動成果,要麼用開源免費產品,要麼就付錢買付費產品。

  意外的,我還發現,如果在Windows休眠狀態下(休眠,不是睡眠),Windows相應的幾塊磁盤都會被鎖死,變成只讀狀態,只能讀,不能做任何的寫操作。我的linux裏掛載了一塊Windows的硬盤,用於在兩個系統之間做數據交換,我這次的視頻剪輯項目也是掛在這個硬盤裏的——於是如果我之前沒有將Windows徹底關機,我的項目就不能做任何更改,兩三次之後,我終於發現了這個問題。

  四天,每天都目不轉睛地盯着電腦屏幕看,非常勞神,兩眼通紅,做視頻實在是個細緻活,要逐幀逐幀地去檢視。不過最後做出來的成品確實不錯,所以我還是挺高興的。

  下一步我想在閒暇時間學學如何做UI,正好就可以和我的Matlab的目標結合在一起了。

  老師剛剛給我佈置任務的那天,也就是22日,晚上,我去享受了個“最後的歡愉”,我跟同學們早就約好那天晚上一起看老電影《海上鋼琴家》。真的是回憶起了我的童年——那個時候的我又傻又單純,哈哈。

  那麼橫跨兩週,11月24~30號這一週,前三天,也就是週日,週一,週二這三個整天,我都在做前面說的視頻。週二中午終於算是全部完成,下午結結實實睡了一覺(腰痠背痛眼乾頭昏),恢復過來。然後驚聞,又到我做組會報告了。。。還剩下一天半。。。。

  爲啥每次都是我最忙的時候要做組會報告啊摔!

  最近看的論文都很發散,有生物方面的,有引力波方面的,各式各樣——我也不知道講啥好。但是考慮到生物方面的一來專用名詞太多,二來距離其他組會參與者的研究內容太遠,我還是決定做引力波方面的報告。引力波的那幾篇論文都比較專業化,不太方便大家對整個裝置有直觀的瞭解,所以我又花了一天,去查閱了一些更簡明的,更廣泛的資料,來充實我的報告。

  我太強了——在經歷了這許多折磨之後——我已經能在三個小時之內鼓搗完一份長達一小時的組會Presentation了。(不算前期資料學習時間的話)

  半夜一兩點回到宿舍,週四早上八點多到辦公室,九點半開始講報告——然後一個小時之後,我終於解脫了,完成了一週的工作——同時結束了持續三週的馬不停蹄。

在這裏插入圖片描述

圖文無關

  第二天,也就是11月29日,週五,早上正在睡懶覺,導師的微信進來了,讓我週一和他一起去開會,順便跟未來的外國導師見見面——啊,這也就是爲什麼我的週記是在飛機上寫的了。其實我的週記並不全是在飛機上寫的。週一去程的飛機上寫了四分之一,週三回程的飛機寫了二分之一,今天週五了,才把最後的四分之一寫完。

  因此從週五開始,一直在查那邊的研究機構的具體情況,以及這位外國導師的各種研究進展。很好,很充實。

  我尋思着週五更新也不能算鴿,這一週繼續加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章