namespace Unosquare.RaspberryIO.Computer {
///
/// Defines the board revision codes of the different versions of the Raspberry Pi
/// http://www.raspberrypi-spy.co.uk/2012/09/checking-your-raspberry-pi-board-version/.
/// https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md.
///
public enum PiVersion {
///
/// The unknown version
///
Unknown = 0,
///
/// The model B Rev1
///
ModelBRev1 = 0x0002,
///
/// The model B Rev1 ECN0001
///
ModelBRev1ECN0001 = 0x0003,
///
/// The model B Rev2 Sony
///
ModelBRev2x04 = 0x0004,
///
/// The model B Rev2 Qisda
///
ModelBRev2x05 = 0x0005,
///
/// The model B Rev2 Egoman
///
ModelBRev2x06 = 0x0006,
///
/// The model A Rev2 Egoman
///
ModelAx07 = 0x0007,
///
/// The model A Rev2 Sony
///
ModelAx08 = 0x0008,
///
/// The model A Rev2 Qisda
///
ModelAx09 = 0x0009,
///
/// The model B Rev2 (512MB) Egoman
///
ModelBRev2x0d = 0x000d,
///
/// The model B Rev2 (512MB) Sony
///
ModelBRev2x0e = 0x000e,
///
/// The model B Rev2 (512MB) Egoman
///
ModelBRev2x0f = 0x000f,
///
/// The model B+ Rev1 Sony
///
ModelBPlus0x10 = 0x0010,
///
/// The compute module 1 Sony
///
ComputeModule0x11 = 0x0011,
///
/// The model A+ Rev1.1 Sony
///
ModelAPlus0x12 = 0x0012,
///
/// The model B+ Rev1.2 Embest
///
ModelBPlus0x13 = 0x0013,
///
/// The compute module 1 Embest
///
ComputeModule0x14 = 0x0014,
///
/// The model A+ Rev1.1 Embest
///
ModelAPlus0x15 = 0x0015,
///
/// The model A+ Rev1.1 (512MB) Sony
///
ModelAPlus1v1Sony = 900021,
///
/// The model B+ Rev1.2 sony
///
ModelBPlus1v2Sony = 900032,
///
/// The Pi Zero Rev1.2 Sony
///
PiZero1v2 = 0x900092,
///
/// The Pi Zero Rev1.3 SOny
///
PiZero1v3 = 0x900093,
///
/// The Pi Zero W Rev1.1
///
PiZeroW = 0x9000c1,
///
/// The Pi 3 model A+ Sony
///
Pi3ModelAPlus = 0x9020e0,
///
/// The Pi Zero Rev1.2 Embest
///
PiZero1v2Embest = 0x920092,
///
/// The Pi Zero Rev1.3 Embest
///
PiZero1v3Embest = 0x920093,
///
/// The Pi 2 model B Rev1.0 Sony
///
Pi2ModelB1v0Sony = 0xa01040,
///
/// The Pi 2 model B Rev1.1 Sony
///
Pi2ModelB1v1Sony = 0xa01041,
///
/// The Pi 3 model B Rev1.2 Sony
///
Pi3ModelBSony = 0xa02082,
///
/// The compute module 3 Rev1.0 Sony
///
ComputeModule3Sony = 0xa020a0,
///
/// The Pi 3 model B+ Rev1.3 Sony
///
Pi3ModelBPlusSony = 0xa020d3,
///
/// The Pi 2 model B Rev1.1 Embest
///
Pi2ModelB1v1Embest = 0xa21041,
///
/// The Pi 2 model B Rev1.2 Embest
///
Pi2ModelB1v2 = 0xa22042,
///
/// The Pi 3 model B Rev1.2 Embest
///
Pi3ModelBEmbest = 0xa22082,
///
/// The compute module 3 Rev1.0 Embest
///
ComputeModule3Embest = 0xa220a0,
///
/// The Pi 3 model B Rev1.2 Sony Japan
///
Pi3ModelBSonyJapan = 0xa32082,
///
/// The Pi 3 model B Rev1.2 Stadium
///
Pi3ModelBStadium = 0xa52082,
///
/// The compute module 3+ Rev 1.0 Sony
///
ComputeModule3PlusSony = 0xa02100,
///
/// The Pi 4 model B 1GB, Sony
///
Pi4ModelB1Gb = 0xa03111,
///
/// The Pi 4 model B 2GB, Sony
///
Pi4ModelB2Gb = 0xb03111,
///
/// The Pi 4 model B 4GB, Sony
///
Pi4ModelB4Gb = 0xc03111,
}
///
/// Defines the board model accordingly to new-style revision codes.
///
public enum BoardModel {
///
/// Model A
///
ModelA = 0,
///
/// Model B
///
ModelB = 1,
///
/// Model A+
///
ModelAPlus = 2,
///
/// Model B+
///
ModelBPlus = 3,
///
/// Model 2B
///
Model2B = 4,
///
/// Alpha (early prototype)
///
Alpha = 5,
///
/// Compute Module 1
///
CM1 = 6,
///
/// Model 3B
///
Model3B = 8,
///
/// Model Zero
///
Zero = 9,
///
/// Compute Module 3
///
CM3 = 0xa,
///
/// Model Zero W
///
ZeroW = 0xc,
///
/// Model 3B+
///
Model3BPlus = 0xd,
///
/// Model 3A+
///
Model3APlus = 0xe,
///
/// Reserved (Internal use only)
///
InternalUse = 0xf,
///
/// Compute Module 3+
///
CM3Plus = 0x10,
///
/// Model 4B
///
Model4B = 0x11,
}
///
/// Defines the processor model accordingly to new-style revision codes.
///
public enum ProcessorModel {
///
/// The BCMM2835 processor.
///
BCM2835,
///
/// The BCMM2836 processor.
///
BCM2836,
///
/// The BCMM2837 processor.
///
BCM2837,
///
/// The BCM2711 processor.
///
BCM2711,
}
///
/// Defines the manufacturer accordingly to new-style revision codes.
///
public enum Manufacturer {
///
/// Sony UK
///
SonyUK,
///
/// Egoman
///
Egoman,
///
/// Embest
///
Embest,
///
/// Sony Japan
///
SonyJapan,
///
/// Embest
///
Embest2,
///
/// Stadium
///
Stadium,
}
///
/// Defines the memory size accordingly to new-style revision codes.
///
public enum MemorySize {
///
/// 256 MB
///
Memory256,
///
/// 512 MB
///
Memory512,
///
/// 1 GB
///
Memory1024,
///
/// 2 GB
///
Memory2048,
///
/// 4 GB
///
Memory4096,
}
}