-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
106 lines (93 loc) · 2.26 KB
/
main.c
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
/* ========================================
*
* Copyright SABRINA BUTTON, 2020
* All Rights Reserved
* UNPUBLISHED, LICENSED SOFTWARE.
*
* CONFIDENTIAL AND PROPRIETARY INFORMATION
* WHICH IS THE PROPERTY OF SABRINA BUTTON.
*
* ========================================
*/
#include "project.h"
#include "control.h"
#define STOP 0
#define WAIT_STOP 1
#define FORWARD 2
#define MOVE_FORWARD 3
#define LEFT 4
#define TURN_LEFT 5
#define RIGHT 6
#define TURN_RIGHT 7
uint8 state;
int move_cnt;
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
struct MotorController mc;
mc._pwmL_Write = &pwmA_Write;
mc._pwmR_Write = &pwmB_Write;
mc._dirL_Write = &dirA_Write;
mc._dirR_Write = &dirB_Write;
for(;;)
{
/* Place your application code here. */
CyDelay(50);
switch (state)
{
case STOP: //Statements to execute
move_cnt = 100;
move(mc, 0,0);
state = WAIT_STOP;
break;
case WAIT_STOP:
move_cnt--;
if(move_cnt == 0) {
state = FORWARD;
}
break;
case FORWARD: //Statements to execute
move_cnt = 100;
move(mc, 255,255);
state = MOVE_FORWARD;
break;
case MOVE_FORWARD: //Statements to execute
move_cnt--;
// if == zero - then go forward
if(move_cnt == 0) {
state = LEFT;
}
break;
case LEFT:
move_cnt = 100;
move(mc, 255,0);
state = TURN_LEFT;
break;
case TURN_LEFT:
// decrement turn counter
move_cnt--;
// if == zero - then go forward
if(move_cnt == 0) {
state = RIGHT;
}
break;
case RIGHT:
move_cnt = 100;
move(mc, 0,255);
state = TURN_RIGHT;
break;
case TURN_RIGHT:
// decrement turn counter
move_cnt--;
// if == zero - then go forward
if(move_cnt == 0) {
state = FORWARD;
}
break;
default:
break;
}
}
}
/* [] END OF FILE */