Ein Roboter mit bürstenlosem Antrieb, differenzial und NRF24L01 Funk. Großflächig gebaut um ein großes Solarpanel aufzunehmen. https://gitlab.informatik.hs-fulda.de/fdai5253/roboter
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.6 KiB

#include <SPI.h>
#include "PCD8544_SPI.h"
#define USE_FRAME_BUFFER
#ifdef USE_FRAME_BUFFER
PCD8544_SPI_FB lcd;
#else
PCD8544_SPI lcd;
#endif
void setup(void)
{
Serial.begin(9600);
lcd.begin();
lcd.print(F("Preparing benchmark"));
#ifdef USE_FRAME_BUFFER
lcd.renderAll();
#endif
delay(1000);
}
uint8_t bmp[] = {
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
};
void loop(void)
{
size_t len;
lcd.clear();
unsigned long time = micros();
len = lcd.print(F("012345678901234567890123456789012345678901234567890123456789012345678901234567890123"));
#ifdef USE_FRAME_BUFFER
lcd.renderString(0, 0, len);
#endif
time = micros() - time;
delay(3000);
lcd.clear();
lcd.print(F("The time it took to print 84 chars is: "));
lcd.print(time);
#ifdef USE_FRAME_BUFFER
lcd.renderAll();
#endif
delay(3000);
lcd.clear();
lcd.gotoXY(5,3);
lcd.print(F("Test gotoXY"));
#ifdef USE_FRAME_BUFFER
lcd.renderAll();
#endif
delay(3000);
lcd.clear();
time = micros();
lcd.writeBitmap(bmp, 10, 2, 25, 3);
#ifdef USE_FRAME_BUFFER
lcd.renderAll();
#endif
time = micros() - time;
delay(3000);
lcd.clear();
lcd.print(F("The time it took to draw a 25x3 (25x18) bitmap is: "));
lcd.print(time);
#ifdef USE_FRAME_BUFFER
lcd.renderAll();
#endif
delay(3000);
#ifdef USE_FRAME_BUFFER
lcd.clear();
time = micros();
lcd.writeRect(5, 5, 50, 40);
lcd.writeLine(75, 3, 75, 35);
lcd.writeLine(60, 10, 60, 40);
lcd.writeLine(10, 47, 60, 47);
lcd.renderAll();
time = micros() - time;
delay(3000);
lcd.clear();
len = lcd.print(F("The time it took draw a rect and 3 lines: "));
len += lcd.print(time);
lcd.renderString(0, 0, len);
delay(3000);
lcd.clear();
time = micros();
for (uint8_t row = 0; row < PCD8544_Y_PIXELS; row++)
{
for (uint8_t col = 0; col < PCD8544_X_PIXELS; col++)
{
uint8_t pixel = (col + row) % 2;
lcd.setPixel(col, row, pixel);
}
}
lcd.renderAll();
time = micros() - time;
delay(5000);
lcd.clear();
lcd.print(F("The time it took to run setPixel on all 4032 pixels and render it: "));
lcd.print(time);
lcd.renderAll();
delay(5000);
#endif
}