19 dst->
item(HEADER_HIGH_US, HEADER_LOW_US);
21 for (
uint32_t mask = 1UL << (23); mask != 0; mask >>= 1) {
23 dst->
item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US);
25 dst->
item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US);
29 for (
uint32_t mask = 1UL << (7); mask != 0; mask >>= 1) {
30 if (data.channel & mask) {
31 dst->
item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US);
33 dst->
item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US);
37 for (
uint32_t mask = 1UL << (3); mask != 0; mask >>= 1) {
38 if (data.button & mask) {
39 dst->
item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US);
41 dst->
item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US);
45 for (
uint32_t mask = 1UL << (3); mask != 0; mask >>= 1) {
46 if (data.check & mask) {
47 dst->
item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US);
49 dst->
item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US);
60 if (!src.
expect_item(HEADER_HIGH_US, HEADER_LOW_US))
63 for (uint8_t i = 0; i < 24; i++) {
64 if (src.
expect_item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US)) {
65 out.id = (out.id << 1) | 1;
66 }
else if (src.
expect_item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US)) {
67 out.id = (out.id << 1) | 0;
73 for (uint8_t i = 0; i < 8; i++) {
74 if (src.
expect_item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US)) {
75 out.channel = (out.channel << 1) | 1;
76 }
else if (src.
expect_item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US)) {
77 out.channel = (out.channel << 1) | 0;
83 for (uint8_t i = 0; i < 4; i++) {
84 if (src.
expect_item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US)) {
85 out.button = (out.button << 1) | 1;
86 }
else if (src.
expect_item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US)) {
87 out.button = (out.button << 1) | 0;
93 for (uint8_t i = 0; i < 3; i++) {
94 if (src.
expect_item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US)) {
95 out.check = (out.check << 1) | 1;
96 }
else if (src.
expect_item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US)) {
97 out.check = (out.check << 1) | 0;
104 out.check = (out.check << 1) | 1;
106 out.check = (out.check << 1) | 0;