119 lines
3.8 KiB
C
119 lines
3.8 KiB
C
/****************************************************************************
|
|
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
|
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
|
be copied by any method or incorporated into another program without
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
|
liability for its use in any way and conveys no license or title under
|
|
any patent or copyright and makes no representation or warranty that this
|
|
Information is free from patent or copyright infringement.
|
|
|
|
****************************************************************************/
|
|
#ifndef _VC_TASK__H_
|
|
#define _VC_TASK__H_
|
|
|
|
#include "vc_task_api.h"
|
|
|
|
#define VC_TASK_MODULE_ID 0
|
|
|
|
#ifdef LOCAL
|
|
#undef LOCAL
|
|
#endif
|
|
|
|
#define LOCAL static
|
|
|
|
/* define uart baudrate for vc task */
|
|
#define VC_TASK_UART_BAUDRATE 230400
|
|
#define VC_TASK_UART_PARITY 0
|
|
#define VC_TASK_UART_DATA_LEN 8
|
|
#define VC_TASK_UART_STOP_BIT 1
|
|
|
|
/**
|
|
* @brief vc_chn_valid - Check channel if valid.
|
|
* @param ch: Channel number to check.
|
|
* @return true -- Valid.
|
|
* @return false -- Invalid.
|
|
*/
|
|
#define vc_chn_valid(ch) ((uint32_t)(ch) < VC_CHNID_MAX ? true : false)
|
|
|
|
/**
|
|
* @brief vc_get_chn_bitmap - Set related bit as '1' with the channel number.
|
|
* @param ch: Channel number to set.
|
|
* @return Bitmap of this channel.
|
|
*/
|
|
#define vc_get_chn_bitmap(ch) ((vc_chn_valid(ch)) ? (1 << (ch)) : 0)
|
|
|
|
/**
|
|
* @brief vc_drv_id_valid - Check driver if valid.
|
|
* @param ch: Driver id to check.
|
|
* @return true -- Valid.
|
|
* @return false -- Invalid.
|
|
*/
|
|
#define vc_drv_id_valid(drv) ((uint32_t)(drv) < VC_DRVID_MAX ? true : false)
|
|
|
|
/**
|
|
* @brief VC_CMD_CHNID - Channel No. of inner command used.
|
|
*/
|
|
#define VC_CMD_CHNID VC_CHNID_0
|
|
|
|
/**
|
|
* @brief VC_CMD_DRV - Driver No. of inner command used.
|
|
*/
|
|
#define VC_CMD_DRV VC_DRVID_UART
|
|
|
|
/**
|
|
* @brief VC_TASK_SHARE_TIMER_COUNT - Number of share timer.
|
|
*/
|
|
#define VC_TASK_SHARE_TIMER_COUNT 3
|
|
|
|
/**
|
|
* @brief VC_TASK_SHARE_TIMER_STEP - The least timeout time the share timer takes.
|
|
*/
|
|
#define VC_TASK_SHARE_TIMER_STEP 100
|
|
|
|
/**
|
|
* @brief vc_module_share_timer_func - Share timer callback funcfion.
|
|
* @param delta_time: Delta timer in micro-seconds from last calling to this.
|
|
*/
|
|
typedef void (*vc_module_share_timer_func)(uint32_t delta_time);
|
|
|
|
/**
|
|
* @brief vc_module_share_timer_register - To register a share timer.
|
|
* @param fn: Ref to vc_module_share_timer_func.
|
|
* @param time_out: timeout time in n * VC_TASK_SHARE_TIMER_STEP micro-seconds.
|
|
* @return ERR_FAIL -- Operation failed.
|
|
* @return ERR_OK -- Operation Successful.
|
|
*/
|
|
uint32_t vc_module_share_timer_register(vc_module_share_timer_func fn,
|
|
uint32_t time_out);
|
|
|
|
/**
|
|
* @brief vc_upg_rcv_func - Function pointer to get received data while upgrading.
|
|
* @param p_buf: Pointer of a buffer holding data received.
|
|
* @param len: Length of buffer.
|
|
* @return Bytes of data that confirmed by this function.
|
|
*/
|
|
typedef uint32_t (*vc_upg_rcv_func)(uint8_t *p_buf, uint32_t len);
|
|
|
|
/**
|
|
* @brief vc_module_upgrade_register_receive - To register upgrading receive function.
|
|
* @param func: Ref to vc_upg_rcv_func.
|
|
* @return ERR_FAIL -- Operation failed.
|
|
* @return ERR_OK -- Operation Successful.
|
|
*/
|
|
uint32_t vc_module_upgrade_register_receive(vc_upg_rcv_func fn);
|
|
|
|
/**
|
|
* @brief vc_module_response_send_to_K68 - Send response to K68.
|
|
* @param p_ack: Response to send.
|
|
* @return ERR_FAIL -- Operation failed.
|
|
* @return ERR_OK -- Operation Successful.
|
|
*/
|
|
uint32_t vc_module_response_send_to_K68(vc_ack_t *p_ack);
|
|
|
|
|
|
#endif /* _VC_TASK__H_ */
|