Files
GbTModuleEV/Core/Inc/j1939.h
T

61 lines
1.1 KiB
C
Executable File

/*
* j1939.h
*
* Created on: May 3, 2024
* Author: colorbass
*/
#ifndef INC_J1939_H_
#define INC_J1939_H_
#define J_ID_SE 0x56
#define J_ID_EV 0xF4
#include "main.h"
extern CAN_HandleTypeDef hcan1;
typedef struct{
uint8_t data[256]; //data array
uint32_t PGN; //received PGN
uint16_t size;
uint8_t packets;
uint8_t packet;
uint8_t step;
uint8_t step_cts_remain;
uint8_t state; //(0 = standby, 1= receiving)
uint32_t tick;
}j_receive_t;
typedef struct{
uint32_t ExtId;
uint8_t DLC;
uint8_t data[8];
uint32_t tick;
}j1939_rx_frame_t;
typedef struct{
uint32_t ExtId;
uint8_t DLC;
uint8_t data[8];
}j1939_tx_frame_t;
extern j_receive_t j_rx;
void J_SendCTS(j_receive_t rx);
void J_SendACK(j_receive_t rx);
void J1939_ExchangeRxBuffer(void);
void J1939_ExchangeTxBuffer(void);
void J1939_InitBuffers(void);
uint16_t J1939_GetRxBufferCount(void);
uint16_t J1939_GetTxBufferCount(void);
uint32_t J1939_GetRxOverflowCount(void);
uint32_t J1939_GetTxOverflowCount(void);
void GBT_CAN_ReInit();
void GBT_CAN_FilterInit();
#endif /* INC_J1939_H_ */