| | |
| | | #include "beep.h" |
| | | #include "modbus.h" |
| | | //#define DEBUG_OUTPUT |
| | | #define TDFILTER |
| | | #define CONSTANT_FILTER |
| | | /*------------------------------------ Marcos ------------------------------------------*/ |
| | | /* Inter-ranging delay period, in milliseconds. */ |
| | | #define RNG_DELAY_MS 100 |
| | |
| | | // min_power = - 10 * log10((F1 *F1 + F2 * F2 + F3 * F3) / (C *B)); |
| | | return min_power; |
| | | } |
| | | #define CONSTANT_LEN 50 |
| | | extern u16 dist_threshold; |
| | | int32_t ConstantFilter(int32_t currentdist,u8 channel) |
| | | { |
| | | static int32_t cs_lastdist[10],cs_lastvalid[10]; |
| | | static u8 cfstart_flag[10] = {1}; |
| | | static u8 constant_count[10] = {100}; |
| | | if(cfstart_flag[channel]) |
| | | { |
| | | cfstart_flag[channel] = 0; |
| | | cs_lastdist[channel] = currentdist; |
| | | } |
| | | if( abs(currentdist - cs_lastdist[channel])<100) |
| | | { |
| | | if(constant_count[channel]<CONSTANT_LEN) |
| | | constant_count[channel]++; |
| | | }else{ |
| | | constant_count[channel] = 0; |
| | | } |
| | | if(constant_count[channel] == CONSTANT_LEN) |
| | | { |
| | | cs_lastvalid[channel] = currentdist; |
| | | } |
| | | cs_lastdist[channel] = currentdist; |
| | | return cs_lastvalid[channel]; |
| | | } |
| | | |
| | | uint16_t g_Resttimer; |
| | | uint8_t result; |
| | | u8 tag_succ_times=0; |
| | |
| | | |
| | | int8_t correction_time; |
| | | extern uint8_t sync_seq; |
| | | #define TDFILTER |
| | | |
| | | //#define CHECK_UID |
| | | extern uint8_t UID_ERROR; |
| | | extern u16 dist_threshold; |
| | | |
| | | u8 misdist_num[TAG_NUM_IN_SYS]; |
| | | void Anchor_App(void) |
| | | { |
| | |
| | | #else |
| | | filter_dist=hex_dist/10; |
| | | #endif |
| | | |
| | | #ifdef CONSTANT_FILTER |
| | | filter_dist = ConstantFilter(filter_dist,tag_id_recv-TAG_ID_START); |
| | | #endif |
| | | anchor_dist_last_frm[tag_id_recv-TAG_ID_START]=filter_dist; |
| | | g_Tagdist[tag_id_recv]= filter_dist; |
| | | |
| | | |
| | | |
| | | his_dist[tag_id_recv-TAG_ID_START]=hex_dist; |
| | | g_flag_Taggetdist[tag_id_recv]=0; |
| | | if(!g_com_map[MODBUS_MODE]) |