You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

269 lines
6.0 KiB

4 months ago
/**
******************************************************************************
* @copyright Copyright (C), 2016-2022, ConvenientPower. Co., Ltd.
* @file task_pd_chunk.h
* @version 1.0
* @author qing.cheng
* @date 2023-04-11
* @brief Header file of TASK_PD_CHUNK_H module.
******************************************************************************
*/
#ifndef _TASK_PD_CHUNK_H_
#define _TASK_PD_CHUNK_H_
#include "core_comm.h"
#include "drv_comm.h"
#include "pd_chunk_define.h"
#include "pd_define.h"
#include "task_pd_prl_func.h"
typedef void (*f_chunk_action)(uint8_t port, pd_param_s* pd_param);
/*
* @brief RCH_Wait_For_Message_From_Protocol_Layer_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void RCH_Wait_For_Message_From_Protocol_Layer_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief RCH_Processing_Extended_Message_callback
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void RCH_Processing_Extended_Message_callback(uint8_t port, pd_param_s *pd_param);
/*
* @brief RCH_Pass_Up_Message_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void RCH_Pass_Up_Message_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief RCH_Processing_Extended_Message_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void RCH_Processing_Extended_Message_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief RCH_Requesting_Chunk_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void RCH_Requesting_Chunk_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief RCH_Report_Error_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void RCH_Report_Error_action(uint8_t port, pd_param_s *pd_param, uint8_t error_type, bool msg_received);
/*
* @brief TCH_Wait_For_Message_Request_From_Policy_Engine_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Wait_For_Message_Request_From_Policy_Engine_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Message_Sent_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Message_Sent_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Construct_Chunked_Message_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Construct_Chunked_Message_callback(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Construct_Chunked_Message_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Construct_Chunked_Message_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Sending_Chunked_Message_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Sending_Chunked_Message_callback(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Sending_Chunked_Message_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Sending_Chunked_Message_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief v
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Wait_Chunk_Request_callback(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Wait_Chunk_Request_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Wait_Chunk_Request_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Message_Received_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Message_Received_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief TCH_Report_Error
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void TCH_Report_Error(uint8_t port, pd_param_s *pd_param);
/*
* @brief chunked_message_router_action
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void chunked_message_router_action(uint8_t port, pd_param_s *pd_param);
/*
* @brief pd_chunk_layer_run
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void pd_chunk_layer_run(uint8_t port, pd_param_s *pd_param);
/*
* @brief pd_chunk_layer_reset
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void pd_chunk_layer_reset(uint8_t port, pd_param_s *pd_param);
/*
* @brief pd_chunk_layer_init
* @param port
* @param pd_param
* @note
* @retval NULL
*/
void pd_chunk_layer_init(uint8_t port, pd_param_s *pd_param);
/*
* @brief pd_hdr_assemble
* @param ext
* @param msg_type
* @param num
* @param pd_param
* @note
* @retval
*/
void pd_hdr_assemble(bool ext, uint8_t msg_type, uint8_t num, pd_param_s* pd_param);
/*
* @brief pd_chunked_ext_hdr_assemble
* @param ext_msg_type
* @param payload_size
* @param data_size
* @param chunknum
* @param request
* @param pd_param
* @note
* @retval
*/
void pd_chunked_ext_hdr_assemble(uint8_t ext_msg_type,
uint8_t payload_size, uint16_t data_size,
uint8_t chunknum, bool request, pd_param_s* pd_param);
/*
* @brief pd_ext_msg_chunk_assemble
* @param request
* @param chunknum
* @param payload
* @param payload_len
* @param data_size
* @param pd_param
* @note
* @retval
*/
void pd_ext_msg_chunk_assemble(uint8_t ext_msg_type, bool request,
uint8_t chunknum, const void *payload, uint8_t payload_len,
uint16_t data_size, pd_param_s* pd_param);
/*
* @brief pd_chunked_ext_msg_assemble
* @param ext_msg_type
* @param request
* @param payload
* @param pd_param
* @note
* @retval
*/
void pd_chunked_ext_msg_assemble(uint8_t ext_msg_type, bool request,
const void *payload, uint16_t payload_len, pd_param_s* pd_param);
/*
* @brief pd_ext_msg_assemble
* @param ext_msg_type
* @param request
* @param payload
* @param payload_len
* @param pd_param
* @note
* @retval
*/
void pd_ext_msg_assemble(uint8_t ext_msg_type, bool request,
const void *payload, uint16_t payload_len, pd_param_s* pd_param);
#endif