запущен проект motor identification c терминалкой
This commit is contained in:
75
Core/Inc/simulink_interface.h
Normal file
75
Core/Inc/simulink_interface.h
Normal file
@@ -0,0 +1,75 @@
|
||||
#ifndef SIMULINK_INTERFACE_H
|
||||
#define SIMULINK_INTERFACE_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "ad_parameter_identification.h"
|
||||
|
||||
#define SIMULINK_INTERFACE_VERSION (1U)
|
||||
#define SIMULINK_TELEMETRY_MAGIC (0x41444944UL)
|
||||
#define SIMULINK_TELEMETRY_MAX_BYTES (256U)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
AD_Measurements_t measurements;
|
||||
AD_MotorParameters_t motor_parameters;
|
||||
uint32_t param_id_status;
|
||||
uint32_t param_id_faults;
|
||||
uint8_t param_id_mode;
|
||||
uint8_t reserved[3];
|
||||
} SimulinkInterface_InputBus_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
AD_Command_t command;
|
||||
uint32_t telemetry_size_bytes;
|
||||
uint8_t telemetry_ready;
|
||||
uint8_t reserved[3];
|
||||
} SimulinkInterface_OutputBus_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t magic;
|
||||
uint16_t version;
|
||||
uint16_t payload_size;
|
||||
uint32_t sequence;
|
||||
uint16_t crc16;
|
||||
uint16_t reserved;
|
||||
} SimulinkTelemetryHeader_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
AD_Measurements_t measurements;
|
||||
AD_MotorParameters_t motor_parameters;
|
||||
uint32_t param_id_status;
|
||||
uint32_t param_id_faults;
|
||||
uint8_t param_id_mode;
|
||||
uint8_t command_enable;
|
||||
uint8_t command_test_mode;
|
||||
uint8_t reserved;
|
||||
} SimulinkTelemetryPayload_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
SimulinkTelemetryHeader_t header;
|
||||
SimulinkTelemetryPayload_t payload;
|
||||
} SimulinkTelemetryPacket_t;
|
||||
|
||||
void SimulinkInterface_Init(void);
|
||||
void SimulinkInterface_StepFast(void);
|
||||
void SimulinkInterface_StepSlow(void);
|
||||
void SimulinkInterface_UpdateInputs(void);
|
||||
void SimulinkInterface_UpdateOutputs(void);
|
||||
void SimulinkInterface_PackTelemetry(void);
|
||||
void SimulinkInterface_UnpackCommand(void);
|
||||
|
||||
void SimulinkInterface_SetMeasurements(const AD_Measurements_t *meas);
|
||||
void SimulinkInterface_SetCommand(const AD_Command_t *command);
|
||||
const SimulinkInterface_InputBus_t* SimulinkInterface_GetInputBus(void);
|
||||
SimulinkInterface_OutputBus_t* SimulinkInterface_GetOutputBus(void);
|
||||
const SimulinkTelemetryPacket_t* SimulinkInterface_GetTelemetryPacket(void);
|
||||
const uint8_t* SimulinkInterface_GetTelemetryBytes(void);
|
||||
size_t SimulinkInterface_GetTelemetrySize(void);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user