optical/NxFuncs/closedriver/driverparas.h

260 lines
4.4 KiB
C
Raw Permalink Normal View History

2025-09-04 01:45:08 +00:00
#ifndef __DRIVERPARAS_H__
#define __DRIVERPARAS_H__
#include "config.h"
#define DRIVER_PARA_ST 0
#define DRIVER_PARA_NOR 1
#ifndef DRIVER_PARA
#define DRIVER_PARA DRIVER_PARA_NOR
#endif
#if (DRIVERS_NUM > 0)
#if (DRIVER_PARA == DRIVER_PARA_NOR)
#include "norparas.h"
#define DRV_PARA_NUMS PARA_NUM_PER_BLK
#define DRV_PARA_STR_LEN PARA_STR_LEN
#else
#define DRV_PARA_NUMS 64
#define DRV_PARA_STR_LEN 30
#endif
#define CTRLMODE_OPEN 0
#define CTRLMODE_CLOSE 1
typedef struct
{
// 0
int closeCtrlMode; // <20><><EFBFBD>ջ<EFBFBD>ģʽ
int cmdSource; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ, 0 <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>; 1, <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>;
int stepPerCircle; // ÿȦ<C3BF><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 3
int openRunCircle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
int openLockCircle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int openMaxOffset; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 6
s32 maxSpeed; // <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ: <20>ɿ<EFBFBD>λ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 7
int closeAdjust; // <20>ջ<EFBFBD><D5BB>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>
int closeCircle; // <20>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 9
int maxAdvance; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
// 10
// <20>ջ<EFBFBD>λ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>pid
int kp; // λ<>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ(0--1000), Ĭ<><C4AC> 500
int ki; // λ<>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ(0--1000), Ĭ<><C4AC> 20
int kd; // λ<>û<EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ(0--1000), Ĭ<><C4AC> 800
// 13
int ecdAdjust; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼
// 14
u32 startPPS; // <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
u32 runPPS; // <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
u32 addPPSS; // <20><><EFBFBD>ٶ<EFBFBD>
u32 brkPPSS; // ɲ<><C9B2><EFBFBD>ٶ<EFBFBD>
// 18
u32 numerator; // <20><><EFBFBD>ӳ<EFBFBD><D3B3>ַ<EFBFBD><D6B7><EFBFBD>
u32 denominator; // <20><><EFBFBD>ӳ<EFBFBD><D3B3>ַ<EFBFBD>ĸ
// 20
u32 basecircle; // <20>ջ<EFBFBD><D5BB><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
// 21
u32 rev[DRV_PARA_NUMS-21];
}DriverPara;
#ifdef _IN_DRIVERPARAS_C
// Ĭ<>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>
static const u32 g_defDriverParaList[DRV_PARA_NUMS][3] =
{
// <09><>С <09><><EFBFBD><EFBFBD> Ĭ<><C4AC>
// 0
{0, 1, 0 } , // int closeCtrlMode; // <20><><EFBFBD>ջ<EFBFBD>ģʽ
{0, 1, 0 } , // int cmdSource; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ, 0 <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>; 1, <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>;
{100, 204800, 4000} , // int stepPerCircle; // ÿȦ<C3BF><C8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 3
{1, 320, 200 } , // int openRunCircle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
{0, 320, 0 } , // int openLockCircle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{1, 1000, 200 } , // int openMaxOffset; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 6
{1, 10000, 4000} , // s32 maxSpeed; // <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>λ: <20>ɿ<EFBFBD>λ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 7
{0, 0, 0 } , // int closeAdjust; // <20>ջ<EFBFBD><D5BB>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>
{1, 1000, 100 } , // int closeCircle; // <20>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{1, 1200, 1200} , // int maxAdvance; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
// 10
// <20>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>pid
{0, 1000, 400 } , // int kp; // λ<>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ(0--1000), Ĭ<><C4AC> 400
{0, 1000, 20 } , // int ki; // λ<>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ(0--1000), Ĭ<><C4AC> 20
{0, 1000, 800 } , // int kd; // λ<>û<EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Χ(0--1000), Ĭ<><C4AC> 800
// 13
{0, 0, 0 } , // int ecdAdjust; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼
// 14
{1, 10000, 1000 } , // u32 startPPS; // <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
{1, 200000, 40000 } , // u32 runPPS; // <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
{1, 40000, 100 } , // u32 addPPSS; // <20><><EFBFBD>ٶ<EFBFBD>
{1, 40000, 10000 } , // u32 brkPPSS; // ɲ<><C9B2><EFBFBD>ٶ<EFBFBD>
// 18
{100, 204800, 4000} , // u32 numerator; // <20><><EFBFBD>ӳ<EFBFBD><D3B3>ַ<EFBFBD><D6B7><EFBFBD>
{1, 204800, 1 } , // u32 denominator; // <20><><EFBFBD>ӳ<EFBFBD><D3B3>ַ<EFBFBD>ĸ
// 20
{0, 50, 0 }, // <20>ջ<EFBFBD><D5BB><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
// 32
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
};
static const char g_driverParaStrList[DRV_PARA_NUMS][DRV_PARA_STR_LEN] =
{
"<EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD>ģʽ; 0<><30><EFBFBD><EFBFBD>; 1, <20>ջ<EFBFBD>;",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ, 0 <20>ڲ<EFBFBD>; 1, <20>ⲿ;",
"ÿȦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD>ջ<EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>",
"λ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0--1000)",
"λ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0--1000)",
"λ<EFBFBD>û<EFBFBD>΢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0--1000)",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>0",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>",
"ɲ<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>ַ<EFBFBD>ĸ",
// 20
"<EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0-50)",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
// 32
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
};
#endif
//-----------------------
void InitDriverParas(void);
DriverPara * GetDriverParas(int didx);
void SaveDriverParas(int didx);
const char * GetDriverParaName(int pidx);
//-----------------------
#endif
//-----------------------
#endif