20170210_jeffrey - silenceuncrio/diary GitHub Wiki
Index
- 0840 -
Dual SIM page
- 'Connect' 按鈕需要修正一下 - 1000 - m300 週會
- 1300 - 紀錄一下昨天下班前接到的新需求
- 1435 - 四月底前我有四個工作項目
- 1550 - morris 量完 pull low 的時間表示不夠
- 1625 - 發現
GPIO5-IO7
這根腳不能去做 mux mode 的設定
0840
關於 Dual SIM page
的 Connect
和 'Disconnect' 按鈕按下去之後的行為目前如下
Connect
- 按下去之後顯示 旋轉圖示提醒使用者正在動作
- 五秒之後再去確認狀態
- 'Disconnect'
- 按下去之後顯示 旋轉圖示提醒使用者正在動作
- 五秒之後再去確認狀態
'Disconnect' 按鈕目前的行為是可以的
不過 'Connect' 按鈕需要修正一下
- 按下去之後顯示 旋轉圖示提醒使用者正在動作
- 五秒之後再去確認狀態, 若還是沒進入
connected
狀態, 再等五秒再確認 - 如果持續一分鐘都還沒進入
connected
狀態... 提醒使用者connecting fail
1000
m300 週會
這次 spring 也有參加
因為後續有些功能需要他幫忙
proposal 方面 aaron 提了 cli 和 snmp john 提了 spi driver ariel 提了 gps module
跟我有關的是 gps module
如果 proscend 的 menuconfig 沒有要包含 gps 功能的話
web ui 就不要顯示該功能
目前對於在 web ui 顯示 gps mosule 資訊的方式有變
為了規避 Google MAP 的版權問題
我們只在 banner 顯示經緯度
另外附上超連結讓使用者去連結到 google map 做顯示
1300
紀錄一下昨天下班前接到的新需求
M300 開機的時候, uboot
幫忙把下面這些周邊做 reset 的動作
eth1
eth2
LTE module
參考 https://github.com/silenceuncrio/diary/wiki/20170113_jeffrey#1045
整理一下上述各周邊的 reset pin
Reset PIN | Instance | Signal | Pad | Mode |
---|---|---|---|---|
Ethernet 1 | GPIO1 | IO30 | UART5_TX_DATA | ALT5 |
Ethernet 2 | GPIO1 | IO31 | UART5_RX_DATA | ALT5 |
Mobile | GPIO5 | IO7 | SNVS_TAMPER7 | No Muxing(ALT5) |
Reset PIN 的 trigger 動作要先拉成 low... 至少維持一下... 再拉成 high
具體維持多久就看 uboot 的執行會不會太快
用以下的 uboot command 來對 Ethernet 1 做 reset
- IOMUXC_SW_MUX_CTL_PAD_UART5_TX_DATA - select mux mode: ALT5 mux port
- mw 0x020E00BC 00000005 1
- GPIO1_GDIR - define the direction of the
GPIO1-IO30
as OUTPUT- mw 0x0209C004 40000000 1
- GPIO1_DR - define the value of the
GPIO1-IO30
OUTPUT to 0 - pull low- mw 0x0209C000 00000000 1
- GPIO1_DR - define the value of the
GPIO1-IO30
OUTPUT to 1 - pull high- mw 0x0209C000 40000000 1
用以下的 uboot command 來對 Ethernet 2 做 reset
- IOMUXC_SW_MUX_CTL_PAD_UART5_RX_DATA - select mux mode: ALT5 mux port
- mw 0x020E00C0 00000005 1
- GPIO1_GDIR - define the direction of the
GPIO1-IO31
as OUTPUT- mw 0x0209C004 80000000 1
- GPIO1_DR - define the value of the
GPIO1-IO31
OUTPUT to 0 - pull low- mw 0x0209C000 00000000 1
- GPIO1_DR - define the value of the
GPIO1-IO31
OUTPUT to 1 - pull high- mw 0x0209C000 80000000 1
用以下的 uboot command 來對 Mobile(LTE Module) 做 reset
- IOMUXC_SW_PAD_CTL_PAD_SNVS_TAMPER7 - select mux mode: ALT5 mux port
- mw 0x020E02C4 00000005 1
- GPIO5_GDIR - define the direction of the
GPIO5-IO7
as OUTPUT- mw 0x020AC004 00000080 1
- GPIO5_DR - define the value of the
GPIO5-IO7
OUTPUT to 0 - pull low- mw 0x020AC000 00000000 1
- GPIO5_DR - define the value of the
GPIO5-IO7
OUTPUT to 1 - pull high- mw 0x020AC000 00000080 1
先搭配下述的 uboot env 讓 morris 量一下 pull low 的時間夠不夠
setenv reset_eth1 "echo reset ethetnet 1; mw 0x020E00BC 00000005 1; mw 0x0209C004 40000000 1; mw 0x0209C000 00000000 1; mw 0x0209C000 40000000 1"
setenv reset_eth2 "echo reset ethernet 2; mw 0x020E00C0 00000005 1; mw 0x0209C004 80000000 1; mw 0x0209C000 00000000 1; mw 0x0209C000 80000000 1"
setenv reset_mobile "echo reset mobile module; mw 0x020E02C4 00000005 1; mw 0x020AC004 00000080 1; mw 0x020AC000 00000000 1; mw 0x020AC000 00000080 1"
setenv bootcmd "run reset_eth1; run reset_eth2; run reset_mobile"
saveenv
1435
四月底前我有四個工作項目
- Web server with HTTPS
- Web Proxy
- FOTA
- Web UI
分別來盤一下
Web UI
這個不像個工作項目
而是我在 M300 所扮演的支援角色
沒有完成的一天
而是要幫每個成員實作 WEB UI
Web server with HTTPS
這是個明確的工作項目
具體要去研究目前的 mongoose embedded webserver 怎麼來實作
Web Proxy
這也是個明確的工作項目
具體要去研究目前的 mongoose embedded webserver 怎麼來實作
FOTA
這是這個階段的最大挑戰
FOTA
應該 firmware over the air
的縮寫
我們會需要有一台 FOTA Server
M300 每天會問一次 FOTA Server
有沒有新的 fimrware
如果有就從 FOTA Server
下載該 firmware 來更新
1550
morris 量完 pull low 的時間表示不夠
直接利用 uboot 的 sleep
setenv reset_eth1 "echo reset ethetnet 1; mw 0x020E00BC 00000005 1; mw 0x0209C004 40000000 1; mw 0x0209C000 00000000 1; sleep 1; mw 0x0209C000 40000000 1"
setenv reset_eth2 "echo reset ethernet 2; mw 0x020E00C0 00000005 1; mw 0x0209C004 80000000 1; mw 0x0209C000 00000000 1; sleep 1; mw 0x0209C000 80000000 1"
setenv reset_mobile "echo reset mobile module; mw 0x020E02C4 00000005 1; mw 0x020AC004 00000080 1; mw 0x020AC000 00000000 1; sleep 1; mw 0x020AC000 00000080 1"
setenv bootcmd "run reset_eth1; run reset_eth2; run reset_mobile"
saveenv
1625
發現 GPIO5-IO7
這根腳不能去做 mux mode 的設定
修正一下
用以下的 uboot command 來對 Mobile(LTE Module) 做 reset
- GPIO5_GDIR - define the direction of the
GPIO5-IO7
as OUTPUT- mw 0x020AC004 00000080 1
- GPIO5_DR - define the value of the
GPIO5-IO7
OUTPUT to 0 - pull low- mw 0x020AC000 00000000 1
- GPIO5_DR - define the value of the
GPIO5-IO7
OUTPUT to 1 - pull high- mw 0x020AC000 00000080 1
利用下述的 uboot env 已經和 morris 確認過可行性了
setenv gpio_eth1reset_init "mw 0x020E00BC 00000005 1; mw 0x0209C004 40000000 1"
setenv gpio_eth1reset_low "mw 0x0209C000 00000000 1"
setenv gpio_eth1reset_high "mw 0x0209C000 40000000 1"
setenv gpio_eth2reset_init "mw 0x020E00C0 00000005 1; mw 0x0209C004 80000000 1"
setenv gpio_eth2reset_low "mw 0x0209C000 00000000 1"
setenv gpio_eth2reset_high "mw 0x0209C000 80000000 1"
setenv gpio_mobilereset_init "mw 0x020AC004 00000080 1"
setenv gpio_mobilereset_low "mw 0x020AC000 00000000 1"
setenv gpio_mobilereset_high "mw 0x020AC000 00000080 1"
setenv bootcmd "run gpio_eth1reset_init; run gpio_eth2reset_init; run gpio_mobilereset_init; run gpio_eth1reset_low; run gpio_eth2reset_low; run gpio_mobilereset_low; sleep 1; run gpio_eth1reset_high; run gpio_eth2reset_high; run gpio_mobilereset_high"
saveenv
下禮拜再找時間整合進目前的軟體