54 lines
1.8 KiB
C#
54 lines
1.8 KiB
C#
using RTCSync.Utils;
|
|
|
|
namespace RTCSync.Models;
|
|
|
|
public class TimeModelBI
|
|
{
|
|
// 6 5 4 | 3 2 1 0
|
|
// 10 Seconds | Seconds
|
|
// 00 - 59
|
|
public static BitIndex[] SecondsBI { get; } = [new(1, 0..3)];
|
|
public static BitIndex[] TenSecondsBI { get; } = [new(1, 4..6)];
|
|
|
|
// 6 5 4 | 3 2 1 0
|
|
// 10 Minutes | Minutes
|
|
// 00 - 59
|
|
public static BitIndex[] MinutesBI { get; } = [new(2, 0..3)];
|
|
public static BitIndex[] TenMinutesBI { get; } = [new(2, 4..6)];
|
|
|
|
// 6 | 5 | 4 | 3 2 1 0
|
|
// 12/24 | 20 hour | 10 hour | Hour
|
|
// 1-12 + AM/PM
|
|
// 00 - 23
|
|
public static BitIndex[] HourBI { get; } = [new(3, 0..3)];
|
|
public static BitIndex[] TenHourBI { get; } = [new(3, 4..4)];
|
|
public static BitIndex[] TwentyHourBI { get; } = [new(3, 5..5)];
|
|
// When high - 12 hour format is selected
|
|
public static BitIndex[] HoursFormatBI { get; } = [new(3, 6..6)];
|
|
|
|
// 2 1 0
|
|
// Day
|
|
// 1 - 7
|
|
// 1 = Saturday, 2 = Monday
|
|
public static BitIndex[] DayOfWeekBI { get; } = [new(4, 0..3)];
|
|
|
|
// 5 4 | 3 2 1 0
|
|
// 10 Date | Date
|
|
// 01 - 31
|
|
public static BitIndex[] DateBI { get; } = [new(5, 0..4)];
|
|
public static BitIndex[] TenDateBI { get; } = [new(5, 4..5)];
|
|
|
|
// 7 | 4 | 3 2 1 0
|
|
// Century | 10 Month | Month
|
|
// 01 - 12 + Century
|
|
public static BitIndex[] MonthBI { get; } = [new(6, 0..3)];
|
|
public static BitIndex[] TenMonthBI { get; } = [new(6, 4..4)];
|
|
// High when the years register overflows from 99 to 00
|
|
public static BitIndex[] CenturyBI { get; } = [new(6, 7..7)];
|
|
|
|
// 7 6 5 4 | 3 2 1 0
|
|
// 10 Year | Year
|
|
// 0-99
|
|
public static BitIndex[] YearBI { get; } = [new(7, 0..3)];
|
|
public static BitIndex[] TenYearBI { get; } = [new(7, 4..7)];
|
|
} |