68 if (!
src.peek_mark(this->unit_) || !(
src.peek_space(this->unit_, 1) ||
src.peek_space(this->unit_ * 2, 1))) {
77 buffer = buffer | (bit << (24 - offset++));
79 if (
src.peek_mark(this->unit_) ||
src.peek_space(this->unit_)) {
81 }
else if (
src.peek_mark(this->unit_ * 2) ||
src.peek_space(this->unit_ * 2)) {
83 }
else if (offset != 24 && bit != 1) {
88 data.device = (0xFF0000 & buffer) >> 16;
89 data.address = (0x00FF00 & buffer) >> 10;
90 data.repeat = (0x00FF00 & buffer) >> 9;
91 data.command = (0x0000FF & buffer) >> 1;