45 lines
989 B
C++
45 lines
989 B
C++
/*
|
||
* PackagerADS1259.cpp
|
||
*
|
||
* Created on: 7 авг. 2019 г.
|
||
* Author: user
|
||
*/
|
||
|
||
#include "PackagerADS1259.hh"
|
||
#include <cstring>
|
||
|
||
const std::size_t driver::chipset::PackagerADS1259::FrameSize = 32;
|
||
|
||
unsigned long last_pack = 0;
|
||
|
||
driver::chipset::PackagerADS1259::Frame driver::chipset::PackagerADS1259::encode(RegAddress rg_address, Data data,
|
||
bool write_nread) {
|
||
|
||
const RegisterAddressAndData frame( rg_address, write_nread, data );
|
||
|
||
Frame pack;
|
||
std::memcpy( &pack, &frame, sizeof(Frame) );
|
||
|
||
last_pack = pack;
|
||
|
||
return pack;
|
||
|
||
}
|
||
|
||
driver::chipset::PackagerADS1259::Frame driver::chipset::PackagerADS1259::encode(RegAddress control_reg) {
|
||
|
||
const CommandRegisterForm frame ( control_reg );
|
||
|
||
Frame pack;
|
||
std::memcpy( &pack, &frame, sizeof(Frame) );
|
||
|
||
return pack;
|
||
|
||
}
|
||
|
||
driver::chipset::PackagerADS1259::Data driver::chipset::PackagerADS1259::decode(Frame frame) {
|
||
|
||
return (frame >> 24) & 0xFFul;
|
||
|
||
}
|