// トラバース制御 private bool ControlTraversal() { var result = false; var ctlId = 0; var trvCtlr = new TraverseController(); // 制御ロジック // 1) 両耳高 if ((LeftTenStatus.TenAve > LeftTenStatus.TenMax) & (RightTenStatus.TenAve > RightTenStatus.TenMax)) { // オサ幅を狭くする(強) ctlId = 1; } // 2) 左耳高、右耳低 else if ((LeftTenStatus.TenAve > LeftTenStatus.TenMax) & (RightTenStatus.TenAve < RightTenStatus.TenMin)) { // オサ位置を右へ移動(強) ctlId = 2; } // 3) 左耳高 else if ((LeftTenStatus.TenAve > LeftTenStatus.TenMax) & (RightTenStatus.TenAve > RightTenStatus.TenMin) & (RightTenStatus.TenAve < RightTenStatus.TenMax)) { // オサ位置を右へ移動(弱) // オサ幅を狭める(弱) ctlId = 3; } // 4) 左耳低、右耳高 else if ((LeftTenStatus.TenAve < LeftTenStatus.TenMin) & (RightTenStatus.TenAve > RightTenStatus.TenMax)) { // オサ位置を左へ移動(強) ctlId = 4; } // 5) 右耳高 else if ((LeftTenStatus.TenAve < LeftTenStatus.TenMax) & (LeftTenStatus.TenAve > LeftTenStatus.TenMin) & (RightTenStatus.TenAve > RightTenStatus.TenMax)) { // オサ位置を左へ移動(弱) // オサ幅を狭める(弱) ctlId = 5; } // 6) 左耳低 else if ((LeftTenStatus.TenAve < LeftTenStatus.TenMin) & (RightTenStatus.TenAve > RightTenStatus.TenMin) & (RightTenStatus.TenAve < RightTenStatus.TenMax)) { // オサ幅を広げる(弱) // オサ位置を左へ移動(弱) ctlId = 6; } // 7) 右耳低 else if ((LeftTenStatus.TenAve < LeftTenStatus.TenMax) & (LeftTenStatus.TenAve > LeftTenStatus.TenMin) & (RightTenStatus.TenAve < RightTenStatus.TenMin)) { // オサ幅を広げる(弱) // オサ位置を右へ移動(弱) ctlId = 7; } // 8) 両耳低傾向 else if ((LeftTenStatus.TenAve < LeftTenStatus.TenMin) & (RightTenStatus.TenAve < RightTenStatus.TenMin)) { // オサ幅を広げる(強) ctlId = 8; } // 9) 正常範囲 else { // 制御なし ctlId = 9; } // 制御開始 result = trvCtlr.TraverseControl(IpAddressBox.Text, Int32.Parse(PortBox.ToString()), ctlId); // リセット ControlValueReset(); return(result); }