本文整理汇总了C++中Adafruit_ST7735::drawPixel方法的典型用法代码示例。如果您正苦于以下问题:C++ Adafruit_ST7735::drawPixel方法的具体用法?C++ Adafruit_ST7735::drawPixel怎么用?C++ Adafruit_ST7735::drawPixel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Adafruit_ST7735
的用法示例。
在下文中一共展示了Adafruit_ST7735::drawPixel方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loop
void loop() {
uint8_t ratingFilter = getRatingFilter();
uint16_t horiz = getHorizontal();
uint16_t vert = getVertical();
lightUpRatingLEDs(ratingFilter);
tft.drawPixel(horiz, vert, 0);
if(isButtonPressed()) {
// wait for button to be released
while(isButtonPressed()) { }
displayClosestRestaurants(horiz, vert, ratingFilter * 2);
drawMap();
}
lcd_image_draw(&map_image, &tft, horiz, vert, horiz, vert, 1, 1);
}
示例2: draw_pixel
// Allow this method to be overridden in subclasses
void Starfield::draw_pixel(Adafruit_ST7735 tft, int x, int y, int color) {
tft.drawPixel(x, y, color);
}
示例3: show_spectrum
void show_spectrum(float line_gain, float LPFcoeff) {
static int startx=0, endx;
endx=startx+16;
int scale=3;
float avg = 0.0;
// Draw spectrum display
for (int16_t x=startx; x < endx; x+=1) {
if ((x > 1) && (x < 159))
// moving window - weighted average of 5 points of the spectrum to smooth spectrum in the frequency domain
// weights: x: 50% , x-1/x+1: 36%, x+2/x-2: 14%
avg = myFFT.output[(x)*16/10]*0.5 + myFFT.output[(x-1)*16/10]*0.18 + myFFT.output[(x-2)*16/10]*0.07 + myFFT.output[(x+1)*16/10]*0.18 + myFFT.output[(x+2)*16/10]*0.07;
else
avg = myFFT.output[(x)*16/10];
// pixelnew[x] = LPFcoeff * 2 * sqrt (abs(myFFT.output[(x)*16/10])*scale) + (1 - LPFcoeff) * pixelold[x];
// low pass filtering of the spectrum pixels to smooth/slow down spectrum in the time domain
// experimental LPF for spectrum: ynew = LPCoeff * x + (1-LPCoeff) * yprevious; here: A = 0.3 to 0.5 seems to be a good idea
pixelnew[x] = LPFcoeff * 2 * sqrt (abs(avg)*scale) + (1 - LPFcoeff) * pixelold[x];
/* for (int16_t i=0; x < 5; x+=1) {
pixelnew[x+i] = 2 * sqrt (abs(myFFT.output[(x+i)*16/10])*scale);
if (pixelnew[x+i] > pos-1) pixelnew[x+i] = pos-1;
}
*/
// int bar=2 * sqrt (abs(myFFT.output[x*16/10])*scale);
// if (bar >pos-1) bar=pos-1;
if(x != pos_centre_f) {
// common way: draw bars
// tft.drawFastVLine(x, pos-1-bar,bar, BLUE); // GREEN);
// tft.drawFastVLine(x, 0, pos-1-bar, WHITE); //BLACK);
// alternate way: draw pixels
// only plot pixel, if at a new position
if (pixelold[x] != pixelnew[x]) {
tft.drawPixel(x, pos-1-pixelold[x], BLACK); // delete old pixel
tft.drawPixel(x, pos-1-pixelnew[x], WHITE); // write new pixel
pixelold[x] = pixelnew[x]; }
/* if (pixelnew[x] > 5 * (pixelnew[x+1] + pixelnew[x-1])) {
tft.drawFastVLine(x, pos-1-pixelnew[x], pixelnew[x], BLUE);
tft.drawFastVLine(x, 0, pos-1- pixelnew[x], BLACK);
}
*/ }
}
// Calculate S units. 50uV = S9
//if (0) {
if (Smetertimer.check()==1) {
uv = myFFT.output[159]+myFFT.output[160]+myFFT.output[161]+myFFT.output[162]+myFFT.output[158]+myFFT.output[157]+myFFT.output[156]; // measure signal strength of carrier of AM Transmission at exact frequency
// low pass filtering for Smeter values
uv = 0.1 * uv + 0.9 * uvold;
if (uv == 0) dbm = -130;
else {
dbm = 20*log10(uv)-83.5-25.7-1.5*line_gain;} //dbm standardized to 15.26Hz Receiver Bandwidth
// constant 83.5dB determined empirically by measuring a carrier with a Perseus SDR
// and comparing the output of the Teensy FFT
// 25.7dB is INA163 gain in frontend
//dbm measurement on the Perseus standardized to RBW of 15.26Hz
// float vol = analogRead(15);
// vol = vol / 1023.0;
// now calculate S-value from dbm
s = 9.0 + ((dbm + 73.0) / 6.0);
if (s <0.0) s=0.0;
if ( s > 9.0)
{
dbuv = dbm + 73.0;
s = 9.0;
}
else dbuv = 0.0;
// Print S units
//s=roundf(s);
/* tft.fillRect(0,105, 50, 7,ST7735_BLACK);
tft.fillRect(0,105, 160, 7,ST7735_BLACK);
tft.setCursor(100,105);
// sprintf(string,"%04.0f FFT",uv);
// sprintf(string,"%04.0f dbm",dbm);
sprintf(string,"%02.0f",s);
tft.print(string);
tft.setCursor(0,105);
// sprintf(string,"%04.0f FFT",uv);
sprintf(string,"%04.0f dbm",dbm);
tft.print(string);
*/
tft.drawFastHLine(pos_x_smeter, pos_y_smeter, s*s_w+1, BLUE);
tft.drawFastHLine(pos_x_smeter+s*s_w+1, pos_y_smeter, (9*s_w+1)-s*s_w+1, BLACK);
tft.drawFastHLine(pos_x_smeter, pos_y_smeter+1, s*s_w+1, WHITE);
tft.drawFastHLine(pos_x_smeter+s*s_w+1, pos_y_smeter+1, (9*s_w+1)-s*s_w+1, BLACK);
tft.drawFastHLine(pos_x_smeter, pos_y_smeter+2, s*s_w+1, BLUE);
tft.drawFastHLine(pos_x_smeter+s*s_w+1, pos_y_smeter+2, (9*s_w+1)-s*s_w+1, BLACK);
// tft.drawFastHLine(pos_x_smeter, pos_y_smeter+3, s*s_w+1, BLUE);
// tft.drawFastHLine(pos_x_smeter+s*s_w+1, pos_y_smeter+3, (9*s_w+1)-s*s_w+1, BLACK);
if(dbuv>30) dbuv=30;
//.........这里部分代码省略.........
示例4: setup
void setup(void) {
pinMode(BUTTON,INPUT);
digitalWrite(BUTTON,HIGH);
tft.initR(INITR_BLACKTAB);
tft.fillScreen(ST7735_BLACK);
int16_t OFFSET = 30;
int16_t hOld = 0;
int16_t vOld = 0;
int16_t original_v = analogRead(VERT);
int16_t original_h = analogRead(HOR);
int16_t v = 143;
int16_t h = 64;
while (1){
// v = OFFSET_V(analogRead(VERT), v, original_v);
h = OFFSET_H(analogRead(HOR), h, original_h);
if(hOld != h){
for(int y = -1; y < 2; y++){
for(int x = -2; x < 4; x++){
//Erase dot at old cursor postion
tft.drawPixel(hOld+x, vOld+y, ST7735_BLACK);
}
}
delay(10);
}
for(int y = -1; y < 2; y++){
for(int x = -2; x < 4; x++){
//Draw dot a new cursor postion
tft.drawPixel(h+x,v+y,ST7735_WHITE);
}
}
if (digitalRead(BUTTON) == LOW){
Serial.begin(9600);
Serial.print("OK");
int blah = -2;
int bullet = v;
//Draw dot a new cursor postion
for(int blah = -2; bullet + blah > -2; blah--){
tft.drawPixel(h, bullet + blah + 1, ST7735_BLACK);
tft.drawPixel(h, bullet + blah, ST7735_WHITE);
tft.drawPixel(h, bullet + blah-1, ST7735_WHITE);
tft.drawPixel(h, bullet + blah-2, ST7735_WHITE);
}
}
//Update the cursor position
vOld = v;
hOld = h;
}
}
示例5: setup
void setup(void) {
Serial.begin(BAUD);
Serial.print("Hello! professorbunsen, I presume? ");
// Use this initializer if you're using a 1.8" TFT
//tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab
// Use this initializer (uncomment) if you're using a 1.44" TFT
tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab
Serial.println("Initialized");
uint16_t time = millis();
tft.fillScreen(ST7735_BLACK);
time = millis() - time;
Serial.println(time, DEC);
delay(500);
// large block of text
tft.fillScreen(ST7735_BLACK);
testdrawtext("Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen. Was ist mit mir geschehen? dachte er. Es war kein Traum.", ST7735_WHITE);
delay(1000);
// tft print function!
tftPrintTest();
delay(4000);
// a single pixel
tft.drawPixel(tft.width()/2, tft.height()/2, ST7735_GREEN);
delay(500);
// line draw test
testlines(ST7735_YELLOW);
delay(500);
// optimized lines
testfastlines(ST7735_RED, ST7735_BLUE);
delay(500);
testdrawrects(ST7735_GREEN);
delay(500);
testfillrects(ST7735_YELLOW, ST7735_MAGENTA);
delay(500);
tft.fillScreen(ST7735_BLACK);
testfillcircles(10, ST7735_BLUE);
testdrawcircles(10, ST7735_WHITE);
delay(500);
testroundrects();
delay(500);
testtriangles();
delay(500);
mediabuttons();
delay(500);
Serial.println("done");
delay(1000);
}