test4

Dependencies:   mbed BufferedSerial LS7366LIB2 FastPWM

Committer:
lsh3146
Date:
Tue Jul 28 01:42:16 2020 +0000
Revision:
2:14b52dee1c35
Parent:
1:7b5469bf5994
Child:
3:7b195612e26d
work

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gohgwaja 1:7b5469bf5994 1 #ifndef _IDLE_CHECK_H_
gohgwaja 1:7b5469bf5994 2 #define _IDLE_CHECK_H_
gohgwaja 1:7b5469bf5994 3
gohgwaja 1:7b5469bf5994 4 #include "encoder.h"
gohgwaja 1:7b5469bf5994 5
gohgwaja 1:7b5469bf5994 6
lsh3146 2:14b52dee1c35 7 #define IDLE_CHECK_CNT 400 //loop(2.5ms) * IDLE_CHECK_CNT = idle check time
gohgwaja 1:7b5469bf5994 8
gohgwaja 1:7b5469bf5994 9
gohgwaja 1:7b5469bf5994 10 uint8_t idle_check_var[100] = {0, };
gohgwaja 1:7b5469bf5994 11 int idle_enc_data[6] = {0, };
gohgwaja 1:7b5469bf5994 12
gohgwaja 1:7b5469bf5994 13 uint32_t idle_cnt = 0;
gohgwaja 1:7b5469bf5994 14 bool idle_state = false;
gohgwaja 1:7b5469bf5994 15
gohgwaja 1:7b5469bf5994 16 void Idle_Check_Init();
gohgwaja 1:7b5469bf5994 17 bool Idle_Check();
gohgwaja 1:7b5469bf5994 18
gohgwaja 1:7b5469bf5994 19
gohgwaja 1:7b5469bf5994 20 void Idle_Check_Init()
gohgwaja 1:7b5469bf5994 21 {
gohgwaja 1:7b5469bf5994 22 for(int i = 0; i < 100; i++)
gohgwaja 1:7b5469bf5994 23 {
gohgwaja 1:7b5469bf5994 24 idle_check_var[i] = command[i];
gohgwaja 1:7b5469bf5994 25 }
gohgwaja 1:7b5469bf5994 26 }
gohgwaja 1:7b5469bf5994 27
gohgwaja 1:7b5469bf5994 28 void Idle_Enc_Check()
gohgwaja 1:7b5469bf5994 29 {
gohgwaja 1:7b5469bf5994 30 idle_enc_data[0] = encoder_data[0];
gohgwaja 1:7b5469bf5994 31 idle_enc_data[1] = encoder_data[1];
gohgwaja 1:7b5469bf5994 32 idle_enc_data[2] = encoder_data[2];
gohgwaja 1:7b5469bf5994 33 idle_enc_data[3] = encoder_data[3];
gohgwaja 1:7b5469bf5994 34 idle_enc_data[4] = encoder_data[4];
gohgwaja 1:7b5469bf5994 35 idle_enc_data[5] = encoder_data[5];
gohgwaja 1:7b5469bf5994 36 }
gohgwaja 1:7b5469bf5994 37
gohgwaja 1:7b5469bf5994 38 bool Idle_Check()
gohgwaja 1:7b5469bf5994 39 {
gohgwaja 1:7b5469bf5994 40 bool same_command_data = true;
gohgwaja 1:7b5469bf5994 41
gohgwaja 1:7b5469bf5994 42 for(int i = 0; i < 100; i++)
gohgwaja 1:7b5469bf5994 43 {
gohgwaja 1:7b5469bf5994 44 if(idle_check_var[i] != command[i])
gohgwaja 1:7b5469bf5994 45 {
gohgwaja 1:7b5469bf5994 46 idle_check_var[i] = command[i];
gohgwaja 1:7b5469bf5994 47 same_command_data = false;
gohgwaja 1:7b5469bf5994 48 }
gohgwaja 1:7b5469bf5994 49 }
gohgwaja 1:7b5469bf5994 50
gohgwaja 1:7b5469bf5994 51 if(same_command_data == false)
gohgwaja 1:7b5469bf5994 52 {
gohgwaja 1:7b5469bf5994 53 idle_cnt = 0;
gohgwaja 1:7b5469bf5994 54 }
gohgwaja 1:7b5469bf5994 55 else
gohgwaja 1:7b5469bf5994 56 {
gohgwaja 1:7b5469bf5994 57 idle_cnt++;
gohgwaja 1:7b5469bf5994 58 }
gohgwaja 1:7b5469bf5994 59
gohgwaja 1:7b5469bf5994 60 if(idle_cnt >= IDLE_CHECK_CNT)
gohgwaja 1:7b5469bf5994 61 {
gohgwaja 1:7b5469bf5994 62 return true;
gohgwaja 1:7b5469bf5994 63 }
gohgwaja 1:7b5469bf5994 64
gohgwaja 1:7b5469bf5994 65 return false;
gohgwaja 1:7b5469bf5994 66 }
gohgwaja 1:7b5469bf5994 67
gohgwaja 1:7b5469bf5994 68 #endif