FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
Loading...
Searching...
No Matches
devices::mcp3x0x Namespace Reference

Defines the API for MicroChip ADC chips family support. More...

Classes

class  MCP3x0x
 Generic class to support (almost) any chip of the SPI-based MicroChip ADC chips family (MCP3001-2-4-8, MCP3201-2-4-8, MCP3301-2-4). More...
 

Typedefs

template<board::DigitalPin CS>
using MCP3001 = MCP3x0x< CS, MCP3001Channel, 0x1FF8, 3 >
 Device class supporting MCP3001 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3002 = MCP3x0x< CS, MCP3002Channel, 0x03FF, 0 >
 Device class supporting MCP3002 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3004 = MCP3x0x< CS, MCP3004Channel, 0x03FF, 0 >
 Device class supporting MCP3004 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3008 = MCP3x0x< CS, MCP3008Channel, 0x03FF, 0 >
 Device class supporting MCP3008 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3201 = MCP3x0x< CS, MCP3201Channel, 0x1FFE, 1 >
 Device class supporting MCP3201 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3202 = MCP3x0x< CS, MCP3202Channel, 0x0FFF, 0 >
 Device class supporting MCP3202 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3204 = MCP3x0x< CS, MCP3204Channel, 0x0FFF, 0 >
 Device class supporting MCP3204 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3208 = MCP3x0x< CS, MCP3208Channel, 0x0FFF, 0 >
 Device class supporting MCP3208 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3301 = MCP3x0x< CS, MCP3301Channel, 0x1FFF, 0, int16_t >
 Device class supporting MCP3301 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3302 = MCP3x0x< CS, MCP3302Channel, 0x1FFF, 0, int16_t >
 Device class supporting MCP3302 ADC chip. More...
 
template<board::DigitalPin CS>
using MCP3304 = MCP3x0x< CS, MCP3304Channel, 0x0FFF, 0 >
 Device class supporting MCP3304 ADC chip. More...
 

Enumerations

enum class  MCP3001Channel : uint8_t { CH0 = 0x00 }
 List of channels supported by MCP3001. More...
 
enum class  MCP3002Channel : uint8_t {
  CH0 = 0x40 ,
  CH1 = 0x50 ,
  CH0_CH1 = 0x60 ,
  CH1_CH0 = 0x70
}
 List of channels supported by MCP3002. More...
 
enum class  MCP3004Channel : uint16_t {
  CH0 = 0x0180 ,
  CH1 = 0x0190 ,
  CH2 = 0x01A0 ,
  CH3 = 0x01B0 ,
  CH0_CH1 = 0x0100 ,
  CH1_CH0 = 0x0110 ,
  CH2_CH3 = 0x0120 ,
  CH3_CH2 = 0x0130
}
 List of channels supported by MCP3004. More...
 
enum class  MCP3008Channel : uint16_t {
  CH0 = 0x0180 ,
  CH1 = 0x0190 ,
  CH2 = 0x01A0 ,
  CH3 = 0x01B0 ,
  CH4 = 0x01C0 ,
  CH5 = 0x01D0 ,
  CH6 = 0x01E0 ,
  CH7 = 0x01F0 ,
  CH0_CH1 = 0x0100 ,
  CH1_CH0 = 0x0110 ,
  CH2_CH3 = 0x0120 ,
  CH3_CH2 = 0x0130 ,
  CH4_CH5 = 0x0140 ,
  CH5_CH4 = 0x0150 ,
  CH6_CH7 = 0x0160 ,
  CH7_CH6 = 0x0170
}
 List of channels supported by MCP3008. More...
 
enum class  MCP3201Channel : uint8_t { CH0 = 0x00 }
 List of channels supported by MCP3201. More...
 
enum class  MCP3202Channel : uint16_t {
  CH0 = 0x0180 ,
  CH1 = 0x01C0 ,
  CH0_CH1 = 0x0100 ,
  CH1_CH0 = 0x0140
}
 List of channels supported by MCP3202. More...
 
enum class  MCP3204Channel : uint16_t {
  CH0 = 0x0600 ,
  CH1 = 0x0640 ,
  CH2 = 0x0680 ,
  CH3 = 0x06C0 ,
  CH0_CH1 = 0x0400 ,
  CH1_CH0 = 0x0440 ,
  CH2_CH3 = 0x0480 ,
  CH3_CH2 = 0x04C0
}
 List of channels supported by MCP3204. More...
 
enum class  MCP3208Channel : uint16_t {
  CH0 = 0x0600 ,
  CH1 = 0x0640 ,
  CH2 = 0x0680 ,
  CH3 = 0x06C0 ,
  CH4 = 0x0700 ,
  CH5 = 0x0740 ,
  CH6 = 0x0780 ,
  CH7 = 0x07C0 ,
  CH0_CH1 = 0x0400 ,
  CH1_CH0 = 0x0440 ,
  CH2_CH3 = 0x0480 ,
  CH3_CH2 = 0x04C0 ,
  CH4_CH5 = 0x0500 ,
  CH5_CH4 = 0x0540 ,
  CH6_CH7 = 0x0580 ,
  CH7_CH6 = 0x05C0
}
 List of channels supported by MCP3208. More...
 
enum class  MCP3301Channel : uint8_t { DIFF = 0x00 }
 List of channels supported by MCP3301. More...
 
enum class  MCP3302Channel : uint16_t {
  CH0 = 0x0C00 ,
  CH1 = 0x0C80 ,
  CH2 = 0x0D00 ,
  CH3 = 0x0D80 ,
  CH0_CH1 = 0x0800 ,
  CH1_CH0 = 0x0880 ,
  CH2_CH3 = 0x0900 ,
  CH3_CH2 = 0x0980
}
 List of channels supported by MCP3302. More...
 
enum class  MCP3304Channel : uint16_t {
  CH0 = 0x0C00 ,
  CH1 = 0x0C80 ,
  CH2 = 0x0D00 ,
  CH3 = 0x0D80 ,
  CH4 = 0x0E00 ,
  CH5 = 0x0E80 ,
  CH6 = 0x0F00 ,
  CH7 = 0x0F80 ,
  CH0_CH1 = 0x0800 ,
  CH1_CH0 = 0x0880 ,
  CH2_CH3 = 0x0900 ,
  CH3_CH2 = 0x0980 ,
  CH4_CH5 = 0x0A00 ,
  CH5_CH4 = 0x0A80 ,
  CH6_CH7 = 0x0B00 ,
  CH7_CH6 = 0x0B80
}
 List of channels supported by MCP3304. More...
 

Detailed Description

Defines the API for MicroChip ADC chips family support.

Typedef Documentation

◆ MCP3001

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3001 = typedef MCP3x0x<CS, MCP3001Channel, 0x1FF8, 3>

Device class supporting MCP3001 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3002
MCP3004
MCP3008

Definition at line 45 of file mcp3001.h.

◆ MCP3002

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3002 = typedef MCP3x0x<CS, MCP3002Channel, 0x03FF, 0>

Device class supporting MCP3002 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3001
MCP3004
MCP3008

Definition at line 49 of file mcp3002.h.

◆ MCP3004

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3004 = typedef MCP3x0x<CS, MCP3004Channel, 0x03FF, 0>

Device class supporting MCP3004 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3001
MCP3002
MCP3008

Definition at line 53 of file mcp3004.h.

◆ MCP3008

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3008 = typedef MCP3x0x<CS, MCP3008Channel, 0x03FF, 0>

Device class supporting MCP3008 ADC chip.

See also
MCP3001
MCP3002
MCP3004

Definition at line 60 of file mcp3008.h.

◆ MCP3201

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3201 = typedef MCP3x0x<CS, MCP3201Channel, 0x1FFE, 1>

Device class supporting MCP3201 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3202
MCP3204
MCP3208

Definition at line 45 of file mcp3201.h.

◆ MCP3202

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3202 = typedef MCP3x0x<CS, MCP3202Channel, 0x0FFF, 0>

Device class supporting MCP3202 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3201
MCP3204
MCP3208

Definition at line 49 of file mcp3202.h.

◆ MCP3204

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3204 = typedef MCP3x0x<CS, MCP3204Channel, 0x0FFF, 0>

Device class supporting MCP3204 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3201
MCP3202
MCP3208

Definition at line 53 of file mcp3204.h.

◆ MCP3208

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3208 = typedef MCP3x0x<CS, MCP3208Channel, 0x0FFF, 0>

Device class supporting MCP3208 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3201
MCP3202
MCP3204

Definition at line 62 of file mcp3208.h.

◆ MCP3301

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3301 = typedef MCP3x0x<CS, MCP3301Channel, 0x1FFF, 0, int16_t>

Device class supporting MCP3301 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3302
MCP3304

Definition at line 44 of file mcp3301.h.

◆ MCP3302

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3302 = typedef MCP3x0x<CS, MCP3302Channel, 0x1FFF, 0, int16_t>

Device class supporting MCP3302 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3301
MCP3304

Definition at line 52 of file mcp3302.h.

◆ MCP3304

template<board::DigitalPin CS>
using devices::mcp3x0x::MCP3304 = typedef MCP3x0x<CS, MCP3304Channel, 0x0FFF, 0>

Device class supporting MCP3304 ADC chip.

Warning
Support for this device has not been tested by author.
See also
MCP3301
MCP3302

Definition at line 60 of file mcp3304.h.

Enumeration Type Documentation

◆ MCP3001Channel

enum class devices::mcp3x0x::MCP3001Channel : uint8_t
strong

List of channels supported by MCP3001.

Definition at line 31 of file mcp3001.h.

◆ MCP3002Channel

enum class devices::mcp3x0x::MCP3002Channel : uint8_t
strong

List of channels supported by MCP3002.

Definition at line 31 of file mcp3002.h.

◆ MCP3004Channel

enum class devices::mcp3x0x::MCP3004Channel : uint16_t
strong

List of channels supported by MCP3004.

Definition at line 31 of file mcp3004.h.

◆ MCP3008Channel

enum class devices::mcp3x0x::MCP3008Channel : uint16_t
strong

List of channels supported by MCP3008.

Definition at line 31 of file mcp3008.h.

◆ MCP3201Channel

enum class devices::mcp3x0x::MCP3201Channel : uint8_t
strong

List of channels supported by MCP3201.

Definition at line 31 of file mcp3201.h.

◆ MCP3202Channel

enum class devices::mcp3x0x::MCP3202Channel : uint16_t
strong

List of channels supported by MCP3202.

Definition at line 31 of file mcp3202.h.

◆ MCP3204Channel

enum class devices::mcp3x0x::MCP3204Channel : uint16_t
strong

List of channels supported by MCP3204.

Definition at line 31 of file mcp3204.h.

◆ MCP3208Channel

enum class devices::mcp3x0x::MCP3208Channel : uint16_t
strong

List of channels supported by MCP3208.

Definition at line 31 of file mcp3208.h.

◆ MCP3301Channel

enum class devices::mcp3x0x::MCP3301Channel : uint8_t
strong

List of channels supported by MCP3301.

Definition at line 31 of file mcp3301.h.

◆ MCP3302Channel

enum class devices::mcp3x0x::MCP3302Channel : uint16_t
strong

List of channels supported by MCP3302.

Definition at line 31 of file mcp3302.h.

◆ MCP3304Channel

enum class devices::mcp3x0x::MCP3304Channel : uint16_t
strong

List of channels supported by MCP3304.

Definition at line 31 of file mcp3304.h.