mirror of
https://github.com/JasonYANG170/logicanalyzer.git
synced 2024-11-23 12:06:27 +00:00
Merge pull request #85 from shawnferry/tenbit_i2c
Corrected 10 bit address mask
This commit is contained in:
commit
0db87d8797
|
@ -31,7 +31,7 @@ namespace I2CProtocolAnalyzer
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return new ProtocolAnalyzerSignal[]
|
return new ProtocolAnalyzerSignal[]
|
||||||
{
|
{
|
||||||
new ProtocolAnalyzerSignal{ Required = true, SignalName = "SCL" },
|
new ProtocolAnalyzerSignal{ Required = true, SignalName = "SCL" },
|
||||||
new ProtocolAnalyzerSignal{ Required = true, SignalName = "SDA" },
|
new ProtocolAnalyzerSignal{ Required = true, SignalName = "SDA" },
|
||||||
|
@ -79,16 +79,16 @@ namespace I2CProtocolAnalyzer
|
||||||
{
|
{
|
||||||
addressByte = false;
|
addressByte = false;
|
||||||
|
|
||||||
segment.Value += $"\r\nOp: {((value & 1) == 1 ? "Read" : "Write") }";
|
segment.Value += $"\r\nOp: {((value & 1) == 1 ? "Read" : "Write")}";
|
||||||
|
|
||||||
if ((value & 0xf8) == 0xf7)
|
if ((value & 0xf8) == 0xf0)
|
||||||
{
|
{
|
||||||
address10 = true;
|
address10 = true;
|
||||||
firstAddressByte = value;
|
firstAddressByte = value;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
segment.Value += $"\r\nAddress (7b): 0x{(value >> 1).ToString("X2")}";
|
segment.Value += $"\r\nAddress (7b): 0x{(value >> 1).ToString("X2")}";
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (address10)
|
else if (address10)
|
||||||
{
|
{
|
||||||
|
@ -105,7 +105,7 @@ namespace I2CProtocolAnalyzer
|
||||||
if (pos == -1)
|
if (pos == -1)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if(foundStartStop)
|
if (foundStartStop)
|
||||||
segments.Add(new ProtocolAnalyzerDataSegment { FirstSample = startPosition, LastSample = endPosition, Value = isStart ? "START" : "STOP" });
|
segments.Add(new ProtocolAnalyzerDataSegment { FirstSample = startPosition, LastSample = endPosition, Value = isStart ? "START" : "STOP" });
|
||||||
|
|
||||||
if (foundStartStop && !isStart)
|
if (foundStartStop && !isStart)
|
||||||
|
@ -216,7 +216,7 @@ namespace I2CProtocolAnalyzer
|
||||||
|
|
||||||
private int ReadByte(int pos, ProtocolAnalyzerSelectedChannel scl, ProtocolAnalyzerSelectedChannel sda, out int byteStart, out int byteEnd, out byte value, out bool ack, out bool frameError)
|
private int ReadByte(int pos, ProtocolAnalyzerSelectedChannel scl, ProtocolAnalyzerSelectedChannel sda, out int byteStart, out int byteEnd, out byte value, out bool ack, out bool frameError)
|
||||||
{
|
{
|
||||||
byteStart = 0; byteEnd = 0; value = 0; ack = false; frameError= false;
|
byteStart = 0; byteEnd = 0; value = 0; ack = false; frameError = false;
|
||||||
|
|
||||||
while (pos < scl.Samples.Length && scl.Samples[pos] == 1) //Find next low clock
|
while (pos < scl.Samples.Length && scl.Samples[pos] == 1) //Find next low clock
|
||||||
pos++;
|
pos++;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user