#ifndef __CAN_TASK_H
#define __CAN_TASK_H

#include "can_interface.h"

#define CAN_PGN_PF 0xFFFF00
#define CAN_PGN_PS 0xFF00

extern uint8_t recv_can_id;

typedef struct
{
    uint32_t id;
    void (*p_func)(pdu_tag);
} can_rx_tab;

void    can_rx_callback(CAN_RxHeaderTypeDef rx_header, uint8_t *buff);
void    can_tx_callback(void);
void    can_process(void);
void    can_network_init(void);
uint8_t push_can_message_to_queue(uint32_t id, uint8_t len, uint8_t *p_data);
#endif // __APP_CAN_H
