Обновление стиля библиотеки
This commit is contained in:
@@ -8,270 +8,245 @@
|
||||
#define ONLINE 1;
|
||||
#define OFFLINE 0;
|
||||
|
||||
// TIM defines
|
||||
#define TIM_PROTOCAN_Prescaler 64000
|
||||
|
||||
//CAN Speed
|
||||
#define CAN_SPEED_PRSC_1000KB 2
|
||||
#define CAN_SPEED_PRSC_500KB 4
|
||||
#define CAN_SPEED_PRSC_250KB 8
|
||||
#define CAN_SPEED_PRSC_125KB 16
|
||||
#define CAN_SPEED_PRSC_50KB 40
|
||||
#define CAN_CURRENT_SPEED CAN_SPEED_PRSC_250KB
|
||||
|
||||
//CAN Filter
|
||||
#define ID_MAIN_DEVICE 0x000
|
||||
|
||||
#define CURRENT_TYPE_DEVICE 0b001
|
||||
#define CURRENT_ID_DEVICE 0b0010
|
||||
|
||||
#define CAN_IDE_32 0b00000100 // Для 32-х битного масштаба
|
||||
|
||||
#define CAN_DATA_TYPE_FILTER 0x1F000000
|
||||
#define CAN_DEVICE_ID_FILTER 0x000000FF
|
||||
#define CAN_SENSOR_TYPE_FILTER 0x00F80000
|
||||
#define CAN_SENSOR_ID_FILTER 0x0007FF00
|
||||
|
||||
typedef union{
|
||||
struct bitfield{
|
||||
unsigned bit0:1;
|
||||
unsigned bit1:1;
|
||||
unsigned bit2:1;
|
||||
unsigned bit3:1;
|
||||
unsigned bit4:1;
|
||||
unsigned bit5:1;
|
||||
unsigned bit6:1;
|
||||
unsigned bit7:1;
|
||||
}Bitfield;
|
||||
char AllBit;
|
||||
}Byte;
|
||||
|
||||
_Bool IsLeapYear(uint8_t year);
|
||||
|
||||
#define COUNT_OF_MODBUS_SECTIONS 1
|
||||
#define MODBUS_SECTION_MASK 0
|
||||
#define MODBUS_SECTION_FILTER 1
|
||||
#define PROTOCAN_RX_BUFFER_SIZE 128
|
||||
|
||||
#define SensorToModbusRegister(SensorType, SensorID) SensorType << 11 | SensorID
|
||||
#define HighByteOfWord(WORD) (WORD>>8)&0xFF
|
||||
#define LowByteOfWord(WORD) WORD&0xFF
|
||||
|
||||
//Priority level
|
||||
#define PRIORITY_CRITICAL 0
|
||||
#define PRIORITY_STANDARD 1
|
||||
/**
|
||||
* @brief Статус инициализации протокола CAN.
|
||||
*
|
||||
* Это перечисление описывает возможные статусы после попытки инициализации.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
PROTOCAN_INIT_OK = 0x00U, /**< Инициализация прошла успешно. */
|
||||
PROTOCAN_INIT_HCAN_ERROR = 0x01U, /**< Ошибка при инициализации модуля CAN. */
|
||||
PROTOCAN_INIT_HRTC_ERROR = 0x02U, /**< Ошибка при инициализации модуля RTC. */
|
||||
PROTOCAN_INIT_TIM_ERROR = 0x04U /**< Ошибка при инициализации таймера. */
|
||||
} PROTOCAN_INIT_StatusTypeDef;
|
||||
|
||||
//Route mode
|
||||
#define ROUTE_MASTER 1
|
||||
#define ROUTE_SLAVE 0
|
||||
/**
|
||||
* @brief Статус выполнения операции протокола CAN.
|
||||
*
|
||||
* Это перечисление описывает возможные результаты выполнения функций протокола.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
PROTOCAN_OK = 0x00U, /**< Операция прошла успешно. */
|
||||
PROTOCAN_ERROR = 0x01U, /**< Обнаружена ошибка во время выполнения. */
|
||||
PROTOCAN_BUSY = 0x02U, /**< Канал занят, выполнение невозможно в данный момент. */
|
||||
PROTOCAN_TIMEOUT = 0x03U /**< Истек таймаут ожидания. */
|
||||
} PROTOCAN_StatusTypeDef;
|
||||
|
||||
//Data Types
|
||||
#define DATA_TYPE_BROADCAST 0b0000
|
||||
#define DATA_TYPE_DISCRETE 0b0001
|
||||
#define DATA_TYPE_ANALOG 0b0010
|
||||
#define DATA_TYPE_GENERAL_ADDRESS_SPACE 0b0011
|
||||
#define DATA_TYPE_MODBUS_COIL 0b0100
|
||||
#define DATA_TYPE_MODBUS_DISCRETE 0b0101
|
||||
#define DATA_TYPE_MODBUS_HOLDING 0b0110
|
||||
#define DATA_TYPE_MODBUS_INPUT 0b0111
|
||||
#define DATA_TYPE_ERROR 0b1000
|
||||
#define DATA_TYPE_PULSE 0b1111
|
||||
/**
|
||||
* @brief Уровень приоритета CAN-сообщения.
|
||||
*
|
||||
* Это перечисление определяет важность и приоритет обработки сообщения.
|
||||
*/
|
||||
typedef enum {
|
||||
PROTOCAN_PRIORITY_CRITICAL = 0, /**< Критический приоритет, рекомендуется обработка без задержек. */
|
||||
PROTOCAN_PRIORITY_STANDARD = 1 /**< Стандартный приоритет, менее важный. */
|
||||
} ProtoCanPriorityType;
|
||||
|
||||
//Sensor Types for DATA_TYPE_BROADCAST
|
||||
#define SENSOR_TYPE_BROADCAST_STATUS 0b000000000000
|
||||
#define SENSOR_TYPE_BROADCAST_ONOFF 0b000000000001
|
||||
#define SENSOR_TYPE_BROADCAST_RESTARTDEVICE 0b000000000010
|
||||
#define SENSOR_TYPE_BROADCAST_RTCSETUP 0b000000000011
|
||||
/**
|
||||
* @brief Маршрут CAN-сообщения.
|
||||
*
|
||||
* Это перечисление задает направление маршрута отправки сообщения.
|
||||
*/
|
||||
typedef enum {
|
||||
PROTOCAN_ROUTE_FROM_PM = 0, /**< Сообщение отправляется от управляющего модуля (PM). */
|
||||
PROTOCAN_ROUTE_FROM_DEVICE = 1 /**< Сообщение отправляется от устройства (Device). */
|
||||
} ProtoCanRouteType;
|
||||
|
||||
//Sensor Types for DATA_TYPE_DISCRETE
|
||||
#define SENSOR_TYPE_DISCRETE_ACCIDENT 0b0000
|
||||
#define SENSOR_TYPE_DISCRETE_WARNING 0b0001
|
||||
#define SENSOR_TYPE_DISCRETE_CONTROL_SIGNALS 0b0010
|
||||
#define SENSOR_TYPE_DISCRETE_FLAGS 0b0011
|
||||
#define SENSOR_TYPE_DISCRETE_RESET 0b0100
|
||||
#define SENSOR_TYPE_DISCRETE_CHANGE_MODE 0b0101
|
||||
#define SENSOR_TYPE_DISCRETE_REQUEST_LIST_OF_PARAMETERS 0b0110
|
||||
/**
|
||||
* @brief Типы сообщений CAN.
|
||||
*
|
||||
* Перечисление определяет различные типы сообщений, используемые в протоколе.
|
||||
*/
|
||||
typedef enum {
|
||||
PROTOCAN_MSGTYPE_BROADCAST = 0b0000, /**< Широковещательное сообщение. */
|
||||
PROTOCAN_MSGTYPE_DISCRETE = 0b0001, /**< Дискретное цифровое сообщение. */
|
||||
PROTOCAN_MSGTYPE_ANALOG = 0b0010, /**< Аналоговое сообщение. */
|
||||
PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE = 0b0011, /**< Сообщение общего адресного пространства. */
|
||||
PROTOCAN_MSGTYPE_MODBUS_COIL = 0b0100, /**< Сообщение Modbus - Coil. */
|
||||
PROTOCAN_MSGTYPE_MODBUS_DISCRETE = 0b0101, /**< Сообщение Modbus - Discrete. */
|
||||
PROTOCAN_MSGTYPE_MODBUS_HOLDING = 0b0110, /**< Сообщение Modbus - Holding. */
|
||||
PROTOCAN_MSGTYPE_MODBUS_INPUT = 0b0111, /**< Сообщение Modbus - Input. */
|
||||
PROTOCAN_MSGTYPE_ERROR = 0b1000, /**< Сообщение об ошибке. */
|
||||
PROTOCAN_MSGTYPE_PULSE = 0b1111, /**< Импульсное сообщение. */
|
||||
}ProtoCanMsgType;
|
||||
|
||||
//Sensor Types for DATA_TYPE_ANALOG
|
||||
#define SENSOR_TYPE_ANALOG_UNIVERSAL 0b0000
|
||||
#define SENSOR_TYPE_ANALOG_USTAVKI 0b0001
|
||||
#define SENSOR_TYPE_ANALOG_U 0b0010
|
||||
#define SENSOR_TYPE_ANALOG_I 0b0011
|
||||
#define SENSOR_TYPE_ANALOG_T 0b0100
|
||||
/**
|
||||
* @brief Типы широковещательных сообщений CAN.
|
||||
*
|
||||
* Перечисление задает различные типы широковещательных команд, используемых в протоколе.
|
||||
*/
|
||||
typedef enum {
|
||||
PROTOCAN_BROADCAST_STATUS = 0b000000000000, /**< Статус устройства. */
|
||||
PROTOCAN_BROADCAST_ONOFF = 0b000000000001, /**< Включение/выключение устройства. */
|
||||
PROTOCAN_BROADCAST_RESTARTDEVICE = 0b000000000010, /**< Перезагрузка устройства. */
|
||||
PROTOCAN_BROADCAST_RTCSETUP = 0b000000000011, /**< Настройка RTC (часы реального времени). */
|
||||
PROTOCAN_BROADCAST_END = 0b111111111111 /**< Конец диапазона широковещательных сообщений. */
|
||||
}ProtoCanBroadcastType;
|
||||
|
||||
//Error Code
|
||||
#define NONEXISTENT_ELEMENT 0x01
|
||||
/**
|
||||
* @brief Структура и представление широковещательного сообщения CAN.
|
||||
*
|
||||
* Объединение позволяет обращаться к данным сообщения либо как к отдельным полям, либо как к целому 16-битному значению.
|
||||
*/
|
||||
typedef union{
|
||||
struct msgBody_Broadcast{
|
||||
unsigned Body:4; /**< Поле для дополнительных данных или кода задачи (4 бита). */
|
||||
ProtoCanBroadcastType Type:12; /**< Тип широковещательного сообщения (12 бит). */
|
||||
} Fields; /**< Структура с разбивкой по полям. */
|
||||
unsigned Body; /**< Общее 16-битное представление сообщения. */
|
||||
} msgBodyBroadcastType;
|
||||
|
||||
#define HighIdFilter(x) x<<24
|
||||
/**
|
||||
* @brief Типы дискретных сообщений CAN.
|
||||
*
|
||||
* Перечисление задает различные виды дискретных команд или событий.
|
||||
*/
|
||||
typedef enum {
|
||||
PROTOCAN_DISCRETE_ACCIDENT = 0b0000, /**< Аварийное состояние. */
|
||||
PROTOCAN_DISCRETE_WARNING = 0b0001, /**< Предупредительный сигнал. */
|
||||
PROTOCAN_DISCRETE_CONTROL_SIGNALS = 0b0010, /**< Управляющие сигналы. */
|
||||
PROTOCAN_DISCRETE_FLAGS = 0b0011, /**< Флаги состояния. */
|
||||
PROTOCAN_DISCRETE_RESET = 0b0100, /**< Сброс устройства. */
|
||||
PROTOCAN_DISCRETE_CHANGE_MODE = 0b0101, /**< Смена режима работы. */
|
||||
PROTOCAN_DISCRETE_REQUEST_LIST_OF_PARAMETERS = 0b0110, /**< Запрос списка параметров. */
|
||||
PROTOCAN_DISCRETE_END = 0b1111 /**< Конец диапазона дискретных сообщений. */
|
||||
}ProtoCanDiscreteType;
|
||||
|
||||
/**
|
||||
* @brief Структура и представление дискретного сообщения CAN.
|
||||
*
|
||||
* Объединение позволяет обращаться к данным сообщения как к отдельным полям или как к целому 16-битному значению.
|
||||
*/
|
||||
typedef union{
|
||||
struct msgBody_Discrete{
|
||||
unsigned Body:12; /**< Поле данных или кода (12 бит). */
|
||||
ProtoCanDiscreteType Type:4; /**< Тип дискретного сообщения (4 бита). */
|
||||
} Fields; /**< Структура с разбивкой по полям. */
|
||||
unsigned Body; /**< Общее 16-битное представление сообщения. */
|
||||
} msgBodyDiscreteType;
|
||||
|
||||
/**
|
||||
* @brief Типы аналоговых сообщений CAN.
|
||||
*
|
||||
* Перечисление определяет различные типы аналоговых данных или команд.
|
||||
*/
|
||||
typedef enum {
|
||||
PROTOCAN_ANALOG_UNIVERSAL = 0b0000, /**< Универсальный тип. */
|
||||
PROTOCAN_ANALOG_SETTINGS = 0b0001, /**< Настройки. */
|
||||
PROTOCAN_ANALOG_U = 0b0010, /**< Напряжение (U). */
|
||||
PROTOCAN_ANALOG_I = 0b0011, /**< Ток (I). */
|
||||
PROTOCAN_ANALOG_T = 0b0100, /**< Температура (T). */
|
||||
PROTOCAN_ANALOG_END = 0b1111 /**< Конец диапазона типов. */
|
||||
}ProtoCanAnalogType;
|
||||
|
||||
/**
|
||||
* @brief Структура и представление аналогового сообщения CAN.
|
||||
*
|
||||
* Объединение позволяет обращаться к данным сообщения как к отдельным полям или как к целому 16-битному значению.
|
||||
*/
|
||||
typedef union{
|
||||
struct msgBody_Analog{
|
||||
unsigned SensorID:12; /**< Идентификатор датчика (12 бит). */
|
||||
ProtoCanAnalogType Type:4; /**< Тип аналоговых данных (4 бита). */
|
||||
} Fields; /**< Структура с разбивкой по полям. */
|
||||
unsigned Body; /**< Общее 16-битное представление сообщения. */
|
||||
}msgBodyAnalogType;
|
||||
|
||||
/**
|
||||
* @brief Структура и представление сообщения Modbus CAN.
|
||||
*
|
||||
* Объединение позволяет обращаться к данным как к отдельным полям или как к целому 16-битному значению.
|
||||
*/
|
||||
typedef union{
|
||||
struct msgBody_Modbus{
|
||||
unsigned RegCount:4; /**< Количество регистров (4 бита). */
|
||||
unsigned StrAdr:12; /**< Адрес строки или регистра (12 бит). */
|
||||
} Fields; /**< Поля структуры сообщения Modbus. */
|
||||
unsigned Body; /**< Общее 16-битное представление сообщения. */
|
||||
} msgBodyModbusType;
|
||||
|
||||
/**
|
||||
* @brief Структура и представление сообщения об ошибке CAN.
|
||||
*
|
||||
* Объединение позволяет обращаться к данным как к отдельным полям или как к целому 16-битному значению.
|
||||
*/
|
||||
typedef union{
|
||||
struct msgBody_Error{
|
||||
unsigned ErrorCode:8; /**< Код ошибки (8 бит). */
|
||||
unsigned Info:8; /**< Дополнительная информация (8 бит). */
|
||||
} Fields; /**< Поля ошибки. */
|
||||
unsigned Body; /**< Общее 16-битное представление сообщения об ошибке. */
|
||||
} msgBodyErrorType;
|
||||
|
||||
struct controlflags{
|
||||
unsigned IsPulse:1;
|
||||
unsigned IsRtrMode:1;
|
||||
};
|
||||
|
||||
//Device settings
|
||||
/**
|
||||
* @brief Поля идентификатора протокола CAN.
|
||||
*
|
||||
* Объединение позволяет обращаться к различным полям идентификатора, а также как к 29-битному целому числу.
|
||||
*/
|
||||
typedef union{
|
||||
struct msgBody_Broadcast{
|
||||
unsigned Page:4;
|
||||
unsigned BroadcastType:12;
|
||||
}Fields;
|
||||
unsigned Body:16;
|
||||
}msgBroadcastType;
|
||||
struct protoCanIdFields{
|
||||
unsigned MsgBody:16; /**< Поле сообщения (16 бит). */
|
||||
ProtoCanMsgType MsgType:4; /**< Тип сообщения (4 бита). */
|
||||
unsigned DeviceID:4; /**< Идентификатор устройства (4 бита). */
|
||||
unsigned DeviceType:3; /**< Тип устройства (3 бита). */
|
||||
ProtoCanRouteType Route:1; /**< Маршрут (1 бит). */
|
||||
ProtoCanPriorityType Priority:1; /**< Приоритет (1 бит). */
|
||||
} Fields; /**< Структура с разбивкой по полям. */
|
||||
unsigned int BitAll:29; /**< Общее представление 29-битного идентификатора. */
|
||||
} ProtoCanId_t;
|
||||
|
||||
typedef union{
|
||||
struct msgBody_Discrete{
|
||||
unsigned Body:12;
|
||||
unsigned Type:4;
|
||||
}Fields;
|
||||
unsigned Body:16;
|
||||
}msgDiscreteType;
|
||||
/**
|
||||
* @brief Структура для общего адресного пространства CAN.
|
||||
*
|
||||
* Используется для хранения данных о регистре и его содержимом.
|
||||
*/
|
||||
typedef struct{
|
||||
struct ProtoCanGeneralAddressSpaceData{
|
||||
uint16_t RegStartAdr; /**< Начальный адрес регистров. */
|
||||
uint16_t *Data; /**< Указатель на массив данных. */
|
||||
unsigned RegCount; /**< Количество регистров. */
|
||||
} GeneralAddressSpaceData;
|
||||
} ProtoCanData_t;
|
||||
|
||||
typedef union{
|
||||
struct msgBody_Analog{
|
||||
unsigned SensorID:12;
|
||||
unsigned SensorType:4;
|
||||
}Fields;
|
||||
unsigned Body:16;
|
||||
}msgAnalogType;
|
||||
|
||||
typedef union{
|
||||
struct msgBody_Modbus{
|
||||
unsigned RegCount:4;
|
||||
unsigned StrAdr:12;
|
||||
}Fields;
|
||||
unsigned Body:16;
|
||||
}msgModbusType;
|
||||
|
||||
typedef union{
|
||||
struct msgBody_Error{
|
||||
unsigned ErrorCode:8;
|
||||
unsigned Info:8;
|
||||
}Fields;
|
||||
unsigned Body:16;
|
||||
}msgErrorType;
|
||||
|
||||
typedef union{
|
||||
struct extID_Fields{
|
||||
unsigned MsgBody:16;
|
||||
unsigned MsgType:4;
|
||||
unsigned DeviceID:4;
|
||||
unsigned DeviceType:3;
|
||||
unsigned Route:1;
|
||||
unsigned Priority:1;
|
||||
}Fields;
|
||||
unsigned int BitAll:29;
|
||||
}extID;
|
||||
|
||||
struct device{
|
||||
unsigned Status:1;
|
||||
extID ExtID;
|
||||
unsigned TimeFromLastPulse;
|
||||
unsigned LastPulseStep;
|
||||
};
|
||||
|
||||
struct data{
|
||||
struct T_sens{
|
||||
char info[256];
|
||||
unsigned SensID;
|
||||
unsigned AvrgValue;
|
||||
unsigned LastTenValues[10];
|
||||
}TS;
|
||||
|
||||
struct U_sens{
|
||||
char info[256];
|
||||
unsigned SensID;
|
||||
unsigned AvrgValue;
|
||||
unsigned LastTenValues[10];
|
||||
}Uu, Uv, Uw;
|
||||
|
||||
struct I_sens{
|
||||
char info[256];
|
||||
unsigned SensID;
|
||||
unsigned AvrgValue;
|
||||
unsigned LastTenValues[10];
|
||||
}Iu, Iv, Iw;
|
||||
};
|
||||
|
||||
struct received_request{
|
||||
extID RequestedExtID;
|
||||
unsigned RequestedDLC;
|
||||
uint8_t RxData[8];
|
||||
|
||||
//DATA_TYPE_DISCRETIC
|
||||
union discreticflags{
|
||||
struct discretictype{
|
||||
unsigned Request_Accident:1;
|
||||
unsigned Request_Warning:1;
|
||||
unsigned Request_Control_Signals:1;
|
||||
unsigned Request_Flags:1;
|
||||
unsigned Request_Reset:1;
|
||||
unsigned Request_List_of_Parameters:1;
|
||||
}DiscreticType;
|
||||
unsigned AllFlags:5;
|
||||
}DiscreticFlags;
|
||||
|
||||
//DATA_TYPE_BROADCAST
|
||||
union broadcastflags{
|
||||
struct broadcasttype{
|
||||
unsigned Request_Status:1;
|
||||
unsigned Request_OnOff:1;
|
||||
unsigned Request_RTC_Setup:1;
|
||||
}BroadcastType;
|
||||
unsigned AllFlags:3;
|
||||
}BroadcastFlags;
|
||||
|
||||
//DATA_TYPE_ANALOG
|
||||
union analogflags{
|
||||
struct analogtype{
|
||||
unsigned Request_Universal_Sens:1;
|
||||
unsigned Request_U_Sens:1;
|
||||
unsigned Request_I_Sens:1;
|
||||
unsigned Request_T_Sens:1;
|
||||
}AnalogType;
|
||||
unsigned AllFlags:4;
|
||||
}AnalogFlags;
|
||||
|
||||
//DATA_TYPE_MODBUS
|
||||
union modbusflags{
|
||||
struct modbustype{
|
||||
unsigned Coil:1;
|
||||
unsigned Discrete:1;
|
||||
unsigned Holding:1;
|
||||
unsigned Input:1;
|
||||
}ModbusType;
|
||||
unsigned AllFlags:4;
|
||||
}ModbusFlags;
|
||||
|
||||
union sensor_To_Modbus{
|
||||
struct modbus{
|
||||
unsigned Count:8;
|
||||
unsigned StrAdr:8;
|
||||
}Modbus;
|
||||
unsigned Sensor:16;
|
||||
}SensorToModbus;
|
||||
|
||||
unsigned ModbusFlag:1;
|
||||
};
|
||||
|
||||
#define CAN_RX_BUFFER_SIZE 128
|
||||
/**
|
||||
* @brief Структура данных устройства CAN.
|
||||
*
|
||||
* Включает статус, идентификатор, таймер последнего импульса и шаг последнего импульса.
|
||||
*/
|
||||
typedef struct{
|
||||
unsigned Status:1; /**< Статус устройства (флаг). */
|
||||
ProtoCanId_t Id; /**< Идентификатор CAN. */
|
||||
unsigned TimeFromLastPulse; /**< Время с последнего импульса (мс). */
|
||||
unsigned LastPulseStep; /**< Шаг последнего импульса. */
|
||||
} ProtoCanDevice_t;
|
||||
|
||||
struct RXMsg{
|
||||
struct INFO{
|
||||
unsigned EXT:1;
|
||||
unsigned RTR:1;
|
||||
}info;
|
||||
extID eID;
|
||||
ProtoCanId_t eID;
|
||||
uint16_t DLC;
|
||||
uint8_t Data[8];
|
||||
};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
PROTOCAN_OK = 0x00U,
|
||||
PROTOCAN_HCAN_ERROR = 0x01U,
|
||||
PROTOCAN_HRTC_ERROR = 0x02U,
|
||||
PROTOCAN_TIM_ERROR = 0x04U,
|
||||
} PROTOCAN_INIT_StatusTypeDef;
|
||||
|
||||
uint16_t AvailableCanRxMsg(void);
|
||||
|
||||
PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan,
|
||||
@@ -280,39 +255,41 @@ PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan,
|
||||
void PROTOCAN_DEINIT(uint8_t stage);
|
||||
void PROTOCAN_FILTERS(void);
|
||||
void PROTOCAN_LOOP(void);
|
||||
|
||||
void ProtoCanPulseCallback(TIM_HandleTypeDef *htim);
|
||||
void ProtoCanRxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan);
|
||||
|
||||
HAL_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToAnalogUSTAVKI(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg);
|
||||
|
||||
HAL_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg);
|
||||
|
||||
HAL_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg);
|
||||
void ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogSettings(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg);
|
||||
|
||||
void PROTOCAN_GeneralAddressSpace_Answer(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToGeneralAddressSpace(struct RXMsg _rxMsg);
|
||||
|
||||
HAL_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg);
|
||||
HAL_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef CanRequestError(struct RXMsg _rxMsg);
|
||||
|
||||
PROTOCAN_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg);
|
||||
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg);
|
||||
|
||||
void PROTOCAN_RTC_SYNC(uint8_t *data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user