45 lines
985 B
C++
45 lines
985 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;
|
|
|
|
}
|