/************************************************************/
/*  s COM port driver (OS7_COM.Lib)            */
/*                                                          */
/*  ]t`D FAQ1~FAQ7 Χ睊O                 */
/*                                                          */
/*  ̫s [2012,Sep.,28] by Tim Tsai                     */
/************************************************************/


================================================================================
FAQ1: OS7_COM.lib Oγ~?
================================================================================
Ans: OS7_COM.lib Ow MiniOS7 s COM port  driverC 


================================================================================
FAQ2: ϥηs driver nB?
================================================================================
Ans:
* ϥΦh COM port ɡAMª Driver ۤAθ֪O^C
   ª driver:  CPU  Lib (Ҧp uPAC5000.Lib)  COM port ROC
   s driver:  OS7_COM.lib.
   
*  Driver }o̦ӨAe@C

================================================================================
FAQ3: ڥiHVηsB¨⪩ driver ?
================================================================================
Ans: iH. 
     Ҧp, UҤlOiH`B@
        InstallCom(1,115200,8,0,1); //COM1 ª driver RO
        ToCom(1,'a');               //COM1 ª driver RO
        
        OS7_COM *port;
        port=OS7_InstallCom(2,115200,8,0,1);   //COM2 ηs driver RO
        OS7_ToCom(port,'a');                   //COM2 ηs driver RO
        
     OP@ COM portAiHVηsB¨⪩ Driver
     Ҧp, UҤlOLk`B@
        InstallCom(1,115200,8,0,1); //COM1 ª driver RO
        OS7_ToCom(port,'a');           //COM1 ηs driver RO
      
================================================================================
FAQ4: OS7_COM.lib 䴩 MiniOS7  ?
================================================================================
Ans: i䴩:
    (a) uPAC-5000 series
    (b) i-7186E/7188E/7188XB/7188XC series
    (c) COM1/COM2 of iView-100 (|ڴչL)
    (d) Lw^M uPAC-7186EX ۮe
    (e) i-7188C [2010/07/09] }l䴩
    (f) i-7188XAC [2010/07/09] }l䴩
    (g) COM1/2(80186/188 CPU  UART) 䴩 DMA ƪҦC
    	[2010/07/09] }l䴩
	(h) iPAC-8000 Hδb iPAC-8000 W i8112W/8114W/8142W/8144W 
	(i) i-8000C b i-8000 W i8112/8114/8142/8144 |䴩C 

    䴩RO/:
	ثeϥ MiniOS7 Ҳդ䴩ӳSDAܤ֥Ϊw馳ݭn[W OS7_COM
	䴩еo mail  service@icpdas.comAڭ̷|֥[WC
	     
================================================================================
FAQ5: pNӪ code ഫϥηs driver/method ?
================================================================================
Ans: uݭnBz 2 Ӧa
        (a) W[@ӥH OS7_COM * port ŧiܼ
        (b) b COM port ROe[W "OS7_"
        
    UOϥηsB¨ Driver ҤlG
--------------------------------------------------------------------------------
1. ϥ driver/method  (ROOŧib CPU head file.)
--------------------------------------------------------------------------------

long baud=115200;
int parity=0;
int stop=1;
int port=1;
int data;

InstallCom(port,baud,parity,stop);

while(IsCom(port)){
    data=ReadCom(port);
    ToCom(port,data);
    //...
}

RestoreCom(port);


--------------------------------------------------------------------------------
2. ϥηs driver/method (ROOŧib OS7_COM.h ̭)
--------------------------------------------------------------------------------

long baud=115200;
int parity=0;
int stop=1;
OS7_COM *port;  // (a)modify the declaration
int data;

port=OS7_InstallCom(COM_1,baud,parity,stop); // (b) add one under line.

while(OS7_IsCom(port)){        // (b) add one under line.
    data=OS7_ReadCom(port);    // (b) add one under line.
    OS7_ToCom(port,data);      // (b) add one under line.
    //...
}

OS7_RestoreCom(port);      // (b) add one under line.



================================================================================
FAQ6: p input/output buffer jp
================================================================================
Ans: w] input/output buffers O 1024 bytes.
     Is OS7_SetComPortBufferSize iHܳoӤjpC
     Ҧp: Njp令 256 bytes
        OS7_SetComPortBufferSize(COM_2,256,256);
        port=OS7_InstallCom(COM_2,baud,parity,stop);

    poثe input/output buffers jp ?
        port->_InBufSize  <=== to know the input buffer size.
        port->_OutBufSize <=== to know the output buffer size.

================================================================================
FAQ7:  COM port 䴩ϥ DMA? pϥ DMA  data ?
================================================================================
Ans: 䴩ϥ DMA  data  COM port O 80188/186 CPU ҴѪ COM PORTApUҦCG
     i-7188XB/7188XC/7188E/7186E/uPAC5000/iView100  COM1  COM2
     i-7188/7188XA  COM3  COM4
     i-8000/i-8000-80/iPAC8000  COM0C

     ϥΤkG
     un 
	 OS7_InstallCom 令 OS7_InstallCom_DMA()A
	 OS7_RestoreCom_DMA() 令 OS7_RestoreCom_DMA() NiHC
	 
     Ҧpb 7188E ϥΡG
     pCOM1=OS7_InstallCom_DMA(COM_1,baud,parity,stop);
     ...
     OS7_RestoreCom_DMA(pCOM1);
     
	 b 7188/7188XA ϥΡG
     pCOM4=OS7_InstallCom_DMA(COM_4,baud,parity,stop);
     ...
     OS7_RestoreCom_DMA(pCOM4);
     
     
================================================================================
[OS7_COM 睊O]
================================================================================
Ver 1.1.4 [2012/09/28] released
	New Support:
	(a)䴩 UART 16c850.
--------------------------------------------------------------------------------
Ver 1.1.3 [2012/05/18] released
	Bugs Fixed: 
	(a)ץƵ{G int OS7_ReadComn(OS7_COM *com,unsigned char *buf,int maxno);
		ϥ COM1  COM2 ӥBϥ DMA ҦɡA|DC

--------------------------------------------------------------------------------
Ver 1.1.2 [2011/03/21] released
	New Support:
	(a)CPU UART [W䴩 7M1/7S1
	Bugs Fixed: 
	(a)ץƵ{G void OS7_SetRtsActive(OS7_COM *com);

--------------------------------------------------------------------------------
Ver 1.1.1 [2010/08/25] released
    Bugs Fixed:  Fixed the problem for the ISR of the UART to work with floating point.   

    [2010/09/14] released
    Recompile: Modify some optimization options.  
--------------------------------------------------------------------------------
Ver 1.1.0 [2010/07/30] released
    New Support:
    (a): iPAC-8000 & i-8114W/8112W/8142W/8144W...
    (b): i-8000. (i-8114/8112/8142/8144 |䴩)
    Change: 
	(a).All functions change to start with "OS7_".
	(b).Needs new MiniOS7 library to support some H/W dependent functions.
	    The new library :
		iPAC-8000	:[2010/08/02] or later
		iPAC-5000	:[2010/08/03] or later
		i-7186E		:[2010/08/03] or later
		i-7188E		:[2010/08/03] or later
		i-7188XB	:[2010/08/03] or later
		i-7188XC	:[2010/08/03] or later
		i-7188XA	:[2010/08/03] or later
		i-7188		:[2010/08/03] or later
		G4500		  :[2010/08/04] or later
		P824A		  :[2010/08/05] or later
		i-8000		:s library |
		||򧹦C

--------------------------------------------------------------------------------
Ver 1.0.1 [2010/07/09] released
    New Support:
	(a) Add:Support i-7188 & i-7188XA
	(b) Add:Support using DMA to receive data for the COM ports inside the 186/188 CPU.
    New Functions:
	OS7_COM *_InstallCom_DMA(int port,long baud, int databit,int parity,int stopbit);
	int _RestoreCom_DMA(OS7_COM *pCom);
    Change:
	Add two variables into the structure "os7_com".

--------------------------------------------------------------------------------
	 
Ver 1.0.0 [2010/04/02] first released
    (a) avalible for uPAC-5000 series
    (b) avalible for i-7186E/7188E/7188XB/7188XC series
    (c) avalible for COM1/COM2 of iView-100 (not tested)
    (d) avalible for the controller which has compatilbe HW of uPAC-7186EX
   
    Bugs Fixed:     none
    Change:         none
    New Functions:  none
    New Support:    none

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

