private async void uc_bt_Save1_Click(object sender, EventArgs e) { string sec_id = cmbo_SectionID_Value.Text as string; E_DIRC_DRIV drive_dir = (E_DIRC_DRIV)cmbo_DriveDir_Value.SelectedItem; E_DIRC_GUID guide_dir = (E_DIRC_GUID)cmbo_GuideDir_Value.SelectedItem; E_AreaSensorDir area_sensor = (E_AreaSensorDir)cmbo_AreaSensor_Value.SelectedItem; //string seg_num = cmbo_SegmentNo_Value.Text; E_DIRC_GUID guide_dir_1 = (E_DIRC_GUID)cmbo_DirectionOfGuide1_Value.SelectedItem; E_DIRC_GUID guide_dir_2 = (E_DIRC_GUID)cmbo_DirectionOfGuide2_Value.SelectedItem; string segment_num_1 = cmbo_SegmentNumber1_Value.Text; string segment_num_2 = cmbo_SegmentNumber2_Value.Text; E_AreaSensorDir areaSensorDir_1 = (E_AreaSensorDir)cmbo_AreaSensor1_Value.SelectedItem; E_AreaSensorDir areaSensorDir_2 = (E_AreaSensorDir)cmbo_AreaSensor2_Value.SelectedItem; double section_distance = (double)(num_section_dis.Value * 10000); double section_speed = (double)(num_section_speed.Value * 100); bool CollisionAvoidance_ForwardStraight = ck_CA_Senser_Forward.Checked; bool CollisionAvoidance_RightStraight = skinCheckBox2.Checked; bool CollisionAvoidance_LeftStraight = skinCheckBox3.Checked; bool LaserSensor_ForwardStraight = skinCheckBox4.Checked; bool PresenceBlockingRequest = skinCheckBox5.Checked; bool PresenceAddressReport = skinCheckBox6.Checked; bool EnableChangeGuideArea = skinCheckBox7.Checked; bool PresenceHIDControl = skinCheckBox8.Checked; bool PresenceDiverge = skinCheckBox9.Checked; ASECTION sec = new ASECTION() { SEC_ID = sec_id, DIRC_DRIV = drive_dir, DIRC_GUID = guide_dir, AREA_SECSOR = area_sensor, CDOG_1 = guide_dir_1, CDOG_2 = guide_dir_2, CHG_SEG_NUM_1 = segment_num_1, CHG_SEG_NUM_2 = segment_num_2, SEC_DIS = section_distance, SEC_SPD = section_speed, PRE_BLO_REQ = PresenceBlockingRequest ? 1 : 0, //BRANCH_FLAG = PresenceDiverge }; ASECTION_CONTROL_100 sec_100 = new ASECTION_CONTROL_100() { SEC_ID = sec_id, CHG_AREA_SECSOR_1 = areaSensorDir_1, CHG_AREA_SECSOR_2 = areaSensorDir_2, OBS_SENSOR_F = CollisionAvoidance_ForwardStraight ? 1 : 0, OBS_SENSOR_R = CollisionAvoidance_RightStraight ? 1 : 0, OBS_SENSOR_L = CollisionAvoidance_LeftStraight ? 1 : 0, RANGE_SENSOR_F = LaserSensor_ForwardStraight ? 1 : 0, IS_ADR_RPT = PresenceAddressReport, CAN_GUIDE_CHG = EnableChangeGuideArea, HID_CONTROL = PresenceHIDControl, BRANCH_FLAG = PresenceDiverge }; bool isSuccess = false; await Task.Run(() => { isSuccess = dataSetting.updateSectionData(sec, sec_100); }); if (isSuccess) { VSection_100ObjToShow vsec = vsecs.Where(secShow => secShow.SEC_ID == sec_id).SingleOrDefault(); vsec.DIRC_DRIV = sec.DIRC_DRIV; vsec.DIRC_GUID = sec.DIRC_GUID; vsec.AREA_SECSOR = sec.AREA_SECSOR; vsec.CDOG_1 = sec.CDOG_1; vsec.CDOG_2 = sec.CDOG_2; vsec.CHG_SEG_NUM_1 = sec.CHG_SEG_NUM_1; vsec.CHG_SEG_NUM_2 = sec.CHG_SEG_NUM_2; vsec.SEC_DIS = sec.SEC_DIS; vsec.SEC_SPD = sec.SEC_SPD; vsec.PRE_BLO_REQ = sec.PRE_BLO_REQ; //vsec.PRE_DIV = sec.PRE_DIV; vsec.CHG_AREA_SECSOR_1 = sec_100.CHG_AREA_SECSOR_1; vsec.CHG_AREA_SECSOR_2 = sec_100.CHG_AREA_SECSOR_2; vsec.OBS_SENSOR_F = sec_100.OBS_SENSOR_F; vsec.OBS_SENSOR_R = sec_100.OBS_SENSOR_R; vsec.OBS_SENSOR_L = sec_100.OBS_SENSOR_L; vsec.RANGE_SENSOR_F = sec_100.RANGE_SENSOR_F; vsec.IS_ADR_RPT = sec_100.IS_ADR_RPT; vsec.CAN_GUIDE_CHG = sec_100.CAN_GUIDE_CHG; vsec.HID_CONTROL = sec_100.HID_CONTROL; vsec.BRANCH_FLAG = sec_100.BRANCH_FLAG; } }
private UInt16 convertvSec2ControlTable(VSection_100ObjToShow vSec) { return(convertvSec2ControlTable(int2Bool(vSec.PRE_BLO_REQ), vSec.BRANCH_FLAG, vSec.HID_CONTROL, vSec.CAN_GUIDE_CHG, vSec.IS_ADR_RPT, int2Bool(vSec.RANGE_SENSOR_F), int2Bool(vSec.OBS_SENSOR_F), int2Bool(vSec.OBS_SENSOR_R), int2Bool(vSec.OBS_SENSOR_L)));; }