コード例 #1
0
 internal void EngageMotor(OutputPort port, byte bitmaskUp, byte bitmaskDown, MotorEngagement engagement)
 {
   lock (this)
   {
     byte maskoff = (byte)~(bitmaskUp | bitmaskDown);
     byte newmask =
       engagement == MotorEngagement.Down ? bitmaskDown :
       engagement == MotorEngagement.Up ? bitmaskUp :
       (byte)0;
     byte newstate = (byte)((_latchState & maskoff) | newmask);
     UpdateLatchState(newstate);
     // Write non-0 value if motor should be engaged
     port.Write(engagement != MotorEngagement.Off);
   }
 }
コード例 #2
0
ファイル: Motor.cs プロジェクト: ricflams/Goke.ChickenHouse
 private void Engage(MotorEngagement engagement)
 {
   _shield.EngageMotor(_port, _bitmaskUp, _bitmaskDown, engagement);
 }