void print(IntPtr sdkContext, BS2DstConfig config) { Console.WriteLine(">>>> Daylight saving time configuration "); Console.WriteLine(" |--numSchedules : {0}", config.numSchedules); for (int idx = 0; idx < BS2Envirionment.BS2_MAX_DST_SCHEDULE; idx++) { Console.WriteLine(" |--schedules[{0}]", idx); Console.WriteLine(" |--timeOffset : {0}", config.schedules[idx].timeOffset); Console.WriteLine(" |--startTime"); Console.WriteLine(" |--year : {0}", config.schedules[idx].startTime.year); Console.WriteLine(" |--month : {0}", config.schedules[idx].startTime.month); Console.WriteLine(" |--ordinal : {0}", config.schedules[idx].startTime.ordinal); Console.WriteLine(" |--weekDay : {0}", config.schedules[idx].startTime.weekDay); Console.WriteLine(" |--hour : {0}", config.schedules[idx].startTime.hour); Console.WriteLine(" |--minute : {0}", config.schedules[idx].startTime.minute); Console.WriteLine(" |--second : {0}", config.schedules[idx].startTime.second); Console.WriteLine(" |--endTime"); Console.WriteLine(" |--year : {0}", config.schedules[idx].endTime.year); Console.WriteLine(" |--month : {0}", config.schedules[idx].endTime.month); Console.WriteLine(" |--ordinal : {0}", config.schedules[idx].endTime.ordinal); Console.WriteLine(" |--weekDay : {0}", config.schedules[idx].endTime.weekDay); Console.WriteLine(" |--hour : {0}", config.schedules[idx].endTime.hour); Console.WriteLine(" |--minute : {0}", config.schedules[idx].endTime.minute); Console.WriteLine(" |--second : {0}", config.schedules[idx].endTime.second); } Console.WriteLine("<<<< "); }
public void setDstConfig(IntPtr sdkContext, UInt32 deviceID, bool isMasterDevice) { Console.WriteLine("How many daylight saving time schedules do you want to set? [1(default)-2]"); Console.Write(">>>> "); BS2DstConfig config = Util.AllocateStructure <BS2DstConfig>(); config.numSchedules = (byte)Util.GetInput(1); if (config.numSchedules < 0 || config.numSchedules > 2) { Console.WriteLine("Invalid parameter"); return; } for (int idx = 0; idx < config.numSchedules; ++idx) { Console.WriteLine("Configure DST schedule #{0}", idx); Console.WriteLine(" Enter the OFFSET of the time in seconds. [Ex) 3600 means it will add 1 hour after the DST starts.]"); Console.Write(">>>"); config.schedules[idx].timeOffset = (int)Util.GetInput(); Console.WriteLine(" Please enter the value for the STARTING TIME."); Console.WriteLine(" Enter the YEAR to start the DST schedule #{0}. [0(default) means every year]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.year = Util.GetInput((UInt16)0); Console.WriteLine(" Enter the MONTH to start the DST schedule #{0}. [0(Jan), 1(Feb), ... , 11(Dec)]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.month = (byte)Util.GetInput(); Console.WriteLine(" Enter the ORDINAL of the WEEK to start the DST schedule #{0}. [0(1st week), 1(2nd week), ... , -1(Last week)]", idx); Console.WriteLine(" The start of the week is based on Monday."); Console.Write(" >>>"); config.schedules[idx].startTime.ordinal = (sbyte)Util.GetInput(); Console.WriteLine(" Enter the DAY of the WEEK to start the DST schedule #{0}. [0(Sun), 1(Mon), ... , 6(Sat)]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.weekDay = (byte)Util.GetInput(); Console.WriteLine(" Enter the HOUR to start the DST schedule #{0}. [0 ~ 23]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.hour = (byte)Util.GetInput(); Console.WriteLine(" Enter the MINUTE to start the DST schedule #{0}. [0 ~ 59]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.minute = (byte)Util.GetInput(); Console.WriteLine(" Enter the SECOND to start the DST schedule #{0}. [0 ~ 59]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.second = (byte)Util.GetInput(); Console.WriteLine(" Please enter the value for the ENDING TIME."); Console.WriteLine(" Enter the YEAR to end the DST schedule #{0}. [0(default) means every year]", idx); Console.Write(" >>>"); config.schedules[idx].endTime.year = Util.GetInput((UInt16)0); Console.WriteLine(" Enter the MONTH to end the DST schedule #{0}. [0(Jan), 1(Feb), ... , 11(Dec)]", idx); Console.Write(" >>>"); config.schedules[idx].endTime.month = (byte)Util.GetInput(); Console.WriteLine(" Enter the ORDINAL of the WEEK to end the DST schedule #{0}. [0(1st week), 1(2nd week), ... , -1(Last week)]", idx); Console.WriteLine(" The start of the week is based on Monday."); Console.Write(" >>>"); config.schedules[idx].endTime.ordinal = (sbyte)Util.GetInput(); Console.WriteLine(" Enter the DAY of the WEEK to end the DST schedule #{0}. [0(Sun), 1(Mon), ... , 6(Sat)]", idx); Console.Write(" >>>"); config.schedules[idx].startTime.weekDay = (byte)Util.GetInput(); Console.WriteLine(" Enter the HOUR to end the DST schedule #{0}. [0 ~ 23]", idx); Console.Write(" >>>"); config.schedules[idx].endTime.hour = (byte)Util.GetInput(); Console.WriteLine(" Enter the MINUTE to end the DST schedule #{0}. [0 ~ 59]", idx); Console.Write(" >>>"); config.schedules[idx].endTime.minute = (byte)Util.GetInput(); Console.WriteLine(" Enter the SECOND to end the DST schedule #{0}. [0 ~ 59]", idx); Console.Write(" >>>"); config.schedules[idx].endTime.second = (byte)Util.GetInput(); } Console.WriteLine("Trying to set Daylight Saving Time configuration."); BS2ErrorCode result = (BS2ErrorCode)API.BS2_SetDstConfig(sdkContext, deviceID, ref config); if (result != BS2ErrorCode.BS_SDK_SUCCESS) { Console.WriteLine("Got error({0}).", result); return; } else { Console.WriteLine("Set DstConfig Succeeded"); } }