2020/3/31

mmwave out of box demo, console command

這些 command 的 宣告在 sdk_install_path/packages/ti/utils/cli/src/cli_mmwasve.c
裡面就有 command 和 argument 說明
CLI_CmdTableEntry gCLIMMWaveExtensionTable[] =
{
    {
        "version",
#ifdef CLI_MMWAVE_HELP_SUPPORT
        "No arguments",
#else
        NULL,
#endif
        CLI_MMWaveVersion
    },
    {
        "flushCfg",
#ifdef CLI_MMWAVE_HELP_SUPPORT
        "No arguments",
#else
        NULL,
#endif
        CLI_MMWaveFlushCfg
    },
    {
        "dfeDataOutputMode",
#ifdef CLI_MMWAVE_HELP_SUPPORT
        "<modeType>   1-Chirp and 2-Continuous",
#else
        NULL,
#endif
        CLI_MMWaveDataOutputMode
    },
    {
        "channelCfg",
#ifdef CLI_MMWAVE_HELP_SUPPORT
        "<rxChannelEn> <txChannelEn> <cascading>",
#else
        NULL,
#endif
        CLI_MMWaveChannelCfg
    },
 ..



舉例來說...
    {
        "profileCfg",
#ifdef CLI_MMWAVE_HELP_SUPPORT
        "<profileId>l; <startFreq> <idleTime> <adcStartTime> <rampEndTime> <txOutPower> <txPhaseShifter> 
         <freqSlopeConst> <txStartTime> <numAdcSamples> <digOutSampleRate> <hpfCornerFreq1> <hpfCornerFreq2> <rxGain>",
#else
        NULL,
#endif
        CLI_MMWaveProfileCfg
    },

2020/3/27

TI mmwave, build xwr16xx mmw demo

這是 mmwave sdk 的 demo : Millimeter Wave (mmw) Demo for XWR16XX

裝完 mmwave_sdk 後,在 sdk_install_path\packages\ti\demo\xwr16xx\mmw 下。
但是這個 demo 沒有 CCS 的 project 檔 .project

但是裡面有 makefile,所以猜是用 command line 來 make

tool path 的設定,在 sdk_insall_path\packages\scripts\windows 下,有 setenv.bat
裡面就有 tool path 環境變數設定。

對照一下 裡面設定的 tool path, 版本是不是和你一樣,如果不一樣,就去 ti 下載一樣的版本。
例如: ARM-CGT-16.9.6.LTS

還有 要確認 MMWAVE_SDK_TOOLS_INSTALL_PATH 是不是正確。

還有 要確認MMWAVE_SDK_DEVICE 是不是正確 awr16xx

開啟 command window (CMD)。
到 sdk_install_path\packages\scripts\windows 下執行 setenv.bat
之後,到 sdk_install_path\packages\ti\demo\xwr16xx\mmw
TI TOOLSET 的 make 好像是 gmake。
所以
gmake clean
...
發現 最後的 bin, map ...etc 都被刪掉了。
然後
gmake all
...

call C:/ti/mmwave_sdk_02_00_00_04/packages\scripts\ImageCreator\xwr16xx\crc_multicore_image\crc_multicore_image.exe xwr16xx_mmw_demo.bin xwr16xx_mmw_demo.bin.tmp
size of App Image is 295168 bytes
cur_crc_read_addr 128
cur_crc_read_addr 86272
cur_crc_read_addr 108224
Failed to remove CRC temp file

call C:/ti/mmwave_sdk_02_00_00_04/packages\scripts\ImageCreator\append_bin_crc\gen_bincrc32.exe xwr16xx_mmw_demo.bin
>>>> Binary CRC32 = 1e71f854 <<<<
>>>> Total bytes in binary file 295172 <<<<

Info: MMWAVE_SECDEV_INSTALL_PATH is not defined. Skipping secure build
******************************************************************************
Built the mmw Demo Flash Binary
******************************************************************************
完成。

2020/3/26

Bookmark , TI mmwave tool pages

add busybox to git bash

git bash 很方便(其實就是 mingw),但是有些command 還是沒有提供。
最簡單的方式就是加 busybox

這個 busybox-win32 就是在 mingw 下 build 的 busybox。
所以下載後,就可以 在 windows 下 run 了。

要跟 git bash 整合在一起的話,用檔案管理員放到 C:\Program Files\Git\usr\bin 下。
至於 busybox 的 ln 功能,用 windows 的 "捷徑" 試過,沒用。
後來用 複製,改檔名,才可以用。

例如複製一份 busybox.exe,然後改名為 hd.exe,結果就有 hd 命令了。

2020/3/25

VSCode, PyQT4, Anaconda

這三個好像可以合作愉快...

首先裝好 anaconda,create 一個 qt4 env,python 選 3.6
然後在環境中 conda install pyqt4

VSCode 要安裝 extension : PYQT Integration.
然後這個最新的是support pyQT5。
要在 extension page ,他的齒輪選 "Install Another Version",我選 0.1.1,這個版本有 support pyQT4

然後去download 最新的 Qt Designer for windows,安裝。

"c:\Program Files (x86)\Qt Designer\designer.exe" 找到 designer.exe
把他寫到 PYQT Integration 的齒輪李,Qt Designer Path 中。
記得要用 " " 刮起來。不然執行會有問題。

VSCode 使用 Qt Designer 編輯 *.ui

用 VSCode Open Folder,開啟你的 python source code 和 *.ui 所在的 folder。
之後,在 *.ui 按右鍵,選 "PYQT : Edit In Designer",就會跳出 QT designer...


VSCode 配合 anaconda 環境

開啟任何 python, *.ui 檔,VSCode 左邊最下方都會有 Python 3.6.10 64-bit('qt4': conda) 字樣。
按下去,就會出現anaconda 所有的 env,選一個你要的..就 OK 了。

2020/3/20

FMCW 雷達的一些特性公式

Maximum Rage

最遠可以偵測的距離,跟兩項參數有關:
  • 中頻頻寬
  • SNR
中頻就是 FMCW 型,收到和發射的頻率差。
然後chip 的設計,這個頻率差只支援到一定的頻率。
Range = IF x c /(2 x S)
IF : 中頻頻寬
c : 光速
S : FMCW 掃描時, 頻率增加的速度(斜率)



range resolution

可以分辨出兩個物體時,物體之間的最短距離。
c/(2 x B)
c : 光速
B : chirp 的掃描頻寬

B 就是 FMCW 每次 掃描時,最終的頻率 - 一開始的頻率。



Maximum Velocity

用FMCW 來偵測物體速度時,最大可偵測速度是..
由於速度是由連續兩個 chirp 間,收到的相位差算出來的,所以和波長,chirp 時間有關:
Max velocity = L / (4 x T)
L : 採用的雷達波波長
T : 一整個Chirp 的時間 (也就是兩個Chirp 開始的時間差)



Velocity Resolution

分辨出兩個不同速度的物件時,兩者最小的速度差。
這個跟 用連續的 chirp 算出速度有關,因為是用 FFT,所以 period 越大,resolution 越高。
而 period 就是選擇累積一定 chirp 後,開始進行計算的chirp 數。
稱作一個 Frame。
Velocity Resolution = L / (2 x N x T)
N : 一個 frame 的 chirp 數。
L : 雷達波長。
T : 一個 chirp 的時間,就是兩個chirp 開始,相差的時間。



Angular Range

角度是靠多組天線,利用不同天線收到的回波來相位差來算,所以和天線的距離有關。
最大角度 = asin( L /(2 x d) )
L : 波長
d : 天線間的距離



Angular Resolution

一樣,Angular 是用多組天線,從收到的相位做 FFT 取得,所以天線越多,做 FFT 的 period 越大,解析度就越高。
Angular Resolution = L /( d x N x Cos(s))   x (180 / pi)
L : 波長
N : 接收天線數量
s : 物體所在的角度

github bash -- disable cursor blinking

ref: minttyrc

github bash 也類似linux shell,在 user home 目錄 (cd ENTER 就會到),下有 .minttyrc
這個就是 terminal 行為的設定檔。
依照參考內容:
CursorBlinks=No
加上這個,重新開啟 github bash 後,cursor 就不會閃了。