WYMZVWFSD2KSORBUMFWEXZFGDE3KV77AFVFJVVYPI7RY4NVDEK6AC
IPLSYOCQIAQLB6HXL6YBJ5ZKKESCSRO7S7P5SF6I367M6HEJJRNQC
QV2QX6JBHGTRCSTNG4VEW6TMX6ACGBTBUBAX6GJ6J4O4OTJBFA2QC
TXSGLYOVYQ77EG23PAVW62MBJRHS2WTVAVNQ3NYVBDGKNMSYS7DAC
RIKRRTK5ZNVTCDJBS2O54P36TSQXENEZ2DYXJ3WPFW7ZQ6CF4DMQC
6GJR2V3AYCEJWLBP2KMTWUNO332MG5OFEUNPCNSSNF5BJKXA3VTQC
UAB3QWX6I6PF4BRKRV6C7QKQMEYESRIALOFSOP3P5NAX2SHXABTQC
KIS6Z2AJQC7NOS2NAATBHNSM5G336VCPQKAZ6O5ALPNL7SSCBWDQC
AIK3NJJOAMB2QEYWLVK7B3E4ZMVGPBPPPZD2TGEBZCNM4Y6KI2XQC
// // address
// DDC.Test.sendByte(0b00110111);
// DDC.Test.sendZero();
// DDC.Test.sendByte(0b01110100);
// DDC.Test.sendZero();
// DDC.Test.sendByte(0b01000011);
// DDC.Test.sendOne();
// // preamble
// for (0..10) |_| {
// DCC.Test.sendOne();
// }
// DCC.Test.sendZero();
// // 4 byte packet
// DCC.Test.sendByte(0b00110111);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01110100);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01000011);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01000011);
// DCC.Test.sendOne();
// // preamble
// for (0..10) |_| {
// DCC.Test.sendOne();
// }
// DCC.Test.sendZero();
// // 5 byte packet
// DCC.Test.sendByte(0b00110111);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01110100);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01000011);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01000011);
// DCC.Test.sendZero();
// DCC.Test.sendByte(0b01000011);
// DCC.Test.sendOne();
if (self.buffer & @as(BUFFER_TYPE, MASK_4BYTES) ==
@as(BUFFER_TYPE, COMPARE_4BYTES))
{
std.log.debug("4 byte long DCC package detected!", .{});
}
if (self.buffer & @as(BUFFER_TYPE, MASK_5BYTES) ==
@as(BUFFER_TYPE, COMPARE_5BYTES))
{
std.log.debug("5 byte long DCC package detected!", .{});
}
const BackEMF = packed struct {
iterations: u8 = 100, // Number of measurements to calculate Back-EMF
delay_us: u8 = 100, // Delay before measurement start
low_cutoff: u8 = 15, // Number of discarded elements on the low side
high_cutoff: u8 = 15, // Number of discarded elements on the high side
};
const Manufacturer = packed struct(u144) {
reserved: u112 = 0,
emf: BackEMF = BackEMF{},
};
const BackEMF = packed struct {
iterations: u8 = 100, // Number of measurements to calculate Back-EMF
delay_us: u8 = 100, // Delay before measurement start
low_cutoff: u8 = 15, // Number of discarded elements on the low side
high_cutoff: u8 = 15, // Number of discarded elements on the high side
};