Skip to content

Commit c5400b0

Browse files
authored
Adding ft232h samples (#6583)
1 parent 5589517 commit c5400b0

File tree

6 files changed

+113
-0
lines changed

6 files changed

+113
-0
lines changed

iot/ft232h/ft232h.gpio/Program.cs

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using System.Device.Gpio;
2+
using Iot.Device.Ft232H;
3+
using Iot.Device.FtCommon;
4+
5+
Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
6+
7+
var ft232h = new Ft232HDevice(FtCommon.GetDevices()[0]);
8+
var controller = ft232h.CreateGpioController();
9+
10+
int pin = Ft232HDevice.GetPinNumberFromString("D7");
11+
controller.OpenPin(pin, PinMode.Output);
12+
bool ledOn = true;
13+
while (true)
14+
{
15+
controller.Write(pin, ledOn ? PinValue.High : PinValue.Low);
16+
Thread.Sleep(1000);
17+
ledOn = !ledOn;
18+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="IoT.Device.Bindings" Version="3.1.0" />
12+
</ItemGroup>
13+
14+
</Project>

iot/ft232h/ft232h.i2c/Program.cs

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System.Device.I2c;
2+
using Iot.Device.Bmxx80;
3+
using Iot.Device.Bmxx80.PowerMode;
4+
using Iot.Device.Ft232H;
5+
using Iot.Device.FtCommon;
6+
7+
var devices = FtCommon.GetDevices();
8+
var ft232h = new Ft232HDevice(devices[0]);
9+
var i2cSettings = new I2cConnectionSettings(0, Bme280.SecondaryI2cAddress);
10+
11+
using var i2cDevice = ft232h.CreateI2cDevice(i2cSettings);
12+
using var bme280 = new Bme280(i2cDevice);
13+
14+
int measurementTime = bme280.GetMeasurementDuration();
15+
16+
while (true)
17+
{
18+
Console.Clear();
19+
20+
bme280.SetPowerMode(Bmx280PowerMode.Forced);
21+
Thread.Sleep(measurementTime);
22+
23+
bme280.TryReadTemperature(out var tempValue);
24+
bme280.TryReadPressure(out var preValue);
25+
bme280.TryReadHumidity(out var humValue);
26+
bme280.TryReadAltitude(out var altValue);
27+
28+
Console.WriteLine($"Temperature: {tempValue.DegreesCelsius:0.#}\u00B0C");
29+
Console.WriteLine($"Pressure: {preValue.Hectopascals:#.##} hPa");
30+
Console.WriteLine($"Relative humidity: {humValue.Percent:#.##}%");
31+
Console.WriteLine($"Estimated altitude: {altValue.Meters:#} m");
32+
33+
Thread.Sleep(1000);
34+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="IoT.Device.Bindings" Version="3.1.0" />
12+
</ItemGroup>
13+
14+
</Project>

iot/ft232h/ft232h.spi/Program.cs

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System.Device.Gpio;
2+
using System.Device.Spi;
3+
using Iot.Device.Adc;
4+
using Iot.Device.Ft232H;
5+
using Iot.Device.FtCommon;
6+
7+
var devices = FtCommon.GetDevices();
8+
var ft232h = new Ft232HDevice(devices[0]);
9+
var hardwareSpiSettings = new SpiConnectionSettings(0, 3) { ClockFrequency = 1_000_000, DataBitLength = 8, ChipSelectLineActiveState = PinValue.Low };
10+
using SpiDevice spi = ft232h.CreateSpiDevice(hardwareSpiSettings);
11+
using var mcp = new Mcp3008(spi);
12+
while (true)
13+
{
14+
Console.Clear();
15+
double value = mcp.Read(0);
16+
Console.WriteLine($"{value}");
17+
Console.WriteLine($"{Math.Round(value/10.23, 1)}%");
18+
Thread.Sleep(500);
19+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="IoT.Device.Bindings" Version="3.1.0" />
12+
</ItemGroup>
13+
14+
</Project>

0 commit comments

Comments
 (0)