Thursday, March 10, 2016

Source Insight無法讀取.cc檔

當你load檔時,發現缺少.cc的載入怎麼辦

照著這個步驟
1. 打開Options -> Document Options, 
2. 在Document Type選擇C++ Source File
3. 在File Filter中加入 ;*.cc

在sync一次應該就出現拉XD

Tuesday, January 26, 2016

git恢復成未下指令前的狀態

當你不小心手殘來硬的git reset --hard HEAD^後,發現砍錯了,恢復不了怎麼辦?怎麼辦?!!!

你的救星來了!!! 請參考下面操作~~~

>> git reset --hard HEAD^ (向前砍一次commit,心淌血了T^T)
>> git reset --hard HEAD^ (向前又砍了一次commit,心又再一次的淌血T^T)
>> git log --oneline
c825428 [TMAC] refactor TMAC FSM to support RTS+CTS+DATA+BA
cbca69b [TMAC] 1.add info in TRxreq and TRxsts 2. add a simple FSM in PPU Conflicts:    examples/wireless/throughput/omnetpp.ini        src/linklayer/ieee80211/mac/TrxReq.msg
73727ff Handle SIFS TX Request within TXOP

>> git reflog (查看之前下的歷史紀錄跟當下的hash值)

c825428 HEAD@{0}: reset: moving to HEAD^ (發現這是你第二次砍完的版本)
6da934d HEAD@{1}: reset: moving to HEAD^ (發現這是你第一次砍完的版本)
1c0dbcc HEAD@{2}: rebase finished: returning to refs/heads/DEV_BR_802.11ax

恢復到你還沒砍之前的狀態
>> git reset --hard 1c0dbcc
HEAD is now at 1c0dbcc [802.11x][RMAC][Feature] receive the Radio state at RMAC and change message between RPU and CAU

所以你可以看到又多出兩筆先前commit的資料
>> git log --oneline
1c0dbcc [802.11x][RMAC][Feature] receive the Radio state at RMAC and change message between RPU and CAU
6da934d [802.11x][RMAC][Feature] Add the replyInterval in RxReq message
c825428 [TMAC] refactor TMAC FSM to support RTS+CTS+DATA+BA
cbca69b [TMAC] 1.add info in TRxreq and TRxsts 2. add a simple FSM in PPU Conflicts:    examples/wireless/throughput/omnetpp.ini        src/linklayer/ieee80211/mac/TrxReq.msg
73727ff Handle SIFS TX Request within TXOP


有沒有頓時覺得用git用得很開勳阿>///<
請大家繼續開心的寫程式唄!


傻孩子下台一鞠躬! <(_  _)>

Thursday, January 14, 2016

IEEE 802.11 frame length (include header)

802.11 legacy
---

  • RTS: 20B = FC(2B) + Duration(2B) + RA(6B) + TA(6B) + FCS(4B)
  • CTS: 14B (= RTS size - TA)
  • ACK: 14B (= CTS size)

ps. FC =  Frame Control field


  • PS-Poll: 20B = FC(2B) + AID(2B) + RA=BSSID(6B) + TA(6B) + FCS(4B)
  • CF-End: 20B (format is similar to RTS, but Duration = 0 and TA = BSSID, RA is group addr)
  • CF-End + CF-ACK: 20B (format is similar to CF-End)


802.11n
---

  • BAR: 22B + variable = FC(2B) + Duration(2B) + RA(6B) + TA(6B) + BAR control(2B) + BAR info(variable) + FCS(4B)
    • BAR control = BAR Ack policy(1b) + multi-TID(1b) + compressed bitmap(1b) + reserve (9b) + tid info(4b)
    • if multi-TID=0, BAR info = BA Start Sequence Control(2B) = Frag number(4b) + start sequence number(12b)
    • if multi-TID=1, BAR info = perTID info(2B) + BA Start Sequence Control(2B). 4b TID subfield in perTID info.
  • BA: 22B + variable = FC(2B) + Duration(2B) + RA(6B) + TA(6B) + BA control(2B) + BA info(variable) + FCS(4B)
    • BAR control = BAR Ack policy(1b) + multi-TID(1b) + compressed bitmap(1b) + reserve (9b) + tid info(4b)
    • if multi-TID=0, BAR info = BA Start Sequence Control(2B) + BA bitmap(128B/8B, if compressed bitmap=1)
    • if multi-TID=1, BAR info = perTID info(2B) + BA Start Sequence Control(2B) + BA bitmap(8B, if compressed bitmap=1)
  • dfd


note: B = byte, b = bit

Monday, September 7, 2015

ftp upload script in linux

#!/bin/sh
#!/usr/bin/expect
HOST='xxxxx'
USER='xxxxx'
PASSWD='xxxxx'

if [ $# -ne 1 ]; then
    #echo "$#"
    echo "Usage: ./upload_hwrd.sh [git repository name]"
    exit
fi

# copy INET git repository to HWRD
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd /proj/d_01036/repo/
bin
put $1
quit
END_SCRIPT
echo "Copy $1 to /proj/d_01036/repo/ successfully"

exit

Thursday, September 3, 2015

802.11ac PHY rate setting in INET module


1. setting Guard Interval (GI) type
**.wlan*.shortGI = true # using short GI
**.wlan*.shortGI = false # using normal GI

2. setting Wi-Fi bandwidth
**.wlan*.bandWidth = 160MHz
**.wlan*.bandWidth = 80MHz
**.wlan*.bandWidth = 40MHz
**.wlan*.bandWidth = 20MHz

3. setting PHY rate (or MCS)
**.wlan*.bitrate = 433.3 Mbps  #MCS 9 for short GI, 80MHz
**.wlan*.bitrate = 390 Mbps  #MCS 8 for short GI, 80MHz
**.wlan*.bitrate = 325 Mbps  #MCS 7 for short GI, 80MHz
**.wlan*.bitrate = 292.5 Mbps  #MCS 6 for short GI, 80MHz
**.wlan*.bitrate = 260 Mbps  #MCS 5 for short GI, 80MHz
**.wlan*.bitrate = 195 Mbps  #MCS 4 for short GI, 80MHz
**.wlan*.bitrate = 130 Mbps  #MCS 3 for short GI, 80MHz
**.wlan*.bitrate = 97.5 Mbps  #MCS 2 for short GI, 80MHz
**.wlan*.bitrate = 65 Mbps  #MCS 1 for short GI, 80MHz
**.wlan*.bitrate = 32.5 Mbps  #MCS 0 for short GI, 80MHz

**.wlan*.bitrate = 390 Mbps  #MCS 9 for normal GI, 80MHz
**.wlan*.bitrate = 351 Mbps  #MCS 8 for normal GI, 80MHz
**.wlan*.bitrate = 292.5 Mbps  #MCS 7 for normal GI, 80MHz
**.wlan*.bitrate = 263.3 Mbps  #MCS 6 for normal GI, 80MHz
**.wlan*.bitrate = 234 Mbps  #MCS 5 for normal GI, 80MHz
**.wlan*.bitrate = 175.5 Mbps  #MCS 4 for normal GI, 80MHz
**.wlan*.bitrate = 117 Mbps  #MCS 3 for normal GI, 80MHz
**.wlan*.bitrate = 78.8 Mbps  #MCS 2 for normal GI, 80MHz
**.wlan*.bitrate = 58.5 Mbps  #MCS 1 for normal GI, 80MHz
**.wlan*.bitrate = 29.3 Mbps  #MCS 0 for normal GI, 80MHz

4. setting number of spatial stream (NSS)
**.wlan*.Nss = 4 # four spatial streams
**.wlan*.Nss = 2 # two spatial streams
**.wlan*.Nss = 1 # two spatial stream



Example of 1733.3 Mbps IEEE 802.11ac PHY rate setting
**.wlan*.shortGI = true
**.wlan*.bandWidth = 80MHz
**.wlan*.bitrate = 433.3 Mbps
**.wlan*.Nss = 4



Reference:
https://en.wikipedia.org/wiki/IEEE_802.11ac#Theoretical