forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-04-30 ee3c90168f81ce19529904d80f9c9de4fed23bb8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include "wireless_remote_comm.h"
#include "uart.h"
#include "gpio.h"
 
WRC_CTRL_PARA_T wrc_ctrl_para_g={.wrc_state=WRC_IDLE};
 
 
void WRC_PWR_GPIO_Init(void)
{
    OutputIO(WRC_PWR_PORT,WRC_PWR_PIN,OUT_PUSHPULL);
 
}
 
 
 
 
 
 
void WrcSendCreateLinkCmd(void)
{
    uint8_t buffer[255];
    
    
    //?·¢ËÍÄÚÈÝ´¦Àí
    
    
    WRC_SEND_NORMAL(buffer,205);
}
 
 
 
 
WRC_STATUS    WrcOpenPwrPro(void)
{
    
    WRC_PWR_GPIO_Init();
    WRC_PWR_ON;
    
    //?´®¿Ú³õʼ»¯
    
    return WRC_SEND_DATA;
}
 
WRC_STATUS    WrcCreateLinkPro(void)
{
    
    //?·¢ËÍÃüÁîʹģ¿éÓë·þÎñÆ÷½¨Á¢Á´½Ó
    
    
    return WRC_WAIT_REC_DATA;
}
 
 
WRC_STATUS    WrcSendDataPro(void)
{
    
    //?·¢ËÍÊý¾Ý´¦Àí
    
    
 
    return WRC_WAIT_REC_DATA;
}
 
WRC_STATUS    WrcWaitRecDataPro(void)
{
    
    //?·¢ËÍÊý¾Ý´¦Àí
    
    
 
    return WRC_SEND_DATA;
    
    return WRC_CLOSE_PWR;
    
}
 
 
WRC_STATUS    WrcClosePwrPro(void)
{
    
    //?·¢ËÍÊý¾Ý´¦Àí
    
    
 
    return WRC_IDLE; //¹Ø»úÍê±Ï£¬·µ»ØWRC_IDLE½áÊø±¾´ÎͨѶÁ÷³Ì
    
    return WRC_CLOSE_PWR; //¹Ø»úÒªµÈ´ýµÄ»°Ôò¼ÌÐø·µ»ØWRC_CLOSE_PWR
    
}
 
 
 
void WirelessRemoteCommPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p)
{
    
    //?·Ç485²É¼¯¡¢·§¿ØÆÚ¼ä²ÅÄܽøÈëͨѶÁ÷³Ì
    if((sys_fun_run_ctrl_p->wrc_ctrl_flag.start_flag ==SET)&&(sys_fun_run_ctrl_p->valve_ctrl_flag.running_flag == RESET)&&(sys_fun_run_ctrl_p->rs485_ctrl_flag.running_flag == RESET))//?ÅжÏ485²É¼¯±êʶ
    {
        sys_fun_run_ctrl_p->wrc_ctrl_flag.start_flag =RESET;
        if(wrc_ctrl_para_g.wrc_state == WRC_IDLE)
            wrc_ctrl_para_g.wrc_state = WRC_OPEN_PWR;
    }
    
    
    switch (wrc_ctrl_para_g.wrc_state){
                case WRC_IDLE:                    break;
                case WRC_OPEN_PWR:            wrc_ctrl_para_g.wrc_state = WrcOpenPwrPro()    ;break;
                case WRC_CREATE_LINK:        wrc_ctrl_para_g.wrc_state = WrcCreateLinkPro();break;
                case WRC_SEND_DATA:            wrc_ctrl_para_g.wrc_state = WrcSendDataPro();break;
        case WRC_WAIT_REC_DATA:    wrc_ctrl_para_g.wrc_state = WrcWaitRecDataPro();break;
        case WRC_CLOSE_PWR:            wrc_ctrl_para_g.wrc_state = WrcClosePwrPro();;break;
 
        default:;
    }
    
        
    if(wrc_ctrl_para_g.wrc_state==WRC_IDLE)
        sys_fun_run_ctrl_p->wrc_ctrl_flag.running_flag = RESET;
    else
        sys_fun_run_ctrl_p->wrc_ctrl_flag.running_flag = SET;
    
}