/* Copyright Statement: * * This software/firmware and related documentation ("Autochips Software") are * protected under relevant copyright laws. The information contained herein * is confidential and proprietary to Autochips Inc. and/or its licensors. * Without the prior written permission of Autochips inc. and/or its licensors, * any reproduction, modification, use or disclosure of Autochips Software, * and information contained herein, in whole or in part, shall be strictly prohibited. * * Copyright(C) 2016, Autochips ( All rights reserved. ) * * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("AUTOCHIPS SOFTWARE") * RECEIVED FROM Autochips AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON * AN "AS-IS" BASIS ONLY. Autochips EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. * NEITHER DOES Autochips PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR * SUPPLIED WITH THE Autochips SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. Autochips SHALL ALSO * NOT BE RESPONSIBLE FOR ANY Autochips SOFTWARE RELEASES MADE TO BUYER'S * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. * * BUYER'S SOLE AND EXCLUSIVE REMEDY AND Autochips'S ENTIRE AND CUMULATIVE * LIABILITY WITH RESPECT TO THE Autochips SOFTWARE RELEASED HEREUNDER WILL BE, * AT Autochips'S OPTION, TO REVISE OR REPLACE THE Autochips SOFTWARE AT ISSUE, * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO * * Autochips FOR SUCH Autochips SOFTWARE AT ISSUE. * * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). *****************************************************************************/ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef _FIFO_H_ #define _FIFO_H_ /* Includes ------------------------------------------------------------------*/ #include "ac780x.h" typedef struct { uint32_t head; /* output conut */ uint32_t tail; /* input count */ uint32_t size; /* total size */ uint8_t * baseAddr; }fifo_TypeDef; uint8_t fifo_Init(fifo_TypeDef * _fifo, uint8_t* data, uint32_t size); uint8_t fifo_DeInit(fifo_TypeDef * _fifo); uint8_t fifo_Reset(fifo_TypeDef * _fifo); uint32_t fifo_insert(fifo_TypeDef * _fifo, uint8_t *data, uint32_t len); uint32_t fifo_retrieve(fifo_TypeDef * _fifo, uint8_t *data, uint32_t len); uint32_t fifo_GetLen(fifo_TypeDef * _fifo); uint8_t fifo_NotFull(fifo_TypeDef * _fifo); uint32_t fifo_GetFreeSpace(fifo_TypeDef * _fifo); uint32_t Fifo_strchr(fifo_TypeDef * _fifo, uint8_t data); #endif