51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#pragma once
|
|
namespace ft8 {
|
|
namespace data_transfer {
|
|
namespace vset {
|
|
constexpr uint32_t vn() { return 0b1111 << 4; }
|
|
constexpr uint32_t vn(uint32_t reg) { return (reg >> 4) & 0b1111; }
|
|
|
|
constexpr uint32_t vp() { return 0b11 << 2; }
|
|
constexpr uint32_t vp(uint32_t reg) { return (reg >> 2) & 0b11; }
|
|
|
|
constexpr uint32_t vd() { return 0b11 << 0; }
|
|
constexpr uint32_t vd(uint32_t reg) { return (reg >> 0) & 0b11; }
|
|
|
|
constexpr uint32_t pf() { return 0b1 << 15; }
|
|
constexpr uint32_t pf(uint32_t reg) { return (reg >> 15) & 0b1; }
|
|
|
|
constexpr uint32_t cv() { return 0b1 << 14; }
|
|
constexpr uint32_t cv(uint32_t reg) { return (reg >> 14) & 0b1; }
|
|
|
|
constexpr uint32_t pd() { return 0b1 << 13; }
|
|
constexpr uint32_t pd(uint32_t reg) { return (reg >> 13) & 0b1; }
|
|
|
|
constexpr uint32_t owf() { return 0b1 << 12; }
|
|
constexpr uint32_t owf(uint32_t reg) { return (reg >> 12) & 0b1; }
|
|
|
|
constexpr uint32_t va() { return 0b1111 << 8; }
|
|
constexpr uint32_t va(uint32_t reg) { return (reg >> 8) & 0b1111; }
|
|
|
|
}
|
|
|
|
struct data_format {
|
|
uint16_t vset;
|
|
uint8_t fm0;
|
|
uint8_t fm1;
|
|
};
|
|
static_assert((sizeof (struct data_format)) == 4);
|
|
}
|
|
|
|
namespace set_condition {
|
|
struct data_format {
|
|
uint8_t ctrl;
|
|
uint8_t pow;
|
|
uint8_t freq;
|
|
uint8_t inc;
|
|
};
|
|
static_assert((sizeof (struct data_format)) == 4);
|
|
}
|
|
|
|
}
|
|
|