📄 mstate.c.bak
字号:
#include "RS232.h"
#include "KeyPad.h"
#include "LCD.h"
#include "Timer.h"
#include "RTC.h"
#include "MState.h"
#include "GLib.h"
#include "ADC.h"
#include "Flash.h"
#include "FileSys.h"
#include "Config.h"
//------------------------------
struct MSTATE_struct MState_inf;
unsigned char MState_msg[10];
unsigned char MState_again[10];
unsigned char Pswd[7] = {6,'0','0','0','4','3','0'};
//==============================
//-----------------------
void Delay_ms(int time)
{
int i,j;
i = 0;
do{
for(j=0;j<100;j++){;}
i++;
}while(i<time);
}
void MState_switch_face(unsigned char key )
{
if( key == KEY_F2 ){
MState_inf.State = MACHINE_STATE_MAIN;
MState_inf.Func = FUNC_MAIN;
MState_inf.Fresh = FRESH_ON;
}
}
//-----------------------
void MState_switch_main(unsigned char key )
{
switch( key )
{
case '1':
{
MState_inf.State = MACHINE_STATE_COM;
MState_inf.Func = FUNC_COM;
MState_inf.Step = STEP_COM_MENU;
MState_inf.Fresh = FRESH_ON;
break;
}
case '2':
{
MState_inf.State = MACHINE_STATE_SYSINF;
MState_inf.Func = FUNC_SYSINF;
MState_inf.Step = STEP_SYSINF_MENU;
MState_inf.Fresh = FRESH_ON;
break;
}
case '3':
{
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Step = STEP_CONFIG_MENU;
MState_inf.Fresh = FRESH_ON;
break;
}
case '4':
{
MState_inf.State = MACHINE_STATE_TEST;
MState_inf.Func = FUNC_TEST;
MState_inf.Step = STEP_TEST_MENU;
MState_inf.Fresh = FRESH_ON;
break;
}
case '5':
{
MState_inf.State = MACHINE_STATE_RUN;
MState_inf.Func = FUNC_RUN;
MState_inf.Step = STEP_RUN_GETFILE;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_FACE;
MState_inf.Func = FUNC_FACE;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}
//-----------------------
void MState_switch_sysinf(unsigned char key )
{
if( MState_inf.Func == FUNC_SYSINF )
{
switch( key )
{
case '1':
{
MState_inf.Func = FUNC_SYSINF_MACH_INF;
MState_inf.Step = STEP_SYSINF_MACH_INF;
MState_inf.Fresh = FRESH_ON;
break;
}
case '2':
{
MState_inf.Func = FUNC_SYSINF_FILE_INF;
MState_inf.Step = STEP_SYSINF_FILE_INF;
MState_inf.Fresh = FRESH_ON;
break;
}
case '3':
{
MState_inf.Func = FUNC_SYSINF_TIME_INF;
MState_inf.Step = STEP_SYSINF_TIME_INF;
MState_inf.Fresh = FRESH_ON;
break;
}
case '4':
{
MState_inf.Func = FUNC_SYSINF_BATT_INF;
MState_inf.Step = STEP_SYSINF_BATT_INF;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_MAIN;
MState_inf.Func = FUNC_MAIN;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else{
if( key == KEY_CLS ){
MState_inf.State = MACHINE_STATE_SYSINF;
MState_inf.Func = FUNC_SYSINF;
MState_inf.Fresh = FRESH_ON;
}
}
}
//-----------------------
void MState_switch_config(unsigned char key )
{
unsigned char i;
int rt;
struct CONFIG_struct Config_inf;
rt = Config_inf_read( &Config_inf );
if( MState_inf.Func == FUNC_CONFIG )
{
for(i=0; i<10; i++) MState_msg[i] = 0;
switch( key )
{
case '1':
{
MState_inf.Func = FUNC_CONFIG_LCD;
MState_inf.Step = STEP_CONFIG_LCD_CHNG;
MState_inf.Fresh = FRESH_ON;
if( (rt>=0)&&((Config_inf.LCD_const)<=7) ) {
MState_msg[0] = Config_inf.LCD_const;
}else{
MState_msg[0] = 4;
}
break;
}
case '2':
{
MState_inf.Func = FUNC_CONFIG_PRINT;
MState_inf.Step = STEP_CONFIG_PRINT_CHNG;
MState_inf.Fresh = FRESH_ON;
if( (rt>=0)&&((Config_inf.Print_deep)<=7) ) {
MState_msg[0] = Config_inf.Print_deep;
}else{
MState_msg[0] = 4;
}
break;
}
case '3':
{
MState_inf.Func = FUNC_CONFIG_FORMAT;
MState_inf.Step = STEP_CONFIG_FORMAT_PSWD;
MState_inf.Fresh = FRESH_ON;
break;
}
case '4':
{
MState_inf.Func = FUNC_CONFIG_PSWD;
MState_inf.Step = STEP_CONFIG_PSWD_OLD;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_MAIN;
MState_inf.Func = FUNC_MAIN;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Func == FUNC_CONFIG_LCD ){
switch( key )
{
case KEY_UP:
{
if( MState_msg[0] >= 7 ){
MState_msg[0] = 7;
}else{
MState_msg[0]++;
}
MState_inf.Func = FUNC_CONFIG_LCD;
MState_inf.Step = STEP_CONFIG_LCD_CHNG;
MState_inf.Fresh = FRESH_ON;
LCD_gray_set(MState_msg[0]);
break;
}
case KEY_DOWN:
{
if( MState_msg[0] > 0 ){
MState_msg[0]--;
}
MState_inf.Func = FUNC_CONFIG_LCD;
MState_inf.Step = STEP_CONFIG_LCD_CHNG;
MState_inf.Fresh = FRESH_ON;
LCD_gray_set(MState_msg[0]);
break;
}
case KEY_ENTER:
{
//Config_save(FUNC_CONFIG_LCD,tmp);
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
Config_inf.LCD_const = MState_msg[0];
Config_inf_save( (rt+1),&Config_inf );
break;
}
case KEY_CLS:
{
//recover_LCD_value();
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Func == FUNC_CONFIG_PRINT ){
switch( key )
{
case KEY_UP:
{
if( MState_msg[0] >= 7 ){
MState_msg[0] = 7;
}else{
MState_msg[0]++;
}
MState_inf.Func = FUNC_CONFIG_PRINT;
MState_inf.Step = STEP_CONFIG_PRINT_CHNG;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_DOWN:
{
if( MState_msg[0] > 0 ){
MState_msg[0]--;
}
MState_inf.Func = FUNC_CONFIG_PRINT;
MState_inf.Step = STEP_CONFIG_PRINT_CHNG;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_ENTER:
{
//Config_save(FUNC_CONFIG_PRINT,tmp);
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
Config_inf.Print_deep = MState_msg[0];
Config_inf_save( (rt+1),&Config_inf );
break;
}
case KEY_CLS:
{
//recover_print_value();
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Func == FUNC_CONFIG_FORMAT ){//===>>Flash Format
if( MState_inf.Step == STEP_CONFIG_FORMAT_PSWD )
{ //--->>check password
switch( key )
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
if( MState_msg[0] < 7 ){
MState_msg[0]++;
MState_msg[ (MState_msg[0]) ] = key;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_ENTER:
{
for(i=1; i<=(Pswd[0]); i++){
if( MState_msg[i] != Pswd[i] ) break;
}
if( i>(Pswd[0]) ){
//MState_inf.State = MACHINE_STATE_CONFIG;
//MState_inf.Func = FUNC_CONFIG_FORMAT;
MState_inf.Step = STEP_CONFIG_FORMAT_WARN;
MState_inf.Fresh = FRESH_ON;
}else{
//MState_inf.State = MACHINE_STATE_CONFIG;
//MState_inf.Func = FUNC_CONFIG_FORMAT;
MState_inf.Step = STEP_CONFIG_FORMAT_PSER;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Step == STEP_CONFIG_FORMAT_PSER ) {
//--->>if password error,any key to return
for(i=0; i<10; i++) MState_msg[i] = 0;
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG_FORMAT;
MState_inf.Step = STEP_CONFIG_FORMAT_PSWD;
MState_inf.Fresh = FRESH_ON;
}else if( MState_inf.Step == STEP_CONFIG_FORMAT_WARN ) {
//--->> operator warning
switch( key )
{
case KEY_ENTER: //--->>Enter: format run
{
FS_format();
MState_inf.Step = STEP_CONFIG_FORMAT_RUN;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_CLS: //--->>Esc: quit
{
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Step == STEP_CONFIG_FORMAT_RUN ) {
//--->>any key to return
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
}
}else if( MState_inf.Func == FUNC_CONFIG_PSWD ){//===>> Change PassWord
if( MState_inf.Step == STEP_CONFIG_PSWD_OLD )
{ //--->>check password
switch( key )
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
if( MState_msg[0] < 7 ){
MState_msg[0]++;
MState_msg[ (MState_msg[0]) ] = key;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_ENTER:
{
for(i=1; i<=(Pswd[0]); i++){
if( MState_msg[i] != Pswd[i] ) break;
}
if( i>(Pswd[0]) ){
for(i=0; i<10; i++) MState_msg[i] = 0;
MState_inf.Step = STEP_CONFIG_PSWD_NEW;
MState_inf.Fresh = FRESH_ON;
}else{
MState_inf.Step = STEP_CONFIG_PSWD_PSER;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Step == STEP_CONFIG_PSWD_PSER ) {
//--->>if password error,any key to return
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
}else if( MState_inf.Step == STEP_CONFIG_PSWD_NEW ) {
//--->> new password
switch( key )
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
if( MState_msg[0] < 7 ){
MState_msg[0]++;
MState_msg[ (MState_msg[0]) ] = key;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_ENTER:
{
for(i=0; i<10; i++) MState_again[i] = 0;
MState_inf.Step = STEP_CONFIG_PSWD_AGAIN;
MState_inf.Fresh = FRESH_ON;
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Step == STEP_CONFIG_PSWD_AGAIN ) {
//--->>any password again
switch( key )
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
if( MState_again[0] < 7 ){
MState_again[0]++;
MState_again[ (MState_again[0]) ] = key;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_ENTER:
{
for(i=0; i<=(MState_msg[0]); i++){
if( MState_msg[i] != MState_again[i] ) break;
}
if( i>(MState_msg[0]) ){
MState_inf.Step = STEP_CONFIG_PSWD_SAVE;
MState_inf.Fresh = FRESH_ON;
}else{
MState_inf.Step = STEP_CONFIG_PSWD_PSER;
MState_inf.Fresh = FRESH_ON;
}
break;
}
case KEY_CLS:
{
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
break;
}
default:
break;
}
}else if( MState_inf.Step == STEP_CONFIG_PSWD_SAVE ) {
//--->>any password save
MState_inf.State = MACHINE_STATE_CONFIG;
MState_inf.Func = FUNC_CONFIG;
MState_inf.Fresh = FRESH_ON;
}
}
}
//-----------------------
void MState_switch_com(unsigned char key )
{
if( key == KEY_CLS ){
MState_inf.State = MACHINE_STATE_MAIN;
MState_inf.Func = FUNC_MAIN;
MState_inf.Fresh = FRESH_ON;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -