здравствуйте, пользуюсь библиотекой GyverOLED (на другую переходить категорически не хочу) и возникла необходимость в функции, которая проверяет закрашен ли пиксель по указанным координатам. Решил дописать, нашел в аналогичной библиотеке(iarduinOLED) нужную функцию:
bool iarduinOLED::getPixel(int x, int y){ // Параметры: № колонки, № строки.
if(x<0 || x>127 || y<0 || y>63){return 0;} // Если заданы некорректные координаты, то выводим 0 (чёрный цвет пикселя).
uint16_t numByte = ( y/8 * 128 ) + x; // Определяем номер байта массива arrBuffer в котором находится пиксель.
uint8_t numBit = y%8; // Определяем номер бита в найденном байте, который соответсвует искомому пикселю.
return bitRead(arrBuffer[numByte], numBit); // Возвращаем цвет пикселя из бита numBit элемента numByte массива arrBuffer.
}
попытался пошаманить чтоб работало в GyverOLED(не получилось):
bool getPixel(int x, int y){ // Параметры: № колонки, № строки.
// if(x<0 || x>127 || y<0 || y>63){return 0;} // Если заданы некорректные координаты, то выводим 0 (чёрный цвет пикселя).
uint16_t numByte = ( y/8 * 128 ) + x; // Определяем номер байта массива arrBuffer в котором находится пиксель.
uint8_t numBit = y%8; // Определяем номер бита в найденном байте, который соответсвует искомому пикселю.
return bitRead(_oled_buffer[numByte], numBit); // Возвращаем цвет пикселя из бита numBit элемента numByte массива arrBuffer.
}
помогите, пожалуйста довести до ума.