рефакторинг to_float->u2f
и всякое декоративное по модели
This commit is contained in:
@@ -22,14 +22,16 @@ SIM__MCUHandleTypeDef hmcu; ///< Хендл для управления
|
||||
*/
|
||||
const int inLengths[IN_PORT_NUMB] = {
|
||||
ADC_PORT_1_WIDTH,
|
||||
IN_PORT_2_WIDTH
|
||||
PUI_PORT_2_WIDTH,
|
||||
INTERNAL_PORT_3_WIDTH
|
||||
};
|
||||
/**
|
||||
* @brief Таблица смещений в выходном массиве IN
|
||||
*/
|
||||
const int inOffsets[IN_PORT_NUMB] = {
|
||||
OFFSET_IN_ARRAY_1,
|
||||
OFFSET_IN_ARRAY_2
|
||||
OFFSET_IN_ARRAY_2,
|
||||
OFFSET_IN_ARRAY_3
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -53,9 +53,10 @@
|
||||
|
||||
// Parameters of S_Function
|
||||
// INPUT/OUTPUTS PARAMS START
|
||||
#define IN_PORT_NUMB 2
|
||||
#define IN_PORT_NUMB 3
|
||||
#define ADC_PORT_1_WIDTH 6
|
||||
#define IN_PORT_2_WIDTH 16
|
||||
#define PUI_PORT_2_WIDTH 10
|
||||
#define INTERNAL_PORT_3_WIDTH 16
|
||||
|
||||
#define OUT_PORT_NUMB 5
|
||||
#define THYR_PORT_1_WIDTH 6
|
||||
@@ -94,11 +95,12 @@
|
||||
|
||||
// INPUT/OUTPUTS AUTO-PARAMS START
|
||||
/// === Полный размер буфера ===
|
||||
#define TOTAL_IN_SIZE (ADC_PORT_1_WIDTH + IN_PORT_2_WIDTH)
|
||||
#define TOTAL_IN_SIZE (ADC_PORT_1_WIDTH + PUI_PORT_2_WIDTH + INTERNAL_PORT_3_WIDTH)
|
||||
|
||||
/// === Смещения массивов (внутри общего буфера) ===
|
||||
#define OFFSET_IN_ARRAY_1 0
|
||||
#define OFFSET_IN_ARRAY_2 (OFFSET_IN_ARRAY_1 + ADC_PORT_1_WIDTH)
|
||||
#define OFFSET_IN_ARRAY_3 (OFFSET_IN_ARRAY_2 + PUI_PORT_2_WIDTH)
|
||||
|
||||
/// === Полный размер буфера ===
|
||||
#define TOTAL_OUT_SIZE (THYR_PORT_1_WIDTH + DO_PORT_2_WIDTH + PM_PORT_3_WIDTH + ANGLE_PORT_4_WIDTH + OUT_PORT_5_WIDTH)
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "app_wrapper.h"
|
||||
|
||||
float dbg[16];
|
||||
extern float dbg_iref;
|
||||
#define PIN_READ(_verbname_) (_verbname_##_GPIO_Port->ODR & (_verbname_##_Pin)) ? 1 : 0
|
||||
|
||||
void Write_UPP_Outputs(real_T* Buffer, int ind_port)
|
||||
@@ -121,18 +120,29 @@ void app_readInputs(const real_T* Buffer) {
|
||||
ADC_Set_Channel_Value(ADC3, 8, ReadInputArray(0,4));
|
||||
ADC_Set_Channel_Value(ADC3, 10, ReadInputArray(0,5));
|
||||
|
||||
dbg_iref = ReadInputArray(1, 0);
|
||||
upp.call->go = ReadInputArray(1, 1);
|
||||
upp.call->go = ReadInputArray(1, 0);
|
||||
|
||||
MB_INTERNAL.param.angle.Angle_Max = ReadInputArray(1, 2)*65535;
|
||||
MB_INTERNAL.param.angle.Angle_Min = ReadInputArray(1, 3)*65535;
|
||||
MB_INTERNAL.param.angle.PID_Kp = ReadInputArray(1, 4) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Ki = ReadInputArray(1, 5) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Kd = ReadInputArray(1, 6) * 10000;
|
||||
MB_DATA.HoldRegs.pui_params.Tnt = ReadInputArray(1, 7) * 1000;
|
||||
if (upp.workmode != UPP_Work)
|
||||
{
|
||||
MB_DATA.HoldRegs.pui_params.Iref = ReadInputArray(1, 1);
|
||||
MB_DATA.HoldRegs.pui_params.Tnt = ReadInputArray(1, 2);
|
||||
MB_DATA.HoldRegs.pui_params.Umin = ReadInputArray(1, 3);
|
||||
MB_DATA.HoldRegs.pui_params.Umax = ReadInputArray(1, 4);
|
||||
MB_DATA.HoldRegs.pui_params.Imax = ReadInputArray(1, 5);
|
||||
MB_DATA.HoldRegs.pui_params.Imin = ReadInputArray(1, 6);
|
||||
MB_DATA.HoldRegs.pui_params.TiMax = ReadInputArray(1, 7);
|
||||
MB_DATA.HoldRegs.pui_params.Tdelay = ReadInputArray(1, 8);
|
||||
MB_DATA.HoldRegs.pui_params.Interlace = ReadInputArray(1, 9);
|
||||
|
||||
MB_INTERNAL.param.nominal.U = ReadInputArray(1, 8) * 10;
|
||||
MB_INTERNAL.param.nominal.I = ReadInputArray(1, 9) * 10;
|
||||
MB_INTERNAL.param.angle.Angle_Max = ReadInputArray(2, 0) * 65535;
|
||||
MB_INTERNAL.param.angle.Angle_Min = ReadInputArray(2, 1) * 65535;
|
||||
MB_INTERNAL.param.angle.PID_Kp = ReadInputArray(2, 2) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Ki = ReadInputArray(2, 3) * 10000;
|
||||
MB_INTERNAL.param.angle.PID_Kd = ReadInputArray(2, 4) * 10000;
|
||||
|
||||
MB_INTERNAL.param.nominal.U = ReadInputArray(2, 5) * 10;
|
||||
MB_INTERNAL.param.nominal.I = ReadInputArray(2, 6) * 10;
|
||||
}
|
||||
// USER APP INPUT END
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user