/* * amba_bpi_defines.h * * Histroy: * 2019-06-14 [Cheng-Yan Li] Created file * * Copyright (c) 2019 Ambarella, Inc. * * This file and its contents ("Software") are protected by intellectual * property rights including, without limitation, U.S. and/or foreign * copyrights. This Software is also the confidential and proprietary * information of Ambarella, Inc. and its licensors. You may not use, reproduce, * disclose, distribute, modify, or otherwise prepare derivative works of this * Software or any portion thereof except pursuant to a signed license agreement * or nondisclosure agreement with Ambarella, Inc. or its authorized affiliates. * In the absence of such an agreement, you agree to promptly notify and return * this Software to Ambarella, Inc. * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, * MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL AMBARELLA, INC. OR ITS AFFILIATES BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; COMPUTER FAILURE OR MALFUNCTION; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ #ifndef _AMBA_BPI_DEFINES_H_ #define _AMBA_BPI_DEFINES_H_ #ifdef __cplusplus extern "C" { #endif typedef enum { INVALID_CMD = 0, /* amba's chip to MCU. */ AMB_CMD_TO_MCU_BASE = 0x10, /* send CMD. */ AMB_CMD_STREAM_START = 0x10, AMB_CMD_STREAM_STOP = 0x11, /* send cmd + payload. */ AMB_CMD_DATA = 0x20, AMB_CMD_VCA_RESULT = 0x21, AMB_CMD_SAVE_INFO = 0x22, AMB_CMD_VERSION = 0x23, AMB_CMD_UPGRADE_STATUS = 0x24, //indicate the status of upgrading /* send cmd and receive feedback. */ AMB_CMD_REQ_CFG = 0x30, // config AMB_CMD_REQ_LIGHT_VAL = 0x31, // lux from light sensor AMB_CMD_REQ_CRC_VAL = 0x32, // request whether append CRC to data AMB_CMD_REQ_INFO = 0x33, // query batch info AMB_CMD_TO_MCU_END = 0x3F, //AMB_CMD_TO_MCU_BASE /* MCU to amba's chip. */ AMB_CMD_FROM_MCU_BASE = 0x40, AMB_CMD_FORCE_STOP_STREAM = 0x40, AMB_CMD_POWER_OFF = 0x41, AMB_CMD_UPGRADE_DATA = 0x42, //transfer data for upgrading AMB_CMD_STOP_UPGRADE = 0x43, //cancel the upgrading procedure AMB_CMD_FROM_MCU_END = 0x6F, //AMB_CMD_FROM_MCU_BASE /* DEBUG cmd. */ AMB_CMD_DEBUG_BASE = 0xE0, AMB_CMD_DEBUG_TIME = 0xE0, AMB_CMD_DEBUG_END = 0xFF, } AMB_MCU_CMD_LIST; /* sync with work mode definition of mcu side */ typedef enum { INVALID_WORK_MODE = 0, AMB_STREAM_MODE = 1, AMB_RECORD_MODE = 2, AMB_QUERY_VERSION_MODE = 3, AMB_UPGRADE_MODE = 4, } AMB_BPI_WORK_MODE; typedef enum { AMB_VCA_NONE = 0, AMB_VCA_VEHICLE = 0x01, AMB_VCA_PERSON = 0x02, AMB_VCA_PET = 0x03, /* Add more VCA result here */ AMB_VCA_UNKNOWN = 0xFF, } AMB_BPI_VCA_RESULT; #ifdef __cplusplus } #endif #endif