예제 #1
0
파일: ihmssi.cs 프로젝트: WebGE/IHMSSI
                    /// <summary>
                    /// Write true or false on Led n (n = 0...7)
                    /// </summary>
                    /// <param name="state">true or false</param>
                    public void Write(bool state)
                    {
                        byte mask = 1; byte stateLeds;

                        mask = (byte)(mask << position);

                        if (state)
                        {
                            stateLeds = (byte)(leds.Read() & (byte)~mask);
                        }
                        else
                        {
                            stateLeds = (byte)(leds.Read() | mask);
                        }
                        leds.Write(stateLeds);
                    }
예제 #2
0
파일: ihmssi.cs 프로젝트: WebGE/IHMSSI
                    public bool Read()
                    {
                        byte value = buttons.Read();

                        if (position == (value & position))
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
예제 #3
0
파일: ihmssi.cs 프로젝트: WebGE/IHMSSI
                /// <summary>
                /// Reads and return state of all the IHMSSI board buttons
                /// </summary>
                /// <param name="BPEchap"></param>
                /// <param name="BPEnter"></param>
                /// <param name="BPOk"></param>
                /// <param name="BPSet"></param>
                /// <param name="BPMoins"></param>
                /// <param name="BPFleBas"></param>
                /// <param name="BPFleHaut"></param>
                /// <param name="BPPlus"></param>
                public void BPsRead(out bool BPEchap, out bool BPEnter, out bool BPOk, out bool BPSet, out bool BPMoins, out bool BPFleBas, out bool BPFleHaut, out bool BPPlus)
                {
                    byte EtatBp = BPs.Read();

                    BPEchap   = ((EtatBp & 128) == 128);
                    BPEnter   = !((EtatBp & 64) == 64);
                    BPOk      = ((EtatBp & 32) == 32);
                    BPSet     = ((EtatBp & 16) == 16);
                    BPMoins   = ((EtatBp & 8) == 8);
                    BPFleBas  = ((EtatBp & 4) == 4);
                    BPFleHaut = ((EtatBp & 2) == 2);
                    BPPlus    = ((EtatBp & 1) == 1);
                }