Merge pull request '[focas] FOCAS — PMC F/G letters for 16i' (#356) from auto/focas/F2-c into auto/driver-gaps
This commit was merged in pull request #356.
This commit is contained in:
@@ -97,11 +97,12 @@ public static class FocasCapabilityMatrix
|
|||||||
_ => (0, int.MaxValue),
|
_ => (0, int.MaxValue),
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>PMC letters accepted per series. Legacy controllers omit F/M/C
|
/// <summary>PMC letters accepted per series. Legacy 16i ladders use X/Y/F/G
|
||||||
/// signal groups that 30i-family ladder programs use.</summary>
|
/// for handshakes plus R/D for retained/data; M/C/E/A/K/T are the 0i-F /
|
||||||
|
/// 30i-family extensions.</summary>
|
||||||
internal static IReadOnlySet<string> PmcLetters(FocasCncSeries series) => series switch
|
internal static IReadOnlySet<string> PmcLetters(FocasCncSeries series) => series switch
|
||||||
{
|
{
|
||||||
FocasCncSeries.Sixteen_i => new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "X", "Y", "R", "D" },
|
FocasCncSeries.Sixteen_i => new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "X", "Y", "F", "G", "R", "D" },
|
||||||
FocasCncSeries.Zero_i_D => new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "X", "Y", "R", "D", "E", "A" },
|
FocasCncSeries.Zero_i_D => new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "X", "Y", "R", "D", "E", "A" },
|
||||||
FocasCncSeries.Zero_i_F or
|
FocasCncSeries.Zero_i_F or
|
||||||
FocasCncSeries.Zero_i_MF or
|
FocasCncSeries.Zero_i_MF or
|
||||||
|
|||||||
@@ -57,8 +57,9 @@ public sealed class FocasCapabilityMatrixTests
|
|||||||
[InlineData(FocasCncSeries.Sixteen_i, "X", true)]
|
[InlineData(FocasCncSeries.Sixteen_i, "X", true)]
|
||||||
[InlineData(FocasCncSeries.Sixteen_i, "Y", true)]
|
[InlineData(FocasCncSeries.Sixteen_i, "Y", true)]
|
||||||
[InlineData(FocasCncSeries.Sixteen_i, "R", true)]
|
[InlineData(FocasCncSeries.Sixteen_i, "R", true)]
|
||||||
[InlineData(FocasCncSeries.Sixteen_i, "F", false)] // 16i has no F/G signal groups
|
[InlineData(FocasCncSeries.Sixteen_i, "F", true)] // #265: F/G handshakes are documented on 16i ladders
|
||||||
[InlineData(FocasCncSeries.Sixteen_i, "G", false)]
|
[InlineData(FocasCncSeries.Sixteen_i, "G", true)]
|
||||||
|
[InlineData(FocasCncSeries.Sixteen_i, "M", false)] // M/C/K/T still 0i-F / 30i-only
|
||||||
[InlineData(FocasCncSeries.Sixteen_i, "K", false)]
|
[InlineData(FocasCncSeries.Sixteen_i, "K", false)]
|
||||||
[InlineData(FocasCncSeries.Zero_i_D, "E", true)] // widened since 0i-D
|
[InlineData(FocasCncSeries.Zero_i_D, "E", true)] // widened since 0i-D
|
||||||
[InlineData(FocasCncSeries.Zero_i_D, "F", false)] // still no F on 0i-D
|
[InlineData(FocasCncSeries.Zero_i_D, "F", false)] // still no F on 0i-D
|
||||||
|
|||||||
Reference in New Issue
Block a user