星期二, 5月 25, 2004

我的媽呀! - part-II



#50xxx

趨X:
XX需求是文件報價第三項
PS:屬於XXX改為#500XXX分類

TKS
-----Original Message-----
From: ALBI 魏趨X
Sent: Tuesday, May 25, 2004 10:29 AM
To: TER 呂月X
Cc: MER 陳慧X; REN 劉怡X
Subject: RE:


Dear Ter,

請協助申請資本財新料號,Tks!


Alb




--------------------------------------------------------------------------------
From: MERI 陳慧X
Sent: Tuesday, May 25, 2004 9:42 AM
To: REN 劉怡X; ALB 魏趨X
Cc:
Subject: RE:


Dear Alb:
這不是屬於電腦周邊產品
請您處理

陳慧X Mer


有趣,都是”請XX協助處理”,而且發一封”請XXX協助處理”的mail需要21天。
這樣也可以接受!!
(看來engineer開發產品的速度是太快了點。下一次schedule中要是有”發mail請xxx確認”的。
我也來壓個21天起跳。)
難怪聽說我在XXX工作,教授就說”像公家機關一樣的公司”。
我想現在在公家機關申請的東西也不需要21天吧?

更有趣的是從"請xxx協助處裡”到號碼編下來,只要=======>1 hours !!

桶夠不 還真是個”權責劃分清楚”的部門。

改天來申請一個有pc主機,software,開發工具,cable,manual的東西。
讓每個桶夠都有推託的原因,這樣的東西要買進來大概要1,2年吧!

我的天哪!

排工程schedule時壓得緊緊的,確認schedule時連中午還是下班完成,都要說明。
連半天都要計較。

但是....

請"大爺"們買個開發工具,3 weeks還沒人認領`收件 處理。

看來下次schedule要從”收到工具”開始計算。

project delay就算是”大爺”們的。

5/4發的,到現在5/25了,負責人還沒確認。

要是engineer多這20天的的開發時間有多好.....


Dear Albert:
這不是屬於電腦周邊產品
請您處理


陳慧X Meri


-----Original Message-----
From:
Sent: Tuesday, May 25, 2004 9:40 AM
To: ALI 魏趨X
Cc: MER 陳慧X
Subject: FW:



Dear Al & Mer:

想確認一下此 是由誰來負責,等了好久料號也未編下來,東西買不進來嚴重影響工程開發
是不是可以儘速處理。





-----Original Message-----
From:
Sent: Friday, May 14, 2004 1:08 PM
To: ALBI 魏趨X
Subject:



Dear Alb :

請儘快處理好嗎? 後續開發專案要使用,請不要耽誤工程開發




------------------------------------------------------------------------------------


DEAR ALB:

何時料號才會出現在 OA ,等了好幾天了

廠商:
品名規格
廠牌:




-----Original Message-----
From: MERIN 陳慧X
Sent: Tuesday, May 04, 2004 5:27 PM
To: ALBI 魏趨X; TER 呂月X
Cc:
Subject:



Dear Alb:
報價中
開發工具 :
這個應該屬於您採購的產品
請您編列料號
user

中壢廠 統購部
陳慧X Mer

-----Original Message-----
From:
Sent: Tuesday, May 04, 2004 4:45 PM
To: MERI 陳慧X
Cc:
Subject:


Dear 慧X:

請依廠商報價單(表格黃色底填滿之產品)編號。





這樣複雜的採購流程,這樣細分的採購工作,能節省多少採購的錢呢?
(扣掉這些人的薪水,project delay的時間,delay後engineer趕schedule趕出來
的bug,和三天兩頭call sales,發mail問"大爺"們的時間。。)

骨架低還真不是沒道理。

星期五, 5月 21, 2004

紀錄一下下禮拜要作的

1. CxT6000 Modbus 協定內容,給another Charles.Chang
2. 測試軟體: Multi-AO set
3. document "NewSmartCxu Software Developement Procedure".

星期三, 5月 19, 2004

programming is just like ...

寫程式就像是作文一樣,
想想..
如果議要你寫一篇500字的文章,
可是每寫20行,就中斷你一下,要你唱唱歌,掃個地,
這樣每次你又開始寫文章時,是不是都要重頭構思?

而且這樣寫出的文章,一定缺乏連貫性。

現在我們就是這樣,每次coding到一半,就會被其他事情中斷,
而且常常中斷,
這樣不僅coding時間加倍,code的品質也不好。

當programmer在coding時,他的專心,會讓他處在自己的世界裡,

星期一, 5月 17, 2004

Things Left Unfinished...

1. Modbus - Event -
2. Show 485 Comm State
3. Event Save in SROM (and restore)

and PC program.

用Rms的HisRcdImage[]和new create的HistoryRcdIsChanged2()來作modbus的event catche。

星期五, 5月 14, 2004

DPR email name record

----------------
| Ed Pack |
| Samuel Norman |
| Tom Stone |
----------------

Notes on some ideas : Function Interface.. EQU

Manual EQU功能應該提供Start,Interrupt 兩個function供外部使用就好,
至於有哪些告警要停止EQU,是外部控制者的事(higher leyer's job)。
這樣將來也可以將這些function列入DO List中。
Manual EQU只是一個定時的裝置。

如果follow以前的Idea,由EQU自己check alarm來中斷EQU。可能就沒辦法把EQU class的interface清楚的切開。

ACREQU : 如果Follow以上的Idea,ACREQU的Trigger判斷就要由外部來作,ACREQU 自己只做完成的判斷。而Interrupt function是提供外部臨時中斷用的。

AutoEQU : AutoEQU就要提供設定時間/週期的能力和Interrupt function,不用提供Start,因為AutoEQU是定時的動作。

.....這樣ACREQU和AutoEQU的考量點好像不一致。
(沒關係,自己方便就好:P)

Ow20再開..

For displaying TempComp & CommStat in MainPage, on the EnvT's line.
SurDsp must be dynamically hide/show accoring this option.
So the UINODE structure must be modified - add 'visible' field.

Ow20 is created from Ow19, and replace the last un-finished Ow20 folder.

Now the modification is complete, this should be the official 2.3pr3
(if lucky enough, maybe the offical 2.3).

the document : from 2.3pr2topr3.doc is finished, too.

.ROM & doc have been sent to A-Shern & LORNA.

星期四, 5月 13, 2004

found a bug introduced recently

SBV4_Use1800SxrShelf, but in SeriesName setting.
still use seriesName to initialize 1800 related argument.

no wonder mark.huang cannot correctly set the sxr V/I command.

but weird the sxri is ok , in this wrong setting.

抱怨一下。。。

事情真的太多了。

modbus要改,
QE測2.3pr2有關dpr部分要改,
QE測CxT6000要改。

1800印度 gain值設有問題要作(詩生request)。
自動化 ATS for Hxs web也要問我。
要教新人 接新案子,CANBUS,pdb protocol要問我。
steven修改smart cxu要check。

dpr有關hyperterminal問題要問dpr。
calibration範圍要問dpr。

new smartcxu接著spec討論和軟體設計要作。

接著coldfire的board好了要作的東西更多。
倒楣的話接著會有CMMI的document要作。

真是定規矩的人多,做事的人少。

星期三, 5月 12, 2004

WorkRecord : Ow20 - 中斷

Create Ow20 - from Ow19.

本想開始modbus eventlog的修改,修改GENALARM和DINODE structure。

先將GENALARM含入所有使用到的stucture中。
所以要修改所有->st.now, ->st.old的code,改為->genalm.st.now,->genalm.st.old。

修改部分很多,,還沒做完,已經被QE中斷,要作2.3pr2的收偉動作:

1.Relay Alarm TEST增加R1,R2等label。
2.Calibration parameter增加範圍限制。
3.HTSD,LTSD增加Show/Hide選項。
4.

borrow list : web card from james.Huang

---------------------------------------
幫自動化向少君借一塊Webserver card。


---------------------------------------

job to do ... about 2.3pr3

1.ask dpr about dcv/acv/temp/ib calibration range.
2.ask dpr about hyperteminal setting "vocabulary" confirm.

星期二, 5月 11, 2004

CRC16 的教訓,更改type還是要先看source code.

原來的crc16:

static int CRC16(char *puchMsg, int usDataLen)
{
unsigned char uchCRCHi = 0xFF; // high byte of CRC initialized
unsigned char uchCRCLo = 0xFF; // low byte of CRC initialized
unsigned char uIndex; // will index into CRC lookup table

while (usDataLen--) { // pass through message buffer
uIndex = uchCRCHi ^ *puchMsg++; // calculate the CRC
uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex];
uchCRCLo = auchCRCLo[uIndex];
}

return (uchCRCHi << 8 | uchCRCLo);
}
因為compile時,unsigned char,int間轉換很麻煩,所以就擅自把不重要的部分
改為int,其他也還好,但是uIndex,本以為只不過是個index,應該沒關係,結果改了造成algorithm全錯。
仔細看:uIndex也是由查表來的喔。所以....

抱怨:CxT modbus protocol

CxT真是不知道要幹麻,
既然選了modbus協定,又不follow modbus的fun code,
將03,04的funcode交換了。
這樣有什麼好處嗎?
所有standard的modbus 通訊軟體都不能用了。

又自己擅自加上event log到AI中。
沒有考慮到transition的問題:
一個event item由6個ai item組成,

some Linux Links - CoLinux & PearPc

PearPc
linux上的powerpc emulator

Cooperative Linux
win2k上 run linux as an application.

James got an idea ... about emuation CxU/SxR on web

write an emulation CxU screen/button application on web.
then he can told customer to that site to operate it.

QE CxT6000

好像記過了:
display 485 comm stat
display TempComp
reduce CommErr timeout time
EQU lag 15sec - no change.

2.3pr3 record

查_sendBodyCL , _sendBodySxRCL 重複,刪除_sendBodyCL。

modbus增加constant : cMaxModbusSxr 48, 減少modbus支援的Sxr數。
(由96減為48)

DiList : 未使用的alarm (Single,Index)不加入
更換modbus code :03,04, follow CxT

03: read AI
04: read AO

AiList : 未使用的Ai (Index) 不加入

星期一, 5月 10, 2004

發現2個BUG - para & Com1drv

這是在加上4800 baudrate時發現的。

1.
參數設定的Selection Set,在Selection item no > 1 page
(也就是說會番到第二頁),第二頁會錯。
同理,從第二頁番到第一頁,也會有錯。

修改GSVCSelectSet中,對PREV/NEXT按鍵的反應。

2.
Com1drv.c的baudrate setting string.
1200是4位,
19200是5五位。
所以在番頁時會有殘留的現象,
所以要在1200,2400,3600等比較短的string補上一個space。

2.3pr3 (Ow19).

SAVLO TEST BUILD OK

include/savlocfg.h need modify for each project:
TARGET, COMPILER, TASKNO need define.
- so, better copy one for each project.

source code need to be include manually.

EQ : CxT6000 new..

Display 485 Communication status on HomePage.
Display Temp Compensation status on HomePage.

Since there is no empty line for these items.
take away the ACV, EnvTemp. instead, show 485Comm & TempComp State.

a bad example

2.3pr2 QE test problem :
LCD alarm test/define sequence is not the same as the real position.

這就是一個不好的示範:
新功能的要求直接進入software engineer的工作中,沒有經過system engineer。

所以software只考慮功能部分,如何操作,如何實作,沒有想到系統配線方面的配合。
如果當初這個功能依照正常管道,由System Engineer進入,
System Engineer將軟體部分要作的動作告訴Software engineer,
Software Engineer再將實作/操作的方式和System engineer討論,
這個問題就不會發生。

或許有人會說:
直接由Software engineer向Sytstem engineer提出討論也可以呀?
可惜系統的主導權在System Engineer上,SoftEng並沒有處理system相關事宜,
也就是說:一般只有SysEng向SoftEng要求功能,以往沒有SoftEng向SystemEng要求增加功能的。
如果SoftEng向SysEng提出要求的話,System Engineer反而會覺得奇怪,為何他沒有聽說這項功能?
另外System Eng的思考比較全面性,不像SoftEng只有考慮到軟體而已。

New feathure - Comment

新的功能:可以加上”回應”。
開了,沒效!

Blog Edit Workspace is changed .. I don't like the new one.

I like the old way - the seperate frame. one can be used
to browe and search the entire blogs.
The new one has too many blank area.

ShowFatalError : 1st time appears..

QE TEST AlarmTEST 2.3pr2, CxU show "HRelayAlarmTest:itemno overflow".

... because there are 30 columes reserved for AlarmTest Paranode.
but QE opens about 32 Relays.

Solutions :

1.QE turn off some un-used relays.
2.increase the AlarmTEST's paranode to 40. (next version).

In Correcting .. Found..
Better use Constant on everywhere you can use it. don't use Magic number.
especially there are many places use this constant.

星期五, 5月 07, 2004

CRC16 : need a verify tool - write in wxWindows

CRC16_0

pretty interesting...

A C function called by C++ : the C function prototyping ...

extern "C" -prototype-of-c-function;

Example:

[CRC.C]

int CRC16(char *data,int datalen)
{
................
}


[Figurout.cpp]

extern "C" int CRC16(char *.int);

void Figutout::OnReflash(void)
{
char dd[100];
int k;
..........
k= CRC16(dd,100);
........
}

聽起來有道理,實際上是廢話的....

我們要作對的事,不要一味的遵照規章。
(那怎麼決定什麼事”對的事”)。

我們可以把流程畫出來,再將流程中多餘的step刪掉,增加效率。
(哪怎麼決定哪些step事多餘的?)
(結果真正能的step一定很少(幾乎沒有),否則現在依照流程工作的人不就都是XX)


我們可以為每個人定出指標,然後利用指標來評斷這個人的XX。
(那怎麼定出一個能夠真正來評斷XX的指標?)


VPC got virused !! the mutation of SASSER - AVSERVE2.EXE

Symdrom :
1. the CPU loading is high.
2.routing table have manay entrys... because I didn't add the 244 router.

Open Task Manger, found that AVSVER2.exe occupy 52% usage.

Clean:

1.delete it on task manager.
2.find XXXX_up.exe in /WINNT/System32/, delete it.
3.find avsver2.exe in /WINNT, delete it.
4.use Regedit, find avserve2.exe (in HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run), delete it.
5.

The reason to Hang eMule ... seems found.

It seems like be caused by deleting the shared files (most are those download compileted files).
So, if delete the file, must reflesh the download dir, or restart eMule.

New : 1800 for CxT

Just told me that intelligent 1800 must suitable for CxT.
and the time schedule is earlier than 6000.

... How could this be possible, thank that there is only 1 program for these 2.
If each of them has their own program (the old fashion way), the schedule must be double.

找一群人決定schedule最浪費時間。

互相沒什麼關係,一人說,其他5,6人idle。
要是有依存性還好(一點),沒相關性的schedule排定完全是亮費時間。

尤其在排schedule時才將QE問題提出(未曾事先討論),更是亮費其他人的時間。
當場解釋QE測試的問題,或說明疑問,其他人對此有沒有關係。idle在那裡。

有問題應該要先解決,至少要先通知問題相關的人。開會才能減少時間。

----- 如果是技術或設計會議又另當別論,這種會議本來就是要討論的。
而且沒興趣的人也不用參加。所以沒有人會在會中idle.

CxT new Requirement : QE TEST

1.Show RS485 communication status.
2.Show Temperature Compensation status.
3.No alarm on SxR been pulled-out.
4. BUG ? - periodic EQU time not accurate : EQU action before timeup 15 min.

DOC:
Need Modbus object list. 5/18.

星期四, 5月 06, 2004

System Hang on inputing switching between modbus & rmsmod...[Corrected]

1. modbus OFF
2. input SYSCFG ( don't exit)
3. modbus ON
4. modbus OFF
5. input some ...
all the input chars are echoed, but when entering "ENTER" key.
system hang ! AXD shows : hang on queue copy : case sizeof(char).

Not knowing why . now.

----------------------------

Found !! - on switching Com1drv mode (Rms/Modbus).
do Purgequeue (IQ,OQ), so ..
after comment out these 2 lines, this symdrom is out.


2.3pr3 , CxU software, modbus, com, 232, at91, bug

pdc0txint OK.

The trial Project : Standalone, pdc0txint. OK.

the pdc tx complete INT bit : ENDTX.
the pdc rx complete INT bit : ENDRX. - not verify yet.

ARM, at91, sample.

about RTXC: KS_execute.. no remove task in waiting list...

RTXC KS_execute(TASKID) start the TASKID task from the begin address.
if the task is running , it stop it, start it from beginning.
it the task is not running, it start executing it.

but if the task is running and waitting for some Kernel OBJ (Queue,Sem,Resource).
this function call won't remove it from the OBJ's waitting list.


So .. if want to do a clean KS_execute, must do KS_terminal first:

KS_terminate(TASKID);
KS_execute(TASKID);

... that's because the KS_terminate wil remove the task from OBJ's waitting list.


RTXC, Kernel, OS

還是放棄Ow18好了...

原Ow18是2.3pr2,未加Modbus版。Ow19是加入modbus版(developement version)。
但是DPR有些新功能 hide Maxtesthour, Show energysaving 加入,加在2.3pr3(ow19)。
Ow18正在評估,
.......7200 find a bug : npdb ACB ACSW tni should be 3, not 2.修正。
.......QE find : Alarm Relay Setting not correct : NULL means ending.

Diff (WinMege) Ow18,Ow19後 發現更動有點多,所以還是放棄Ow18,將Ow19當作是bug-fix版,
再create Ow20,作modbus developement version。

QE再有發現bug:
如果修改不大:Ow19,Ow20都修正。
如果修改很大:和Ow20 modbus修改比較,
--------如果modbus的修改比bug修改來得多:改在Ow20,放棄Ow19。
--------如果modbus的修改比bug修改來得少:改在Ow19,再由Ow19加入modbus成為Ow21,放棄Ow20。

CxU, software, 2.3pr2 2.3pr3

Not Bad : Virtual PC..

不定時出現:系統版本問題需要舊的版本,慶插入SP2 CD。

要插入SP2 CD才會繼續。

只好'放棄,將上次backup的hd image : 52000 copy過來(蓋掉)。

重新設定VPC,使用這個HD。Start - OK !

PC, emulator, Virtual PC, Win2000

星期三, 5月 05, 2004

Weird ... hang.... then run.

modify modbus.c -- 將所有使用INTCHAR的部分改成int (>>8) &FF 的方式。
仍然hang !

mark out all the codes. -- still hang.

try execute another project - still hang..
try single step execute --- ok.

then load and run the origional program (mark out). OK

add one line for one time.. hang on after running initAiList.

so check initAiList and found the AiList array is not long enough, need 241, but I have declare 200.

change it to 300, rebuild again --- ok

2.2pr3 modbus

modbus.c - keeps on correct ..

INTCHAR - is not usedful in ARM.
so modify every INTCHAR type var.....
vp.

Add : Show "EnergySave" on Main Page

Found there is a private flag F_AllSxROn in GreenPwr.
Use this flag and SBV2_GreenPwrIsEnable to know if any SxR is offed by GreenPwr.

So create a function : int GreenPwr_InAction( ) to do this.

and in UI.C HomeDsp.

call this function to Show "System State" or "EnergySave".

** there are only 10 chars left in this line.

2.3pr3

Correct - Alarm Relay Def

If set Alarm to Null, means the remainding items are all NULL....

2.3pr3

BUG : ACSW in NPDB - ACBoard

the max di no (tdi) should be 3 (0.1.2) , not 2.

This always be a problem, since C start counting from 0.
so the Total number != the last index.

2.3pr3

加入MAXTESTTIME可隱藏

SYSCFG--display--maxtesttime

隱藏:Auto/Menu Mode 隱藏的位置不一樣。

因為看不到,所以TestFailTime的max value要限制在mextesttime以下。

在將maxtesttime隱藏時,同時確認maxtesttime的數值。

2.3pr3

HCS12有TCPIP的AN

有source code,實作PPP,UDP,TCPIP。用Modem。
但是reference 不是9S12E64,是9S12DP256。

AN還有列出code/ram size。

New Modification Request:

Max TEST Time : Fixed at 4, and don't display.
Show Energy Saving.. in Main Page.
When no operation for 15 min. auto close the password.

----- those are all requested by DPR.

星期二, 5月 04, 2004

9S12E64 - 80 pin 的bad news

原來80 pin的只有single chip mode,所以port不能用作external bus用。
所以....chip select,multiplexed bus 都不能用。
所以sja1000的bus動作要用IO作。

configuration change : 1800 w 92 is for CxT, UseACSWRack=1

Although the can10556 is 0, but Mark said that the item should be 1.
Follow the 6000 CxT's way (they use the same detection board).
so .....

2.2pr2 & pr3 (ow18,19) are changed simultaneously.
(because 2.2pr3 is the developement version - for adding modbus function)

HCS12 spec

原來HCS12也有bank,也有far/near和segment。
畢竟是16bit CPU,所以單純一個register只能定址64k。
超過的部分要靠另一個register來定址。

HCS12利用memory window,將一部份的memory region作為page window.
由PPAGE register決定要mapping的位置。

所以PPAGE等於是segment register。

所以compile也有MODEL : SMALL/BANKED/LARGE。

有點麻煩。

整理 all #12 CxU binary file

整理rpsxft2000的pub folder,將所有#12 的版本都放在那裡。
寫readme.

----因為flashloader程式,所有system enginner都可以自己燒了。

location:  \\Rpsxft2000\pub\FlashROM\CxU_Board12A

MultiLink-12 die

On trying the LED ON/OFF test, whenevet makes all LED ON, the cpu reset.
Guess must be the power issue, so connect the redline with the power ...

But connect to the wrong Power, should be 5V not 12V.

So ... smoke..

- by Steven.

借出紀錄:eCos借給bxrxn [已經還了05/05]

昨天在找Embedded with C/C++時想到的。
目前仍然遺失中的:uC/OS 第一版。

這個blog host好像不太穩

剛剛要看上個月po的,竟然說找不到。
可怕。
這麼不穩的話,這麼辛苦key的會不會白做

星期一, 5月 03, 2004

中毒了---SASSER

先是pcciline偵測出system32的XXXXX_up.exe (XXXXX是數字)。
接著就出現一個dialog : 關機倒數。
到數完後就關機了。


google sasser virus可以到相關網站

MIS稍後發出 解毒mail

1. FxSasser.exe (Symtac提供的解毒程式)
2.install MS0411 update。

如果一值重開機:
先斷開'網路。

或進入safe mode

殺掉????

網誌存檔