148 lines
2.7 KiB
C
148 lines
2.7 KiB
C
|
|
#ifndef __PARAS_H__
|
|
#define __PARAS_H__
|
|
|
|
#include "config.h"
|
|
|
|
#ifndef USE_SMEC
|
|
#define USE_SMEC 0 // 0:不使用加密芯片
|
|
// 1:使用加密芯片(使用加密芯片每次读写参数会增加30ms)
|
|
#endif
|
|
|
|
//---------------------------------
|
|
// FRAM地址划分
|
|
|
|
// 共8K字节
|
|
|
|
// 256字节 分期付款密码存储
|
|
// 256字节 nvpara
|
|
// 512字节 预留
|
|
|
|
// 1K字节 机器参数
|
|
// 1K字节 工作参数
|
|
|
|
// 1K字节 动框角度
|
|
|
|
#define ENC_ADDR 0x0000 // 256字节
|
|
#define NVPARA_ADDR 0x0100 // 256字节
|
|
#define REV_ADDR 0x0200 // 512字节
|
|
|
|
#define MCPARA_ADDR 0x0400 // 机器参数,1K
|
|
#define WKPARA_ADDR 0x0800 // 工作参数,1K
|
|
|
|
#define ANGPARA_ADDR 0x0C00 // 动框起始角度
|
|
|
|
//---------------------------------
|
|
|
|
// 参数类型
|
|
#define PTYPE_U 0 // 无符号数
|
|
#define PTYPE_S 1 // 有符号数
|
|
#define PTYPE_B 2 // 位图
|
|
|
|
#define PARA_NUM 256
|
|
#define PARA_STR_LEN 30
|
|
|
|
#define PARA_MC_VALID 0x00005500
|
|
#define PARA_WK_VALID 0x000000AA
|
|
|
|
#define PARA_VALID (PARA_MC_VALID|PARA_WK_VALID)
|
|
|
|
//---------------------------------
|
|
//
|
|
#define MAX_HOR 12 // 横,下标2最大值,针步
|
|
#define MAX_VER 21 // 竖,下标1最大值,转速
|
|
|
|
typedef struct
|
|
{
|
|
u32 buf[PARA_NUM];
|
|
} __attribute__ ((packed)) ParaStruct;
|
|
|
|
//--------------------------------------------------------------
|
|
// 贴布绣(按针)
|
|
typedef struct
|
|
{
|
|
u32 dataidx; // 数据索引
|
|
u16 mvmnt; // 移动位移量
|
|
} __attribute__ ((packed)) Patch;
|
|
|
|
#define PATCH_DATA_NUM 10 // 支持设定的个数
|
|
|
|
typedef struct
|
|
{
|
|
Patch patch[PATCH_DATA_NUM];
|
|
} __attribute__ ((packed)) PatchData;
|
|
|
|
//---------------------------------
|
|
|
|
#ifdef _IN_PARAS_C
|
|
|
|
ParaStruct g_mcPara;
|
|
ParaStruct g_wkPara;
|
|
|
|
ParaStruct g_angPara;
|
|
|
|
PatchData g_patchData;
|
|
|
|
#else
|
|
|
|
extern ParaStruct g_mcPara; // 机器参数
|
|
extern ParaStruct g_wkPara; // 工作参数
|
|
|
|
extern ParaStruct g_angPara; // 起始动框角度参数
|
|
|
|
extern PatchData g_patchData; // 贴布绣数据,按针
|
|
|
|
#endif
|
|
|
|
//---------------------------------
|
|
|
|
void InitParas(void);
|
|
|
|
//---------------------------------
|
|
|
|
void SaveMcPara(void);
|
|
void SaveWkPara(void);
|
|
|
|
void SaveAngPara(void);
|
|
|
|
//---------------------------------
|
|
|
|
void CheckMcParaRange(void);
|
|
void CheckAMcParaRange(int id);
|
|
|
|
void CheckWkParaRange(void);
|
|
void CheckAWkParaRange(int id);
|
|
|
|
//---------------------------------
|
|
|
|
void WriteDefMcPara(void);
|
|
void WriteDefWkPara(void);
|
|
|
|
void WriteDefMvAngPara(void);
|
|
|
|
//---------------------------------
|
|
|
|
void SetMcParaNameString(void* pDat);
|
|
void SetWkParaNameString(void* pDat);
|
|
|
|
void SetMcParaList(void * pDat);
|
|
void SetWkParaList(void * pDat);
|
|
void SetDefAngParaList(void * pDat);
|
|
|
|
//---------------------------------
|
|
|
|
u32 GetAMcPara(int id);
|
|
void SetAMcPara(int id, u32 val);
|
|
|
|
u32 GetAWkPara(int id);
|
|
void SetAWkPara(int id, u32 val);
|
|
|
|
void SetAAnglePara(int id, u16 val);
|
|
|
|
//---------------------------------
|
|
|
|
|
|
#endif
|
|
|
|
|