496 lines
14 KiB
C
496 lines
14 KiB
C
|
|
#ifndef __DATADEF_H__
|
|||
|
|
#define __DATADEF_H__
|
|||
|
|
|
|||
|
|
#include "typedef.h"
|
|||
|
|
#include "config.h"
|
|||
|
|
//-------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
#define PATTERN_LARGE_NEEDLES 1280000
|
|||
|
|
|
|||
|
|
// 绝对位置数据
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl; //控制字节
|
|||
|
|
u8 attr; //属性字节
|
|||
|
|
WORD action;//控制动作
|
|||
|
|
double ax; //X位置
|
|||
|
|
double ay; //Y位置
|
|||
|
|
double ar; //R角度
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DsAbsItem;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
QList<DsAbsItem> absItemList;
|
|||
|
|
|
|||
|
|
}LineItem;
|
|||
|
|
|
|||
|
|
// 画图格式数据
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl;//控制字节
|
|||
|
|
u8 attr;//属性字节
|
|||
|
|
|
|||
|
|
WORD action;// 附加动作
|
|||
|
|
double bx, by;//绘制起点,第一机头
|
|||
|
|
double ex, ey;//绘制终点,第一机头
|
|||
|
|
double bx2, by2;//绘制起点,第二机头
|
|||
|
|
double ex2, ey2;//绘制终点,第二机头
|
|||
|
|
s32 ar;//角度
|
|||
|
|
u32 rgb;
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DispItem;
|
|||
|
|
|
|||
|
|
// 编辑花样格式数据
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl;//控制字节
|
|||
|
|
u8 attr;//属性字节
|
|||
|
|
|
|||
|
|
WORD action;// 附加动作
|
|||
|
|
double bx, by;//绘制起点
|
|||
|
|
double ex, ey;//绘制终点
|
|||
|
|
s16 ar;//角度
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) ViewItem;
|
|||
|
|
|
|||
|
|
//刀压测试的获取XY增益参数
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
s16 GapArray[25][20]; // X*Y
|
|||
|
|
u16 enFlag; // 参数有效标志
|
|||
|
|
u8 cellx; // X向格子数
|
|||
|
|
u8 celly; // Y向格子数
|
|||
|
|
s16 xcellgap; // X向格子间距,单位mm
|
|||
|
|
s16 ycellgap; // Y向格子间距,单位mm
|
|||
|
|
s16 collectStartX; // X向采集起始位置,单位mm
|
|||
|
|
s16 collectStartY; // Y向采集起始位置,单位mm
|
|||
|
|
u16 rev[0x200-25*20-6];
|
|||
|
|
} __attribute__ ((packed)) KnifeGapPara;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//机头间距表地址
|
|||
|
|
typedef struct {
|
|||
|
|
unsigned char iswork; //1-8机头是否工作
|
|||
|
|
unsigned char doubleHead; //双机头
|
|||
|
|
unsigned short int distance1_2; //机头2和机头1的机头间距(单位0.1mm,范围0-5000.0)
|
|||
|
|
unsigned short int distance1_3;
|
|||
|
|
unsigned short int distance1_4;
|
|||
|
|
unsigned short int distance1_5;
|
|||
|
|
unsigned short int distance1_6;
|
|||
|
|
unsigned short int distance1_7;
|
|||
|
|
unsigned short int distance1_8;
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) HeadTable;
|
|||
|
|
|
|||
|
|
// 画图格式数据
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl;//控制字节
|
|||
|
|
u8 attr;//属性字节
|
|||
|
|
|
|||
|
|
WORD action;// 附加动作
|
|||
|
|
s16 bx, by;//绘制起点
|
|||
|
|
s16 ex, ey;//绘制终点
|
|||
|
|
s16 ar;//角度
|
|||
|
|
HeadTable headtable;
|
|||
|
|
u32 rgb;
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) Disp_HeadItem;
|
|||
|
|
|
|||
|
|
// 执行数据定义
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl; // 控制字节
|
|||
|
|
u8 attr; // 属性字节
|
|||
|
|
s16 dx; // X偏移
|
|||
|
|
s16 dy; // Y偏移
|
|||
|
|
s16 dr; // R偏移
|
|||
|
|
u16 len; // xy分量合成长度
|
|||
|
|
u8 action[2]; //附加动作
|
|||
|
|
|
|||
|
|
u8 rev[4]; // 保留
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DataItem, Ds16Item;
|
|||
|
|
|
|||
|
|
// ds8格式
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl; // 控制字节
|
|||
|
|
u8 attr; // 属性字节
|
|||
|
|
s16 dx; // X偏移
|
|||
|
|
s16 dy; // Y偏移
|
|||
|
|
s16 dr; // R偏移
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) Ds8Item;
|
|||
|
|
|
|||
|
|
// 兼容dsr格式
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 ctrl; // 控制字节
|
|||
|
|
u8 attr; // 属性字节
|
|||
|
|
u8 dx; // X偏移
|
|||
|
|
u8 dy; // Y偏移
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DsrItem, Ds4Item;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 双字节压缩格式
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
s8 cdx; // X数据
|
|||
|
|
s8 cdy; // Y数据
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
格式定义
|
|||
|
|
cdx x分量控制数据
|
|||
|
|
cdy y分量控制数据
|
|||
|
|
|
|||
|
|
每个字节的最低位为控制位,高7个位为数据位。数据位的最高位是符号位。
|
|||
|
|
|
|||
|
|
两个控制位合在一起形成4种控制数据,定义如下:
|
|||
|
|
cdx.0 cdy.0
|
|||
|
|
0 0 缝纫数据,数据范围从-128 -- +126, 只有偶数可用(精度0.2mm),单位0.1mm
|
|||
|
|
0 1 空走数据,数据范围从-128 -- +126, 只有偶数可用(精度0.2mm),单位0.1mm
|
|||
|
|
1 0 大步空走数据,数据范围从-128 -- +126, 只有偶数可用(精度2mm),单位1mm
|
|||
|
|
1 1 控制数据,数据位定义为控制码和参数 cdx 为控制码, cdx 为参数
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
}__attribute__ ((packed)) ToBItem, Ds2Item;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// ctrl 定义
|
|||
|
|
// 控制字节, 作为功能码,定义如下
|
|||
|
|
|
|||
|
|
#define DATA_NULL 0x00 // 文件结束
|
|||
|
|
#define DATA_SEWING 0x01 // 缝纫数据, 该数据需要缝纫机针扎一次(主轴可以转动多圈(如果有跳针功能的话)), 同时 X, Y,R 偏移运动dx,dy,dr, 框步进式运动或连续运动
|
|||
|
|
#define DATA_OFFSET 0x02 // 偏移数据, 该数据只移动 X, Y,R 偏移 dx,dy,dr,连续运动
|
|||
|
|
#define DATA_CUTTING 0x03 // 切刀数据, 该数据需要切刀先运转,同时 X, Y,R 偏移 dx,dy,dr,根据切刀类型选择动框方式
|
|||
|
|
#define DATA_LASER 0x04 // 激光数据, 该数据需要激光出光, 同时X, Y,R偏移 dx,dy,dr,框连续运动,激光强度和运动线速度有关系
|
|||
|
|
#define DATA_DRAWING 0x05 // 记号数据, 该数据需要记号笔先放下来, 同时X, Y,R偏移dx,dy,dr,框连续运动
|
|||
|
|
#define DATA_SEWING_R 0x06 // 右机头缝纫,该数据需要缝纫机针扎一次(主轴可以转动多圈(如果有跳针功能的话)), 同时 X, Y,R 偏移运动dx,dy,dr, 框步进式运动或连续运动
|
|||
|
|
|
|||
|
|
#define DATA_SECF_SEW 0x11 // 第二框缝纫
|
|||
|
|
#define DATA_SECF_OFST 0x12 // 第二框偏移
|
|||
|
|
|
|||
|
|
#define DATA_SECF_SEW_R 0x16 // 第二框右机头缝纫,该数据需要缝纫机针扎一次(主轴可以转动多圈(如果有跳针功能的话)), 同时 X, Y,R 偏移运动dx,dy,dr, 框步进式运动或连续运动
|
|||
|
|
|
|||
|
|
// 兼容DSR控制码
|
|||
|
|
#define DATA_SYNCSEW 0x07 // 同步缝纫数据, 该数据需要缝纫机针扎一次, 同时 X, Y,R 偏移运动 dx,dy,dr,X2, Y2 也运动 dx,dy,框步进式运动或连续运动
|
|||
|
|
#define DATA_PAUSE_OLD 0x08 // 暂停
|
|||
|
|
#define DATA_ANGLE_OLD 0x09 // 拐点
|
|||
|
|
#define DATA_CUT_OLD 0x0A // 剪线
|
|||
|
|
#define DATA_END_OLD 0x10 // 结束码
|
|||
|
|
#define DATA_OFFSET_SEC 0x12 // 第二机头偏移(右机头偏移)
|
|||
|
|
|
|||
|
|
#define DATA_JUMP 0x0B // 跳针数据,该数据要求缝纫机主轴不动, 但 X, Y,R 偏移运动 dx,dy,dr, 框步进式运动或连续运动
|
|||
|
|
#define DATA_PUNCH 0x0C // 冲孔数据, 该数据需要冲孔主轴运转一圈,同时 X, Y,R 偏移 dx,dy,dr,
|
|||
|
|
#define DATA_EMB 0x0D // 绣花数据,该数据需要平绣针扎一次, 同时 X, Y,偏移运动dx,dy, 框步进式运动
|
|||
|
|
#define DATA_CHGND_OLD 0x0E // 换色功能码 lxs 20220628添加
|
|||
|
|
#define DATA_SYNCOFST 0x0F // 同步偏移数据
|
|||
|
|
#define DATA_MIRROR_SEC 0x17 // 镜像缝纫数据
|
|||
|
|
#define DATA_MIRROR_OFT_SEC 0x1F // 镜像偏移数据
|
|||
|
|
|
|||
|
|
#define DATA_MILLING 0x21 // 铣刀数据
|
|||
|
|
#define DATA_DRILL 0x22 // 钻孔数据
|
|||
|
|
#define DATA_RKNIFE 0x23 // 圆刀数据, 该数据需要震刀先运转,同时 X, Y,R 偏移 dx,dy,dr,
|
|||
|
|
#define DATA_SKNIFE 0x24 // 震刀数据, 该数据需要震刀先运转,同时 X, Y,R 偏移 dx,dy,dr,
|
|||
|
|
|
|||
|
|
#define DATA_BASE1 0x2A // 基座1数据
|
|||
|
|
#define DATA_BASE2 0x2B // 基座2数据
|
|||
|
|
#define DATA_BASE3 0x2C // 基座3数据
|
|||
|
|
|
|||
|
|
#define DATA_EKNIFE1 0x2D // 偏心刀1数据
|
|||
|
|
#define DATA_EKNIFE2 0x2E // 偏心刀2数据
|
|||
|
|
|
|||
|
|
#define DATA_END 0x80 // 结束码
|
|||
|
|
#define DATA_PAUSE 0x81 // 暂停功能码
|
|||
|
|
#define DATA_CHGND 0x82 // 换色
|
|||
|
|
#define DATA_CUTTRD 0x83 // 剪线功能码
|
|||
|
|
|
|||
|
|
#define DATA_SYNC_CUTTER 0x88 // 左右机头剪线,下位机取名叫 DATA_CUTTRD_R
|
|||
|
|
#define DATA_CUTTER_SEC 0x87 // 右机头剪线,下位机取名叫 DATA_CUTTRD_L
|
|||
|
|
|
|||
|
|
#define DATA_ANGLE 0x89 // 拐点
|
|||
|
|
|
|||
|
|
// atrr, 属性字节,作为运动属性字节
|
|||
|
|
|
|||
|
|
// 缝纫针步的属性定义:
|
|||
|
|
|
|||
|
|
// attr.7, 夹线力度等级H
|
|||
|
|
// attr.6, 夹线力度等级L
|
|||
|
|
// attr.5, 保留
|
|||
|
|
// attr.4, 缝纫回针标志
|
|||
|
|
// attr.3, 压脚高度等级H
|
|||
|
|
// attr.2, 压脚高度等级L
|
|||
|
|
// attr.1, 速度等级H
|
|||
|
|
// attr.0, 速度等级L
|
|||
|
|
|
|||
|
|
#define ATTR_CLAMP_LV 0xC0 // 夹线力度等级
|
|||
|
|
#define ATTR_RESEW 0x10 // 回针标志
|
|||
|
|
#define ATTR_FOOT_LV 0x0C // 压脚高度等级
|
|||
|
|
#define ATTR_SPD_LV 0x03 // 速度等级
|
|||
|
|
|
|||
|
|
// 缝纫针步的属性定义:
|
|||
|
|
// dx, x向偏移值, 有符号数, 范围为 -32768--32767, 单位为 0.01mm
|
|||
|
|
// dy, y向偏移值, 有符号数, 范围为 -32768--32767, 单位为 0.01mm
|
|||
|
|
// dr, r向偏移值, 有符号数, 范围为 -32768--32767, 单位为 0.0001 弧度
|
|||
|
|
// len, xy 分量的合成长度,无符号数,范围0--65535, 单位为 0.01mm
|
|||
|
|
|
|||
|
|
#define HEAD_NAME_STR_LEN 0x20
|
|||
|
|
#define HEAD_FIX_INFO_LEN 0x32
|
|||
|
|
|
|||
|
|
// 铣刀的属性定义:
|
|||
|
|
|
|||
|
|
// attr.7, 保留
|
|||
|
|
// attr.6, 保留
|
|||
|
|
// attr.5, 保留
|
|||
|
|
// attr.4, 保留
|
|||
|
|
// attr.3, 刀压深度HH
|
|||
|
|
// attr.2, 刀压深度HL
|
|||
|
|
// attr.1, 刀压深度LH
|
|||
|
|
// attr.0, 刀压深度LL
|
|||
|
|
|
|||
|
|
#define ATTR_HIGH_MARK 0x0F // 铣刀刀压深度调整掩码
|
|||
|
|
|
|||
|
|
#pragma pack(1)//设定为1字节对齐
|
|||
|
|
//ds16头文件-发给下位机的
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// 0x00
|
|||
|
|
char fileName[32]; // 文件名称
|
|||
|
|
|
|||
|
|
// 0x20
|
|||
|
|
u32 dataSize; // 数据字节数
|
|||
|
|
u32 itemNums; // 数据项个数
|
|||
|
|
u16 bytesPerItem; // 每项占的字节数
|
|||
|
|
u16 bytesPerBlk; // 数据内容划分块大小
|
|||
|
|
u32 dataChecksum; // 数据累加校验和
|
|||
|
|
u16 checkCrc; // 前面6个字段的CRC校验,(6个字段分别为:文件名称,字节数,项个数,每项字节数,每块字节数,数据累加和的CRC校验值)
|
|||
|
|
|
|||
|
|
// 0x32
|
|||
|
|
u16 rev0;
|
|||
|
|
u32 fileid; // 文件唯一标识符,识别是否为同一个文件
|
|||
|
|
|
|||
|
|
// 0x38
|
|||
|
|
u8 reserved1[0x40-0x38]; // 保留区1
|
|||
|
|
|
|||
|
|
// 0x40
|
|||
|
|
s32 anchorX; // 定位点坐标X
|
|||
|
|
s32 anchorY; // 定位点坐标Y
|
|||
|
|
|
|||
|
|
// 0x48
|
|||
|
|
s32 beginX; // 数据起点坐标X
|
|||
|
|
s32 beginY; // 数据起点坐标Y
|
|||
|
|
s32 beginR; // 数据起点坐标R
|
|||
|
|
|
|||
|
|
// 0x54
|
|||
|
|
s32 minX;
|
|||
|
|
s32 maxX;
|
|||
|
|
s32 minY;
|
|||
|
|
s32 maxY; // 轮廓范围
|
|||
|
|
|
|||
|
|
// 0x64
|
|||
|
|
u32 sizeX;
|
|||
|
|
u32 sizeY; // 裁片大小
|
|||
|
|
|
|||
|
|
// 0x6C
|
|||
|
|
s32 anchorX2; // 定位点坐标X2
|
|||
|
|
s32 anchorY2; // 定位点坐标Y2
|
|||
|
|
s32 beginX2; // 数据起点坐标X2
|
|||
|
|
s32 beginY2; // 数据起点坐标Y2
|
|||
|
|
s32 beginR2; // 数据起点坐标Z2
|
|||
|
|
|
|||
|
|
// 0x80
|
|||
|
|
u32 runAct; // 附加动作,
|
|||
|
|
// bit0: 0:完成后不拍照 1:完成后拍照
|
|||
|
|
|
|||
|
|
// 0x84
|
|||
|
|
// bit0,偏移点X向允许 0,不允许 1,允许
|
|||
|
|
// bit1,偏移点Y向允许 0,不允许 1,允许
|
|||
|
|
// bit2,反复优先级 0,X向优先 1,Y向优先
|
|||
|
|
// bit3,二次剪线 0,不允许 1,允许
|
|||
|
|
u32 EnFlag; //
|
|||
|
|
|
|||
|
|
s32 offsetX; // 偏移点X
|
|||
|
|
s32 offsetY;
|
|||
|
|
|
|||
|
|
// 0x90
|
|||
|
|
u8 xRepeatNums; // X向反复次数,范围0-99,默认0
|
|||
|
|
u8 yRepeatNums; // Y向反复次数
|
|||
|
|
s32 xRepeatDistance; // X向反复距离,单位mm,精度0.01,范围-100000-100000,默认0
|
|||
|
|
s32 yRepeatDistance; // Y向反复距离
|
|||
|
|
|
|||
|
|
// 0x9A
|
|||
|
|
u8 reserved2[0x200-0x9A];
|
|||
|
|
|
|||
|
|
// 0x200
|
|||
|
|
u8 switchNeedleTable[0x400-0x200]; // 色序设定表, 支持512个色序设定
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DataDs16FileHead;//下发给主控的ds16文件头
|
|||
|
|
#pragma pack(1)//恢复对齐状态
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// 0
|
|||
|
|
char HMIVerStr[16]; // 界面版本
|
|||
|
|
|
|||
|
|
// 4
|
|||
|
|
u32 machineNumber; // 机器编号
|
|||
|
|
|
|||
|
|
// 5
|
|||
|
|
u16 motorNum; //电机个数
|
|||
|
|
u16 debugProgress; //调试进度
|
|||
|
|
// 6
|
|||
|
|
char fileName[32]; // 文件名称
|
|||
|
|
|
|||
|
|
#if(0)
|
|||
|
|
// 52
|
|||
|
|
char sensorStartBtn; // 启动按钮1
|
|||
|
|
char sensorStopBtn; // 暂停按钮1
|
|||
|
|
char sensorJogBtn; // 点动按钮1
|
|||
|
|
char sensorMainFrameXZeroPos; // 主框架X零位
|
|||
|
|
char sensorMainFrameYZeroPos; // 主框架Y零位
|
|||
|
|
char sensorMainFrameXNegLimit; // 主框架X负限位
|
|||
|
|
char sensorMainFrameYNegLimit; // 主框架Y负限位
|
|||
|
|
char sensorMainFrameXPosLimit; // 主框架X正限位
|
|||
|
|
char sensorMainFrameYPosLimit; // 主框架Y正限位
|
|||
|
|
char sensorScissorsReturn; // 剪刀回位
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//14
|
|||
|
|
char deliveryTime[32]; //交付日期
|
|||
|
|
|
|||
|
|
//22
|
|||
|
|
u32 workProgress; //机器工作进度(花样执行进度)
|
|||
|
|
|
|||
|
|
//26
|
|||
|
|
u32 workState; //工作状态
|
|||
|
|
|
|||
|
|
//27
|
|||
|
|
u32 startPins; //开始针数
|
|||
|
|
|
|||
|
|
//28
|
|||
|
|
u32 endPins; //结束针数
|
|||
|
|
|
|||
|
|
//29
|
|||
|
|
quint64 startTime; //开始时间
|
|||
|
|
|
|||
|
|
//31
|
|||
|
|
quint64 endTime; //结束时间
|
|||
|
|
|
|||
|
|
//33
|
|||
|
|
u32 outCounter; //产量统计
|
|||
|
|
|
|||
|
|
//34
|
|||
|
|
u32 rev2[256-34];
|
|||
|
|
|
|||
|
|
} __attribute__ ((packed)) HMILotData; // 界面物联网数据
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 升级文件头
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// 0x00
|
|||
|
|
char fileName[32]; // 文件名称
|
|||
|
|
// 0x20
|
|||
|
|
u32 dataSize; // 数据字节数
|
|||
|
|
u32 dataChecksum; // 数据累加校验和
|
|||
|
|
|
|||
|
|
// 0x28
|
|||
|
|
u8 reserved1[0x30-0x28]; // 保留区1
|
|||
|
|
// 0x30
|
|||
|
|
u8 reserved2[0x64-0x30]; // 保留区1
|
|||
|
|
|
|||
|
|
// 0x64
|
|||
|
|
u8 reserved3[0x80-0x64]; // 保留区2
|
|||
|
|
|
|||
|
|
// 0x80
|
|||
|
|
u8 reserved4[0x100-0x80];
|
|||
|
|
}__attribute__ ((packed)) AppFileHead;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 文件参数结构
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// 0x00
|
|||
|
|
u8 hdIdenti[0x40];
|
|||
|
|
|
|||
|
|
// 0x40
|
|||
|
|
s32 anchorX; // 定位点坐标X
|
|||
|
|
s32 anchorY; // 定位点坐标Y
|
|||
|
|
// 0x48
|
|||
|
|
s32 beginX; // 数据起点坐标X
|
|||
|
|
s32 beginY; // 数据起点坐标Y
|
|||
|
|
s32 beginR; // 数据起点坐标Z
|
|||
|
|
|
|||
|
|
// 0x54
|
|||
|
|
s32 minX;
|
|||
|
|
s32 maxX;
|
|||
|
|
s32 minY;
|
|||
|
|
s32 maxY; // 轮廓范围
|
|||
|
|
|
|||
|
|
// 0x64
|
|||
|
|
u32 sizeX;
|
|||
|
|
u32 sizeY; // 裁片大小
|
|||
|
|
|
|||
|
|
// 0x6C
|
|||
|
|
s32 anchorX2; // 定位点坐标X2
|
|||
|
|
s32 anchorY2; // 定位点坐标Y2
|
|||
|
|
s32 beginX2; // 数据起点坐标X2
|
|||
|
|
s32 beginY2; // 数据起点坐标Y2
|
|||
|
|
s32 beginR2; // 数据起点坐标Z2
|
|||
|
|
|
|||
|
|
// 0x80
|
|||
|
|
u8 reserved0[0x200-0x80];
|
|||
|
|
// 0x200
|
|||
|
|
u8 reserved1[0x400-0x200];
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DataFilePara;
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
s32 anchorX; // 定位点坐标X
|
|||
|
|
s32 anchorY; // 定位点坐标Y
|
|||
|
|
s32 beginX; // 数据起点坐标X
|
|||
|
|
s32 beginY; // 数据起点坐标Y
|
|||
|
|
|
|||
|
|
}__attribute__ ((packed)) DataFilePos;
|
|||
|
|
//-------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
// 文件执行参数结构
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u32 newIdx;
|
|||
|
|
s32 newXPos;
|
|||
|
|
s32 newYPos;
|
|||
|
|
s32 newRPos;
|
|||
|
|
u32 newColorIdx; // 新针位
|
|||
|
|
u32 rev[256-5];
|
|||
|
|
}__attribute__ ((packed)) FileExecPara;
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
//参数文件头
|
|||
|
|
struct ParaFile
|
|||
|
|
{
|
|||
|
|
unsigned char s_head[4] ; // 默认 PARA
|
|||
|
|
int s_type ; // 默认 0
|
|||
|
|
int s_len ; // 数据 默认 4096
|
|||
|
|
|
|||
|
|
unsigned int s_para_buff[1024] ; //工作 参数体
|
|||
|
|
|
|||
|
|
unsigned short s_crc ; //参数体的CRC
|
|||
|
|
|
|||
|
|
unsigned short rev ; //预留 保持 结构体四字节对齐
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|