📄 hexcalc.c
字号:
/*----------------------------------------
HEXCALC.C -- Hexadecimal Calculator
(c) Charles Petzold, 1998
----------------------------------------*/
#include "file.h"
#include "config.h"
#include "mt_tmp.h" ///9.5.gai
#include "fuc_tmp.h"
#include "pattern.h"
#include "char_ict.h"//字符数据
#include "data_dst.h"//内置花样数据
#include "help.h" //实时帮助页面显示数据
//#include "dst.h"
//#include "data.h"
#define uchar unsigned char
//功能键定义
#define DesignKey 31//花样选择
#define SetKey 32//语言选择
#define IntroKey 33//说明书
#define StartStopKey 34//开始绣
#define RealTimeHelp 35//实时帮助
#define RemoveUKey 36//安全移除u盘
//#define RemoveUKey 35//
//#define StitchAdjKey 36//
#define Key37 37
#define SWITCH 40//按键开关
/*
#define Status_Embroidery 0x01
#define Status_FrdSearch 0x02
#define Status_RvrSearch 0x03
#define Status_Forward 0x04
#define Status_Back 0x05
#define Status_StartPoint 0x06
#define Status_Trial 0x07
#define Status_Up 0x08
#define Status_Down 0x09
#define Status_Left 0x0A
#define Status_Right 0x0B
*/
#define StatusR_Ok 0x0C
#define StatusR_ChangThread 0x0D
#define StatusR_ThreadBreak 0x0E
//#define StatusR_Stop 0x0F //人为停机
//#define BreFigSize 10
//#define Status_Stop 0x10
//#define Status_Fail 0x10
//#define Status_Succ 0x11
#define OutPutMax 12 //输入字符最多个数
#define DST_NUM 6 //内置花样个数
/*********************************************************************************************************************/
//uchar threadBrkOutFlag = 0; //断线标志位,置1表示断线
//uchar ChangThreadFlag = 0; //换线检测,置1,表示要换线
//uchar startStopButtonFlag = 0; //置1表示开始或停止
//*/
//---------temprary varibales(added by guwj)
//int Max_needle=700;
//int curr_needle=650;
//---------
//uchar USBInFlag = 0; //置1表示有U盘插入
//uchar USBOutFlag = 0; //置1表示U盘被移除
uchar breviaryFigPgTotal = 0; //由读U盘时提供,每页提供6个缩略图,如果>6<=12,则breviaryFigPgTatol=1
uchar breviaryFigPgCurr = 0; //缩略图所在页码
uchar breviaryFigNum = 0; //由U盘操作那边返回,如果为0,则说明没有读到花样数据,显示错误信息
//uchar SMBSStatus = 0x05; //单色,多色,大,小切换
//uchar designNumSel = 0; //被选定的花样地址
uchar turnRoundStatus = 0; //花样旋转状态:0-上;1-右;2-下;3-左.
uchar stitchStatusTmp = 0; //保存临时针迹状态
uchar stitchStatus = 0; //全局针迹状态
uchar screenWithThreadBreak = 0x00; //如果断线标志位置1,则记录当前屏幕的状态值
uchar screenReturnWithSetKey = 0x00; //语言选择返回页面界面
uchar screenReturnRemoveUSB = 0x00; //移除u盘返回页面
uchar screenReturnIntroKey = 0x00; //(非实时)帮助返回页面
uchar screenReturnjixie = 0x00; //机械故障提示返回页
//uchar motorStatus = 0; //电机工作状态选
uchar LanguageEC = 2; // 1,中文 2,英文
uchar motorOnOff = 0; //开关状态,1,开;0,关
uchar screenStatus ;
uchar LCDMatrix[64][30];
uint16 aaa_test[64][64];//缩略图数据
//uint16 aaa_test[100][100];//缩略图数据
//--------------------------head----------------------------//
//uchar bNumByDesignPosition = 0;
//uchar bNumLeft = 0;
//uchar bNumRight = 0;
//uchar upDown = 0;
//uchar intervalLeft = 0;
//uchar intervalRight = 0;
int designWidth = 0;
int designHight = 0;
int startDot = 0;
int startLine = 0;
//---------------------------head----------------------------//
//uchar minipicture[5][40][5]; //缩略图数组
uchar file_dst[100000]; //一个花样的数据缓存
int maxinf = 0; //一个花样所对应的总缩略图个数
int cxnum=0; //当前缩略图
int stopInsideEmbroidery = 0; //1-代表禁止使用布局功能
//在刺绣过程中停机,按"调整"直接进入跳针
int lowerPresserFoot = 0; // 1:压脚杆没放下
struct dst_inf dst2HexP;
//int xxxxxx = 0;
//int xxxxx=0;
int designNum = 0; //被选定的花样地址
int designNum_save = 0; //花样太大时保存前一个选择的花样
////////////////////////////////////////////
int charSize=1; //0:小尺寸; 1:中;2- 大.默认为中
//int zoom_char=100; //字符缩放系数(百分比表示,100时为中号)
int currentPg=0; //当前页码,0为第一页
int lowerOrUpper=1; //0:小写字符; 1:大写字符; 默认为大写字符
uchar charInput[12];
uchar charNum=0;
//int layoutBychar=0;
char kind; //选择类型,1为字符,2为图案,3为边框
int file_maxnum=0; //最大文件个数
uchar color_flag=1; //单多色标记:0-单色,1-多色(默认为多色)
uchar dst_flag=1; //dst花样文件来源标记:1-usb读取;2-机内花样;
uchar ReturnNum; //实时帮助返回页面
uchar HelpNum; //实时帮助跳转页面
uchar NumTemp=0; //帮助页面个数
////////////////////////////////////////////
extern int moto_state;//added by guwj07.1.6
//int zihua_state=0;
extern int sendbuf_state;
//extern int UART0_SendStr(char * str);
//extern int UART0_SendByte(uint8 data);
extern char UART_data[5];
extern void number_to_char(uint8 data,char *tmp );
extern uint8 dst2map(struct dst_inf *ppp,uint16 *map);
extern uint8 Decode_DST_Header(struct dst_inf * p, uchar * file_mayb);
extern uint8 Decode_DST_Body(struct dst_inf * p, uchar * file_mayb);
extern uint8 Decode_DSB_Body(struct dst_inf * p, uchar * file_mayb);
//---------------------------end-----------------------------//
/*********************************************************************************************************************/
/***************调用函数******************************************************************************************/
//bit CheckUSBIn(void); //U盘插入检测
//bit CheckUSBOut(void); //U盘退出检测
//void LCDPlot(uchar x, uchar y, uchar uData); //LCD显示函数
//uchar *USBReadData(uchar pageNum, uchar designNumSel); //读取U盘第pageNum页,第designNum个花样的缩略图数据
//void MotorStepperMove(struct MotorData3Byte uData);
uchar GetKey(void); //触摸屏按键返回
//uchar MotorStepperMove(uchar motorStatus); //电机驱动函数,检测motorOnOff
//void ShowScreenWithLCD(uchar display); //LCD显示函数,
/*********************************************************************************************************************/
/*
int SC_x[13]=
{
0,24,48,72,96,120,144,168,192,216,240,245,250
};
int SC_y[4]=
{
0,20,42,64
};
int MS_X,MS_Y,lcdkey;
*/
//uchar GetKey(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -