SAM3S8/SD8 Software Package: libraries/libchip_sam3s/include/pio_capture.h Source File

SAM3S8/SD8 Software Package 1.2

# pio_capture.h

    00001 /* ----------------------------------------------------------------------------
    00002  *         ATMEL Microcontroller Software Support
    00003  * ----------------------------------------------------------------------------
    00004  * Copyright (c) 2010, Atmel Corporation
    00005  *
    00006  * All rights reserved.
    00007  *
    00008  * Redistribution and use in source and binary forms, with or without
    00009  * modification, are permitted provided that the following conditions are met:
    00010  *
    00011  * - Redistributions of source code must retain the above copyright notice,
    00012  * this list of conditions and the disclaimer below.
    00013  *
    00014  * Atmel's name may not be used to endorse or promote products derived from
    00015  * this software without specific prior written permission.
    00016  *
    00017  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
    00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    00019  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
    00020  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
    00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    00022  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
    00023  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    00024  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    00025  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    00026  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    00027  * ----------------------------------------------------------------------------
    00028  */
    00029
    00030 #ifndef PIO_CAPTURE_H
    00031 #define PIO_CAPTURE_H
    00032
    00033 /*----------------------------------------------------------------------------
    00034  *        Types
    00035  *----------------------------------------------------------------------------*/
    00036
    00037 /** \brief PIO Parallel Capture structure for initialize.
    00038  *
    00039  * At the end of the transfer, the callback is invoked by the interrupt handler.
    00040  */
    00041 typedef struct _SpioCaptureInit {
    00042
    00043     /** PIO_PCRHR register is a BYTE, HALF-WORD or WORD */
    00044     uint8_t dsize;
    00045     /** PDC size, data to be received */
    00046     uint16_t dPDCsize;
    00047     /** Data to be received */
    00048     uint32_t *pData;
    00049     /** Parallel Capture Mode Always Sampling */
    00050     uint8_t alwaysSampling;
    00051     /** Parallel Capture Mode Half Sampling */
    00052     uint8_t halfSampling;
    00053     /** Parallel Capture Mode First Sample */
    00054     uint8_t modeFirstSample;
    00055     /** Callback function invoked at Mode Data Ready */
    00056     void (*CbkDataReady)( struct _SpioCaptureInit* );
    00057     /** Callback function invoked at Mode Overrun Error */
    00058     void (*CbkOverrun)( struct _SpioCaptureInit* );
    00059     /** Callback function invoked at End of Reception Transfer */
    00060     void (*CbkEndReception)( struct _SpioCaptureInit* );
    00061     /** Callback function invoked at Reception Buffer Full */
    00062     void (*CbkBuffFull)( struct _SpioCaptureInit* );
    00063     /** Callback arguments.*/
    00064     void *pParam;
    00065
    00066 } SpioCaptureInit ;
    00067
    00068
    00069 /*----------------------------------------------------------------------------
    00070  *        Global Functions
    00071  *----------------------------------------------------------------------------*/
    00072 extern void PIO_CaptureDisableIt( uint32_t itToDisable ) ;
    00073 extern void PIO_CaptureEnableIt( uint32_t itToEnable ) ;
    00074 extern void PIO_CaptureEnable( void ) ;
    00075 extern void PIO_CaptureDisable( void ) ;
    00076 extern void PIO_CaptureInit( SpioCaptureInit* pInit ) ;
    00077
    00078 #endif /* #ifndef PIO_CAPTURE_H */
    00079

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines