μHAL
isla216p.h
1#ifndef ISLA216P_H
2#define ISLA216P_H
3
4#include <modules/fmc250m_4ch.h>
5#include <modules/spi.h>
6
7namespace isla216p {
8
9class Controller {
10 spi::Controller spi_regs;
11
12 fmc250m_4ch::Core f250_regs;
13 mutable std::optional<struct sdb_device_info> f250_devinfo;
14 mutable std::optional<struct sdb_device_info> spi_first_devinfo, spi_second_devinfo;
15
16 public:
17 Controller(struct pcie_bars &);
18
19 bool match_devinfo(const struct sdb_device_info &);
20 void set_devinfo(const struct sdb_device_info &);
21
22 bool get_reg(uint8_t, uint8_t &, spi::Channel);
23 bool set_reg(uint8_t, uint8_t, spi::Channel);
24 bool set_defaults(spi::Channel);
25};
26
27} /* namespace isla216p */
28
29#endif
Definition: fmc250m_4ch.h:13
Definition: isla216p.h:9
Definition: spi.h:36
Definition: pcie-defs.h:19
Definition: sdb-defs.h:7
Definition: spi.h:13