Rev 11 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 11 | mjames | 1 | #include "libOLED/displayXY.H" |
| 2 | |||
| 3 | const unsigned MARGIN = 1; |
||
| 4 | const unsigned BOTTOM_MARGIN = 17; |
||
| 5 | |||
| 6 | displayXY_t ::displayXY_t(display_t &disp, |
||
| 7 | int xmin, int xmax, int ymin, int ymax) : display(disp), x_min(xmin), x_max(xmax), y_min(ymin), y_max(ymax), |
||
| 8 | left_margin(MARGIN), right_margin(display.width() - MARGIN), plot_width(right_margin - left_margin), |
||
| 9 | top_margin(MARGIN), bottom_margin(display.height() - BOTTOM_MARGIN), plot_height(bottom_margin - top_margin), next_persist(0) |
||
| 10 | { |
||
| 19 | mjames | 11 | for (uint16_t i = 0; i < PERSIST; i++) |
| 11 | mjames | 12 | { |
| 13 | persist_x[i] = left_margin; |
||
| 14 | persist_y[i] = bottom_margin; |
||
| 15 | } |
||
| 16 | }; |
||
| 17 | |||
| 18 | void displayXY_t ::drawAxes() |
||
| 19 | { |
||
| 20 | |||
| 21 | display.drawLine(left_margin, bottom_margin, right_margin, bottom_margin, |
||
| 22 | WHITE, 0b10); |
||
| 23 | display.drawLine(left_margin, bottom_margin, left_margin, top_margin, WHITE, 0b10); |
||
| 24 | } |
||
| 25 | |||
| 26 | void displayXY_t ::plotPoint(int x, int y, char *message,char * message_lower, char * message_upper) |
||
| 27 | { |
||
| 28 | int y_coord = (plot_height * (y - y_min)) / (y_max - y_min); |
||
| 29 | int x_coord = (plot_width * (x - x_min)) / (x_max - x_min); |
||
| 30 | display.drawLine(left_margin, y_coord, right_margin, y_coord, WHITE, 0b111000); |
||
| 31 | display.drawLine(x_coord, top_margin, x_coord, bottom_margin, WHITE, 0b111000); |
||
| 32 | persist_x[next_persist] = x_coord; |
||
| 33 | persist_y[next_persist] = y_coord; |
||
| 34 | next_persist++; |
||
| 35 | if (next_persist > PERSIST) |
||
| 36 | next_persist = 0; |
||
| 19 | mjames | 37 | for (uint16_t i = 0; i < PERSIST; i++) |
| 11 | mjames | 38 | { |
| 39 | display.drawPixel(persist_x[i], persist_y[i], WHITE); |
||
| 40 | } |
||
| 41 | |||
| 42 | if(message) |
||
| 43 | { |
||
| 44 | display.gotoxy(0, 48); |
||
| 45 | display.printString(large_font, message, 0, OVERLAY); |
||
| 46 | } |
||
| 47 | if (message_upper) |
||
| 48 | { |
||
| 19 | mjames | 49 | display.gotoxy(56,48); |
| 11 | mjames | 50 | display.printString(small_font, message_upper, 0, OVERLAY); |
| 51 | } |
||
| 52 | if (message_lower) |
||
| 53 | { |
||
| 19 | mjames | 54 | display.gotoxy(56,56); |
| 11 | mjames | 55 | display.printString(small_font, message_lower, 0, OVERLAY); |
| 56 | } |
||
| 57 | |||
| 58 | } |