#ifndef J1939_TOOLS_H_
#define J1939_TOOLS_H_
#include "platmacro.h"

/**
 * @brief       获取1ms tick
 * @return      uint32_t
 * @retval      1ms tick
 * @par         修改日志:
 * Date                Author     Description           \n
 * 2023-01-06           JHC        创建初始版本          \n
*/
uint32_t TimeSet_GetSysTickCount1ms();
#define get_tick_count TimeSet_GetSysTickCount1ms

/*-----------------------------------------------------------------------------------------
 Discription:  Com 写入数据
 Param:        @Para1:操作的虚拟HandleId
               @Para2:操作数据的数据指针
 Return:       Std_Ret_Ok:成功
               Std_Ret_Err:失败
 Modify:
*-----------------------------------------------------------------------------------------*/
Std_Ret_Type Rte_Comm_Write(ComIf_Handle_Type handle, ComIfData *pComIfData);


uint32_t Bit_GetValue(uint8_t* buf, uint8_t bitIndex, uint8_t bitLen);

/**
  * @brief       获取时间差
  * @details
  * @param[in]   last_tick上一次的tick
  * @param[in]   new_tick当前的tick
  * @return      时间差
  * */
uint32_t get_interval_by_tick(uint32_t old_tick, uint32_t new_tick);

char* itoa(int num,char* str,int radix);
#endif