2019-12-06 21:09:52 +01:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
using Unosquare.RaspberryIO.Abstractions;
|
|
|
|
|
|
|
|
|
|
namespace Unosquare.WiringPi {
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The SPI Bus containing the 2 SPI channels.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class SpiBus : ISpiBus {
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public Int32 Channel0Frequency {
|
|
|
|
|
get; set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public Int32 Channel1Frequency {
|
|
|
|
|
get; set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public Int32 DefaultFrequency => 8000000;
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public ISpiChannel Channel0 {
|
|
|
|
|
get {
|
|
|
|
|
if(this.Channel0Frequency == 0) {
|
|
|
|
|
this.Channel0Frequency = this.DefaultFrequency;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SpiChannel.Retrieve(SpiChannelNumber.Channel0, this.Channel0Frequency);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
public ISpiChannel Channel1 {
|
|
|
|
|
get {
|
|
|
|
|
if(this.Channel1Frequency == 0) {
|
|
|
|
|
this.Channel1Frequency = this.DefaultFrequency;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SpiChannel.Retrieve(SpiChannelNumber.Channel1, this.Channel1Frequency);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-12-04 18:57:18 +01:00
|
|
|
|
}
|