54 lines
1.2 KiB
C++
54 lines
1.2 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_ */
|