test4
Dependencies: mbed BufferedSerial LS7366LIB2 FastPWM
idle_check.h@2:14b52dee1c35, 2020-07-28 (annotated)
- 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?
User | Revision | Line number | New 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 |