Skip to content
Snippets Groups Projects
Commit 1ec159c2 authored by Pascal Engeler's avatar Pascal Engeler
Browse files

Added spi selecta, use to select chips

parent 8121654e
No related branches found
No related tags found
No related merge requests found
#include <spi_selecta.hpp>
std::vector<Ad7124_4*> Spi_selecta::devices;
void Spi_selecta::register_device(Ad7124_4* dev){
if(devices.size() == 0){
//Maximum number of ADCs on the bus supported
devices.reserve(4);
}
devices.push_back(dev);
digitalWrite(dev->get_ncs_(), HIGH);
pinMode(dev->get_ncs_(), OUTPUT);
digitalWrite(dev->get_ncs_(), HIGH);
dev->deselect_();
}
void Spi_selecta::select_device(Ad7124_4* dev){
for(auto d: devices){
d->deselect_();
}
dev->select_();
}
void Spi_selecta::deselect_device(){
for(auto d: devices){
d->deselect_();
}
}
\ No newline at end of file
#ifndef SPI_SELECTA_INCLUDED
#define SPI_SELECTA_INCLUDED
#include <vector>
#include <ad7124_4.hpp>
struct Spi_selecta{
Spi_selecta();
~Spi_selecta()=default;
Spi_selecta(const Spi_selecta&)=delete;
static std::vector<Ad7124_4*> devices;
static void register_device(Ad7124_4* dev);
static void select_device(Ad7124_4* dev);
static void deselect_device();
};
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment