예제 #1
0
        private void RefreshStringToSmus()
        {
            UlBinSets sets = new UlBinSets(8);

            stringToSmus.Clear();
            smuSet.Select(recipeNo);

            for (int i = 0; i < smuSet.RowCount; i++)
            {
                smuSet.Fetch(i);
                sets.DDWord(0, smuSet.Sets);

                if (sets.DDWord(0) == 0)
                {
                    stringToSmus.Add(-1);
                }
                else
                {
                    for (int j = 0; j < sets.Count * 8; j++)
                    {
                        if (sets[j] == true)
                        {
                            stringToSmus.Add(j);
                        }
                    }
                }
            }
        }
예제 #2
0
        private string GetActiveSmus(Int64 slaveNo)
        {
            string        ret  = "";
            UInt64        smu  = 0;
            List <UInt64> smus = GetSmuSets();

            slaveLedSet.Select(slaveNo);

            if (slaveLedSet.Empty == false)
            {
                for (int i = 0; i < slaveLedSet.RowCount; i++)
                {
                    slaveLedSet.Fetch(i);

                    if (slaveLedSet.TurnOn == true)
                    {
                        smu |= smus[slaveLedSet.StrNo - 1];
                    }
                }
            }

            UlBinSets smuSets = new UlBinSets(8);

            smuSets.DDWord(0, smu);

            for (int i = 0; i < smuSets.Count * 8; i++)
            {
                if (smuSets[i] == true)
                {
                    if (ret == "")
                    {
                        ret = $"{i + 1}";
                    }
                    else
                    {
                        ret += $",{i + 1}";
                    }
                }
            }

            return(ret);
        }