54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
/*
|
|
* AMC1210.h
|
|
*
|
|
* Created on: 15 îêò. 2019 ã.
|
|
* Author: user
|
|
*/
|
|
|
|
#ifndef SOURCE_DRIVER_CHIPSET_AMC1210_H_
|
|
#define SOURCE_DRIVER_CHIPSET_AMC1210_H_
|
|
|
|
|
|
#include "PackagerAMC1210.hh"
|
|
|
|
#include "../SerialPortAdapter.hpp"
|
|
|
|
#include "../../systemic/RegisterEncoder.hpp"
|
|
|
|
namespace driver { namespace chipset { namespace AMC1210 {
|
|
|
|
typedef PackagerAMC1210 Packager;
|
|
typedef uint16_t Latency;
|
|
|
|
typedef SerialPortAdapter<Packager::Frame, Latency, true> SerialPortRegister;
|
|
|
|
struct InterruptRegister {
|
|
|
|
uint16_t comparators:8;
|
|
uint16_t modulator_fault:4;
|
|
uint16_t ack_flag:4;
|
|
|
|
enum ChannelsBits {
|
|
CH1 = 1, CH2 = 2, CH3 = 4, CH4 = 8
|
|
};
|
|
};
|
|
|
|
//Àäðåñà ðåãèñòðîâ è êîìàíäû.
|
|
struct ControlRegistersPairedAcronims {
|
|
enum Acronims {
|
|
DATA1 = 0x1D, //Data Register for Filter Module 1.
|
|
TIME1 = 0x1E,
|
|
DATA2 = 0x1F, //Data Register for Filter Module 2.
|
|
TIME2 = 0x20,
|
|
DATA3 = 0x21, //Data Register for Filter Module 3.
|
|
TIME3 = 0x22,
|
|
DATA4 = 0x23, //Data Register for Filter Module 4.
|
|
TIME4 = 0x24,
|
|
INTERRUPT = 0x0
|
|
};
|
|
};
|
|
|
|
}}}
|
|
|
|
#endif /* SOURCE_DRIVER_CHIPSET_AMC1210_H_ */
|