ax5218.txt Driver File Contents (AS59099V2_0.zip)

[AX5218 - 10 Channels Counter/Timer & 24 Bits DIO Board]

Function:
   ax5218Init

Description:
   Initialize the device.

   int ax5218Init(int base_addr, int function);
   base_addr: I/O base address of the device.
   function: Function ID.

Remarks:
   This function should be called once before the device performming any data
   I/O functions. The function ID could be either of the constants listing below
   or any combinition of them:
      ID_FUNC_DI
      ID_FUNC_DO
      ID_FUNC_EVCNT
      ID_FUNC_FOUT
      ID_FUNC_ALL

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function: ax5218Term

Description:
   Terminate the device driver.

   int ax5218Term(int base_addr);
   base_addr: I/O base address of the device.

Remarks:
   This function should be called once if the device will no longer performming
   any data I/O functions. Usually at the end of you data acquisition/control
   processes.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218GetDevAtbu

Description:
   Retrieve the device attribute.

   int ax5218GetDevAtbu(LPDEVATBU lpDevAtbu);
   lpDevAtbu: Pointer to the DEVATBU struct, which stores the device attribute.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218DIOSetting

Description:
   Setup DIO channel direction.

   int ax5218DIOSetting(int base_addr, int ctrlport);
   base_addr: I/O base address of the device.
   ctrlport: The control port register data.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218IRQSetting

Description:
   Setting up the interrupt service routine for digital input via interrupt.

   int ax5218IRQSetting(int base_addr, void ISR(*isr)());
   base_addr: I/O base address of the device.
   *isr: The user specified interrupt service routine.

Remarks:
   Use this function to specified the interrupt service routine. Each time
   the interrupt was generated, the *isr will be called.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218IRQRestore

Description:
   Restore the old interrupt service routine.

   int ax5218IRQRestore(int IRQNo);
   IRQNo: IRQ number specified in the ax5218IRQSetting function.

Remarks:
   Use this function to restore the interrupt service routine. Call this
   function everytime if ax5218IRQSetting was called, and before the
   ax5218Term was called.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218DI

Description:
   Digital input function for specified channel.

   int ax5218DI(int base_addr, int chan, int* data);
   base_addr: I/O base address of the device.
   chan: Channel to perform DI function.
   data: Pointer to storage of digital input status.

Remarks:
   This function will retrieve the one and only specified channel for it's
   digital input status.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218DI_P

Description:
   Digital input function for specified port(8-bit).

   int ax5218DI_P(int base_addr, WORD port, int* data);
   base_addr: I/O base address of the device.
   port: Port number of DIO channels.
   data: Pointer to storage of digital input status.

Remarks:
   This function will retrieve all the digital input status of channels in
   the same port.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218DO

Description:
   Digital output function for specified channel.

   int ax5218DO(int base_addr, int chan, int data);
   base_addr: I/O base address of the device.
   chan: channel to proform digital output function.
   data: Digital output status.0:LOW, 1:HIGH.

Remarks:
   Use this function to output a LOW/HIGH signal to specified channel.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218DO_P

Description:
   Digital output function for specified port(8-bit).

   int ax5218DO_P(int base_addr, WORD port, int DataOut);
   base_addr: I/O base address of the device.
   port: Port number of DIO channels.
   DataOut: Digital output status for a port(8-channel).

Remarks:
   Use this function to output signals(LOW/HIGH) at once for channels in
   the same port.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218SetCntMode

Description:
   Setup up Am9513A counter mode register(CMR) of AX5218.

   int ax5218SetCntMode(int base_addr, int CntNo, WORD Mode);
   base_addr: I/O base address of the device.
   CntNo: Counter number. CNT#1,2,3,4,5....
   Mode: CMR of Am9513A. Please refer to Am9513A data book for detailed info.

Return Values:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218GetCntSts

Description:
   Retrieve the status of the specified counter.

   int ax5218GetCntSts(int base_addr, int CntNo, int* pStatus);
   base_addr: I/O base address of the device.
   CntNo: Counter number. CNT#1,2,3,4,5....
   pStatus: Pointer to storage of counter status.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218ReadCnt, ax5218ReadCntA

Description:
   read the 'current' count of the specified counter.

   int ax5218ReadCnt(int base_addr, int CntNo, WORD* pdata);
   int ax5218ReadCntA(int base_addr, int CntNo, WORD* pdata, int ReadMode);
   base_addr: I/O base address of the device.
   CntNo: Counter number. CNT#1,2,3,4,5....
   pdata: Pointer to storage of current count.
   ReadMode: (Advanced Function) Specify the reading of 'current' count. The
      value will be ID_MANUAL, for manual reading, or ID_AUTOREAD, for automatic
      reading.

Remarks:
   The only difference between ax5218ReadCnt() and ax5218ReadCntA() is that how
   the counter will be latched for reading. You can latch the counter manually,
   and read the counter by calling ax5218ReadCntA(), as well as calling another
   function, ax5218ReadCnt(), to latch and read the counter automatically.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218WriteCnt, ax5218WriteCntA

Description:
   Write data to the specified counter.

   int ax5218WriteCnt(int base_addr, int CntNo, WORD data);
   int ax5218WriteCntA(int base_addr, int CntNo, WORD data, int WriteMode);
   base_addr: I/O base address of the device.
   CntNo: Counter number. CNT#1,2,3,4,5....
   data: Data that will be loaded onto the counter's LOAD register.
   WriteMode: (Advanced Function) Specify the LOAD/ARM method of the data. The
      value will be ID_MANUAL, for manual ARM data, or ID_AUTOWRITE, for auto-
      matically ARM data.

Remarks:
   The only difference between these two functions is that how the counter will
   being ARMed. You can call ax5218WriteCntA(ID_MANUAL) to LOAD counter and then
   ARM counter by yourself. Or call ax5218WriteCnt() to LOAD and ARM counter
   automatically.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218EventCount

Description:
   Event counting function.

   int ax5218EventCount(int base_addr, int CntNo, WORD ConvNo);
   base_addr: I/O base address of the device.
   CntNo: Counter number. CNT#1,2,3,4,5....
   ConvNo: Specify the initial value to count down.

Remarks:
   The default counting direction is count down. You can change the counting
   direction by setting up the CMR via ax5126SetCntMode(). Refer to Am9513A data
   book for detailed information.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218Frequency

Description:
   Frequency measurement function.

   int ax5218Frequency(int base_addr, int* pCntNo, WORD delay, float* pFreq);
   base_addr: I/O base address of the device.
   pCntNo: Pointer to buffer of counter used. For example, if you use cascaded
      counters, CNT#1 and CNT2, to measure frequency. The buffer CntUse[] will
      be CntUse[0]=1, CntUse[1]=CntUse[2]=2. (pFreq=CntUse).
   delay: Specify the sampling period for frequency measurement.
   pFreq: Pointer to storage of measured frequency.

Remarks:
   There are plenty of frequency measument methods. This function shows how to
   measure frequency in software gating method, which may loss data in some
   non-realtime system, but makes the most use of all channels. It is your own
   freedom to implement any other measuring method as long as it works, with
   functions described above.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.


Function:
   ax5218WaveGen

Description:
   Generate square wave through OUT pin.

   int ax5218WaveGen(int base_addr, int CntNo, DWORD base_freq, DWORD out_freq);
   base_addr: I/O base address of the device.
   CntNo: Counter number. CNT#1,2,3,4,5....
   base_freq: Base frequency of the counter CLK source.
   out_freq: Value of the output frequency.

Return Value:
   This function will return an error code defined in the ERROR CODE LIST of
   AXDDR include file(axddr.h). Please be sure to check this returned value to
   determine whether the function call succeed or not. If there're no any error
   occured, the return value should be ERR_NOERR. Otherwise, the value will be
   the one defined in ERROR CODE LIST.




Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web4, load: 1.07