From 35ff74c9be46e16030d1184a506451e1d3805c25 Mon Sep 17 00:00:00 2001 From: gamerdonkey Date: Sat, 14 Sep 2024 14:48:59 -0500 Subject: First attempt at integrating Adafruit_GFX and converting to C++ --- main/main.cpp | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 main/main.cpp (limited to 'main/main.cpp') diff --git a/main/main.cpp b/main/main.cpp new file mode 100644 index 0000000..04762c7 --- /dev/null +++ b/main/main.cpp @@ -0,0 +1,76 @@ +#include +#include + +#include "InovaLedDisplay.h" + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "esp_log.h" + + +#define CHAR_HEIGHT 8 +#define CHAR_WIDTH 8 +#define RED 1 +#define GREEN 2 +#define ORANGE 3 + +#define PIN_NUM_MISO 12 +#define PIN_NUM_MOSI 13 +#define PIN_NUM_CLK 14 +#define PIN_NUM_CS 15 +#define PIN_NUM_R_LATCH 16 +#define PIN_NUM_R_CLK 17 +#define PIN_NUM_R_ADDR_0 5 +#define PIN_NUM_R_ADDR_1 18 +#define PIN_NUM_R_ADDR_2 19 + +#define TAG "led_display" +#define STACK_SIZE 2000 + + +/* extern "C" void drawCharAtPosition(char character, int x_start, int y_start, uint16_t color) { */ +/* uint8_t cur_char_row; */ +/* for(int y = y_start; (y - y_start) < CHAR_HEIGHT && y < NUM_ROW; y++) { */ +/* cur_char_row = atascii_font[(uint8_t) character][y - y_start]; */ +/* for(int x = x_start; (x - x_start) < CHAR_WIDTH && x < NUM_COL; x++) { */ +/* if(x >= 0) { */ +/* if((0b10000000 >> (x - x_start)) & cur_char_row) { */ +/* setPixel(x, y, color); */ +/* } */ +/* else { */ +/* setPixel(x, y, 0); */ +/* } */ +/* } */ +/* } */ +/* } */ +/* } */ + + +extern "C" void app_main(void) +{ + InovaLedDisplay display = InovaLedDisplay(PIN_NUM_MISO, PIN_NUM_MOSI, PIN_NUM_CLK, PIN_NUM_CS, PIN_NUM_R_LATCH, PIN_NUM_R_CLK, PIN_NUM_R_ADDR_0, PIN_NUM_R_ADDR_1, PIN_NUM_R_ADDR_2); + display.drawPixel(0, 0, 3); + display.drawPixel(80, 4, 3); + display.runDisplay(); + /* TaskHandle_t taskHandle; */ + /* xTaskCreate(updateDisplay, "updateDisplay", STACK_SIZE, NULL, tskIDLE_PRIORITY, &taskHandle); */ + + /* int j = NUM_COL; */ + /* int color = 1; */ + /* char* hello = "Hello World!! 0123456789"; */ + /* int hello_length = strlen(hello); */ + /* int min_x = hello_length * -CHAR_WIDTH; */ + /* while(true) { */ + /* for(int i = 0; i < strlen(hello); i++) { */ + /* drawCharAtPosition(hello[i], j + (i * CHAR_WIDTH), 0, color); */ + /* } */ + + /* if(--j == min_x) { */ + /* j = NUM_COL; */ + /* if(++color > 3) { */ + /* color = 1; */ + /* } */ + /* } */ + /* vTaskDelay(50 / portTICK_PERIOD_MS); */ + /* } */ +} -- cgit v1.2.3