в модуль, который считывает фреймы с кана, добавлен объект содержаший ряд датчиком, температура двигателя, внешняя температура и др.
This commit is contained in:
parent
8d47450c8c
commit
5331b79999
17
CanMain.c
17
CanMain.c
|
|
@ -18,6 +18,7 @@ void CanMain_Init(
|
|||
) {
|
||||
env->CanIO = CanIO;
|
||||
env->slog = slog;
|
||||
env->canData.engineOXTemperature = 0;
|
||||
|
||||
InitThreadBlock(env->T_can_Main, "CanMain", osPriorityNormal);
|
||||
}
|
||||
|
|
@ -30,6 +31,18 @@ void CanMainTask(tCanMain *env) {
|
|||
for (;;) {
|
||||
|
||||
volatile uint16_t recv = env->CanIO->receive0(env->CanIO->env, (uint8_t *) &canFrame, 1, 1000);
|
||||
// volatile uint16_t recv = env->CanIO->receive0(env->CanIO->env, (uint8_t *) &canFrame, 1, 1000);
|
||||
// env->canData.engineOXTemperature = canFrame.Data[0];
|
||||
// env->canData.externalTemperature = canFrame.Data[1];
|
||||
|
||||
/*
|
||||
if (env->time3E8_2 < SystemGetMs()) {
|
||||
env->time3E8_2 = SystemGetMs() + 1000;
|
||||
LoggerStrFormatInfo(LOGGER, LOG_SIGN, "Уровень топлива = %d", (uint8_t)FuelLevel)
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
if (recv > 0) {
|
||||
volatile uint16_t r1cc = recv;
|
||||
|
|
@ -44,10 +57,10 @@ void CanMainTask(tCanMain *env) {
|
|||
volatile uint16_t sent = env->CanIO->transmit(env->CanIO->env, (uint8_t *) canFrame.Data, 8, 300);
|
||||
|
||||
// SystemDelayMs(1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void CanMain_Start(tCanMain *env) {
|
||||
|
|
|
|||
82
CanMain.h
82
CanMain.h
|
|
@ -10,13 +10,91 @@
|
|||
#include "LoggerInterface.h"
|
||||
#include "LoggerToSerialPort.h"
|
||||
|
||||
#define NUM_ACC_COUNT_MAX (5)
|
||||
|
||||
typedef struct {
|
||||
volatile uint32_t engineSpeed; //обороты двигателя
|
||||
volatile uint8_t engineOXTemperature; // Температура ОХ двигателя
|
||||
volatile float externalTemperature; // Внешняя температура, С
|
||||
volatile uint8_t fuelLevel; // Уровень топлива, л
|
||||
volatile uint8_t engineHours; // Моточасы
|
||||
volatile uint8_t speed; // Скорость
|
||||
volatile uint8_t tripSpentFuel; // Ср. расход за поездку
|
||||
volatile uint16_t numberAccelerations; // Количество ускорений за поездку
|
||||
volatile uint16_t numberBraking;// Количество торможений за поездку
|
||||
uint16_t ABS_VehicleSpeed;
|
||||
} tCanData;
|
||||
|
||||
typedef struct {
|
||||
tSerialPortFrameIO *CanIO;
|
||||
tLoggerToSerialPort *slog;
|
||||
tCanData canData;
|
||||
tStaticThreadBlock(512) T_can_Main;
|
||||
} tCanMain;
|
||||
|
||||
typedef struct {
|
||||
tSerialPortFrameIO *CanIO;
|
||||
tLoggerToSerialPort *slog;
|
||||
|
||||
tStaticThreadBlock(512) T_can_Main;
|
||||
} tCanMain;
|
||||
uint8_t filterIdCount;
|
||||
uint32_t filterReqId[16];
|
||||
uint32_t filterRespId[16];
|
||||
uint8_t filterDirReq[16];
|
||||
|
||||
uint32_t EngineSpeed;
|
||||
|
||||
uint32_t timeID;
|
||||
uint32_t time380_1;
|
||||
uint32_t time380_2;
|
||||
uint32_t time3E8_1;
|
||||
uint32_t time3E8_2;
|
||||
uint32_t timeCan;
|
||||
|
||||
uint8_t RND;
|
||||
bool invalidKey;
|
||||
uint8_t invalidKeyAttempts;
|
||||
uint32_t invalidKeyIsDelay;
|
||||
tCanMain *canMain;
|
||||
|
||||
uint32_t timeAbsSpeedOnSecond;
|
||||
uint32_t timeAbsSpeed;
|
||||
uint32_t Counter_SENSORS_AN_TripMileage_MM;
|
||||
uint32_t Counter_SENSORS_AN_TripMileage_MICRO_L;
|
||||
|
||||
struct {
|
||||
float acc_last[NUM_ACC_COUNT_MAX];
|
||||
uint8_t index;
|
||||
float old_speed;
|
||||
bool data_erase;
|
||||
} calc_scoring;
|
||||
|
||||
struct {
|
||||
uint32_t acc_calc_time;
|
||||
uint32_t gnss_course_speed;
|
||||
uint32_t reference_speed;
|
||||
uint32_t diff_speed_up;
|
||||
uint32_t diff_speed_down;
|
||||
} gnss_config;
|
||||
|
||||
struct {
|
||||
uint32_t trip_braking;
|
||||
uint32_t trip_acceleration;
|
||||
} state_get;
|
||||
|
||||
struct {
|
||||
uint32_t total_acceleration;
|
||||
uint32_t acceleration;
|
||||
uint32_t total_braking;
|
||||
uint32_t braking;
|
||||
} bc_get;
|
||||
|
||||
|
||||
uint32_t isTimeSENSORS_DIG_BodyCanBusStatus;
|
||||
void *envEgtsProcessing;
|
||||
bool *isEnableTelematicaSendPoints;
|
||||
tStaticThreadBlock(1024) T_can_MainAdditional;
|
||||
|
||||
} tCanMainAdditional;
|
||||
|
||||
void CanMain_Init(
|
||||
tCanMain *env,
|
||||
|
|
|
|||
Loading…
Reference in New Issue