三色呼吸全灭后切换颜色
This commit is contained in:
@@ -171,6 +171,10 @@ void Mode0(){ //
|
||||
}
|
||||
|
||||
|
||||
#define THREE_COLOR_WAIT_NEUTRAL 6U
|
||||
#define THREE_COLOR_WAIT_COLD 7U
|
||||
#define THREE_COLOR_WAIT_WARM 8U
|
||||
|
||||
static uint8_t breathespeed_flag=0; //该变量只是用来处理三种颜色呼吸时候,对中性光的速度变大
|
||||
static void breathe_fun(uint16_t *PWM_1, uint16_t *PWM_2, uint8_t flag) {
|
||||
if (flag == 0) {
|
||||
@@ -231,10 +235,9 @@ void Mode1(){ //
|
||||
W_PWM -= 1;
|
||||
C_PWM = 0;
|
||||
if (W_PWM <= 1) {
|
||||
direction = 2;
|
||||
driveMode=0;
|
||||
W_PWM = 1;
|
||||
C_PWM = 1;
|
||||
direction = THREE_COLOR_WAIT_NEUTRAL;
|
||||
W_PWM = 0;
|
||||
C_PWM = 0;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -252,10 +255,9 @@ void Mode1(){ //
|
||||
W_PWM -= 1;
|
||||
C_PWM -= 1;
|
||||
if (W_PWM <=1) {
|
||||
driveMode=2;
|
||||
direction = 4;
|
||||
direction = THREE_COLOR_WAIT_COLD;
|
||||
W_PWM = 0;
|
||||
C_PWM = 1;
|
||||
C_PWM = 0;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -273,13 +275,43 @@ void Mode1(){ //
|
||||
W_PWM = 0;
|
||||
C_PWM -= 1;
|
||||
if (C_PWM <=1){
|
||||
direction = 0;
|
||||
driveMode=1;
|
||||
W_PWM = 1;
|
||||
direction = THREE_COLOR_WAIT_WARM;
|
||||
W_PWM = 0;
|
||||
C_PWM = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
case THREE_COLOR_WAIT_NEUTRAL:
|
||||
breathespeed_flag=1;
|
||||
W_PWM = 0;
|
||||
C_PWM = 0;
|
||||
if(W_PWM_duty == 0U && C_PWM_duty == 0U){
|
||||
driveMode=0;
|
||||
W_PWM = 1;
|
||||
C_PWM = 1;
|
||||
direction = 2;
|
||||
}
|
||||
break;
|
||||
case THREE_COLOR_WAIT_COLD:
|
||||
breathespeed_flag=0;
|
||||
W_PWM = 0;
|
||||
C_PWM = 0;
|
||||
if(W_PWM_duty == 0U && C_PWM_duty == 0U){
|
||||
driveMode=2;
|
||||
C_PWM = 1;
|
||||
direction = 4;
|
||||
}
|
||||
break;
|
||||
case THREE_COLOR_WAIT_WARM:
|
||||
breathespeed_flag=0;
|
||||
W_PWM = 0;
|
||||
C_PWM = 0;
|
||||
if(W_PWM_duty == 0U && C_PWM_duty == 0U){
|
||||
driveMode=1;
|
||||
W_PWM = 1;
|
||||
direction = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
//(void)0;/* transition */
|
||||
|
||||
Reference in New Issue
Block a user