20 dst->
reserve((3 + (48 * 2)) * 3);
22 for (uint8_t repeat = 0; repeat < 2; repeat++) {
23 dst->
item(HEADER_HIGH_US, HEADER_LOW_US);
24 for (uint8_t bit = 48; bit > 0; bit--) {
25 dst->
mark(BIT_HIGH_US);
26 if ((data.rc_code_1 >> (bit - 1)) & 1) {
27 dst->
space(BIT_ONE_LOW_US);
29 dst->
space(BIT_ZERO_LOW_US);
32 dst->
item(FOOTER_HIGH_US, FOOTER_LOW_US);
35 if (data.rc_code_2 != 0) {
36 dst->
item(HEADER_HIGH_US, HEADER_LOW_US);
37 for (uint8_t bit = 48; bit > 0; bit--) {
38 dst->
mark(BIT_HIGH_US);
39 if ((data.rc_code_2 >> (bit - 1)) & 1) {
40 dst->
space(BIT_ONE_LOW_US);
42 dst->
space(BIT_ZERO_LOW_US);
45 dst->
item(FOOTER_HIGH_US, FOOTER_LOW_US);
56 if (!src.
expect_item(HEADER_HIGH_US, HEADER_LOW_US))
58 for (uint8_t bit_counter = 0; bit_counter < 48; bit_counter++) {
60 packet = (packet << 1) | 1;
61 }
else if (src.
expect_item(BIT_HIGH_US, BIT_ZERO_LOW_US)) {
62 packet = (packet << 1) | 0;
71 if (!src.
expect_item(HEADER_HIGH_US, HEADER_LOW_US))
73 for (uint8_t bit_counter = 0; bit_counter < 48; bit_counter++) {
75 out.rc_code_1 = (out.rc_code_1 << 1) | 1;
76 }
else if (src.
expect_item(BIT_HIGH_US, BIT_ZERO_LOW_US)) {
77 out.rc_code_1 = (out.rc_code_1 << 1) | 0;
83 if (packet != out.rc_code_1)
90 if (!src.
expect_item(HEADER_HIGH_US, HEADER_LOW_US))
92 for (uint8_t bit_counter = 0; bit_counter < 48; bit_counter++) {
94 out.rc_code_2 = (out.rc_code_2 << 1) | 1;
95 }
else if (src.
expect_item(BIT_HIGH_US, BIT_ZERO_LOW_US)) {
96 out.rc_code_2 = (out.rc_code_2 << 1) | 0;