Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
Characteristic | Locus |
---|---|
Inheritance | object > Tsc2004 |
Implements | II2cPeripheral |
Inherited Members | object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() |
Namespace | Meadow.Foundation.Sensors.Hid |
Assembly | Tsc2004.dll |
Syntax
public class Tsc2004 : II2cPeripheral
Constructors
Tsc2004(II2cBus, byte)
Create a new Tsc2004 object
Declaration
public Tsc2004(II2cBus i2cBus, byte address = 75)
Parameters
Type | Name | Description |
---|---|---|
II2cBus | i2cBus | The I2C bus |
byte | address | The I2C address |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
Fields
i2cComms
I2C Communication bus used to communicate with the peripheral
Declaration
protected readonly II2cCommunications i2cComms
Field Value
Type | Description |
---|---|
II2cCommunications |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
Properties
DefaultI2cAddress
The default I2C address for the peripheral
Declaration
public byte DefaultI2cAddress { get; }
Property Value
Type | Description |
---|---|
byte |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
DisplayHeight
Height of display in pixels at default rotation
Declaration
public int DisplayHeight { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
DisplayWidth
Width of display in pixels at default rotation
Declaration
public int DisplayWidth { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
Rotation
Touchscreen rotation
Declaration
public RotationType Rotation { get; set; }
Property Value
Type | Description |
---|---|
RotationType |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
XMax
Maximum X value of touchscreen (defaults to 3567)
Declaration
public int XMax { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
XMin
Minimum X value of touchscreen (defaults to 366)
Declaration
public int XMin { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
YMax
Maximum Y value of touchscreen (defaults to 3787)
Declaration
public int YMax { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
YMin
Minimum Y value of touchscreen (defaults to 334)
Declaration
public int YMin { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
Methods
GetPoint()
Get the current scaled touch location
Declaration
public Point3d GetPoint()
Returns
Type | Description |
---|---|
Point3d |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
GetPointRaw()
Get the current raw touch location
Declaration
public Point3d GetPointRaw()
Returns
Type | Description |
---|---|
Point3d |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
IsBufferEmpty()
Is the touch buffer empty
Declaration
public bool IsBufferEmpty()
Returns
Type | Description |
---|---|
bool | True if empty |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |
IsTouched()
Does the screen detect an active touch
Declaration
public bool IsTouched()
Returns
Type | Description |
---|---|
bool | True if touched |
Remarks
Tsc2004 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Tsc2004 touchScreen;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
var i2cBus = Device.CreateI2cBus(I2cBusSpeed.Fast);
touchScreen = new Tsc2004(i2cBus)
{
DisplayWidth = 240,
DisplayHeight = 320,
XMin = 260,
XMax = 3803,
YMin = 195,
YMax = 3852,
Rotation = RotationType._90Degrees
};
return Task.CompletedTask;
}
public override Task Run()
{
return Task.Run(() =>
{
Point3d pt;
while (true)
{
if (touchScreen.IsTouched())
{
pt = touchScreen.GetPoint();
Resolver.Log.Info($"Location: X:{pt.X}, Y:{pt.Y}, Z:{pt.Z}");
}
Thread.Sleep(0);
}
});
}
Sample project(s) available on GitHub
Wiring Example
To wire a Tsc2004 to your Meadow board, connect the following:
Tsc2004 | Meadow Pin |
---|---|
GND | GND |
SCL | D08 (SCL) |
SDA | D07 (SDA) |
VCC | 3V3 |