Esempio n. 1
0
        private void sort_process()
        {
            if (flag_sort_type == MSG_SORT.NONE)
            {
                return;
            }
            int len = 0;

            for (int i = 0; i < GetCanBufLen(); i++)
            {
                if (GetCanBufData(i).id > 0)
                {
                    len = i;
                }
            }
            for (int i = 0; i < len; i++)
            {
                for (int j = 0; j < len; j++)
                {
                    if (flag_sort_type == MSG_SORT.ID)
                    {
                        if (can_buf[j].id > can_buf[j + 1].id)
                        {
                            Can_Data_Change(ref can_buf[j], ref can_buf[j + 1]);
                        }
                    }
                    else if (flag_sort_type == MSG_SORT.PERIOD)
                    {
                        if (can_buf[j + 1].period > can_buf[j].period * 1.2)
                        {
                            Can_Data_Change(ref can_buf[j], ref can_buf[j + 1]);
                        }
                        else if (can_buf[j + 1].period > can_buf[j].period * 0.8)
                        {
                            if (can_buf[j].id > can_buf[j + 1].id)
                            {
                                Can_Data_Change(ref can_buf[j], ref can_buf[j + 1]);
                            }
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
            flag_sort_type = MSG_SORT.NONE;
        }
Esempio n. 2
0
        public SysCan()
        {
            version        = null;
            flag_monitor   = false;
            flag_overflow  = false;
            flag_rx_msg    = false;
            flag_sort_type = MSG_SORT.NONE;

            can_tmp.data = new byte[8];
            can_buf      = new Can_Data[can_buf_len];
            for (int i = 0; i < can_buf_len; i++)
            {
                can_buf[i].id   = -1;
                can_buf[i].data = new byte[8];
            }
        }
Esempio n. 3
0
 public void list_sort(MSG_SORT type)
 {
     flag_sort_type = type;
 }