114 template <
typename ChannelType>
   120   static const uint8_t kResBits = 12;
   122   static const uint16_t kRes = (1 << kResBits);
   134   MCP320x(uint16_t vref, uint8_t csPin, SPIClass *spi);
   143   MCP320x(uint16_t vref, uint8_t csPin);
   161   uint16_t read(
Channel ch) 
const;
   170   template <
typename T, 
size_t N>
   186   template <
typename T, 
size_t N>
   189     readn(ch, data, N, splFreq);
   200   template <
typename T, 
size_t N, 
typename Predicate>
   203     readn_if(ch, data, N, p);
   217   template <
typename T, 
size_t N, 
typename Predicate>
   220     readn_if(ch, data, N, splFreq, p);
   232   template <
typename T>
   235     execute(createCmd(ch), data, num);
   250   template <
typename T>
   253     execute(createCmd(ch), data, num, getSplDelay(ch, splFreq));
   268   template <
typename T, 
typename Predicate>
   271     auto cmd = createCmd(ch);
   272     while (!p(execute(cmd))) {}
   273     execute(cmd, data, num);
   290   template <
typename T, 
typename Predicate>
   294     auto cmd = createCmd(ch);
   295     while (!p(execute(cmd))) {}
   296     execute(cmd, data, num, getSplDelay(ch, splFreq));
   306   uint32_t testSplSpeed(
Channel ch) 
const;
   315   uint32_t testSplSpeed(
Channel ch, uint16_t num) 
const;
   326   uint32_t testSplSpeed(
Channel ch, uint16_t num, uint32_t splFreq);
   334   uint16_t toAnalog(uint16_t raw) 
const;
   342   uint16_t toDigital(uint16_t val) 
const;
   348   uint16_t getVref() 
const;
   355   uint16_t getAnalogRes() 
const;
   382   uint16_t getSplDelay(
Channel ch, uint32_t splFreq);
   406   template <
typename T>
   409     for (decltype(num) i=0; i < num; i++)
   410       data[i] = static_cast<T>(execute(cmd));
   422   template <
typename T>
   424     uint16_t delay)
 const   426     for (decltype(num) i=0; i < num; i++) {
   427       data[i] = 
static_cast<T
>(execute(cmd));
   428       delayMicroseconds(delay);
   436   uint16_t transfer() 
const;
   443   uint16_t transfer(
SpiData cmd) 
const;
 
void read(Channel ch, T(&data)[N], uint32_t splFreq)
void execute(Command< Channel > cmd, T *data, uint16_t num) const 
void read_if(Channel ch, T(&data)[N], uint32_t splFreq, Predicate p)
void readn_if(Channel ch, T *data, uint16_t num, Predicate p) const 
void execute(Command< Channel > cmd, T *data, uint16_t num, uint16_t delay) const 
void read_if(Channel ch, T(&data)[N], Predicate p) const 
void readn(Channel ch, T *data, uint16_t num, uint32_t splFreq)
void readn_if(Channel ch, T *data, uint16_t num, uint32_t splFreq, Predicate p)
void read(Channel ch, T(&data)[N]) const 
void readn(Channel ch, T *data, uint16_t num) const