μ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,
15 spi_second_devinfo;
16
17public:
18 Controller(struct pcie_bars &);
19
20 bool match_devinfo(const struct sdb_device_info &);
21 void set_devinfo(const struct sdb_device_info &);
22
23 bool get_reg(uint8_t, uint8_t &, spi::Channel);
24 bool set_reg(uint8_t, uint8_t, spi::Channel);
25 bool set_defaults(spi::Channel);
26};
27
28} /* namespace isla216p */
29
30#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