microPong. Обсуждение проекта

Sokol24187

✩✩✩✩✩✩✩
27 Фев 2019
2
0
Пермь
Всем привет.
Не могу понять работу функции dot из проекта AlexGaver'а microPong
https://github.com/AlexGyver/microPong/blob/master/firmware/microPong/oled.ino
71 строка

C++:
void dot(byte x, byte y, boolean state) {
  byte Pa;
  if (y < 4) byteY = y;
  else if (y < 8) byteY = y - 4;
  else if (y < 12) byteY = y - 8;
  else byteY = y - 12;

  byte index = x + y / 4 * 64;
  byte thisByte = oled_buf[index];

  bitWrite(thisByte, byteY * 2, state);
  bitWrite(thisByte, byteY * 2 + 1, state);
  oled_buf[index] = thisByte;
  Wire.beginTransmission(OLED_ADDRESS);
  Wire.write(OLED_COMMAND_MODE);
  Wire.write(0x21); Wire.write(x * 2); Wire.write(127);
  Wire.write(0x22); Wire.write(y / 4); Wire.write(3);
  Wire.endTransmission();

  Wire.beginTransmission(OLED_ADDRESS);
  Wire.write(OLED_DATA_MODE);
  Wire.write(thisByte); Wire.write(thisByte);
  Wire.endTransmission();
  Wire.beginTransmission(OLED_ADDRESS);
}
Смысл то ясен, а вот неименованные литералы остаются "волшебными цифрами"
Поясните, пожалуйста, кто может.
Спасибо.
 

Вложения

Изменено: