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_ */
 |