gas_sensor

gas sensor project
git clone _git@git.tontus.eu/gas_sensor.git
Log | Files | Refs

commit bfd3910fcbd422d79e5a86dee81c87b8c6b1ac0f
parent dee6f6f3d463783203b072644af78d621ff724a6
Author: Tonton <tonterface@proton.me>
Date:   Sat, 27 Jun 2026 21:29:01 +0200

Add display lib

Diffstat:
Mgas_sensor.ino | 44+++++++-------------------------------------
Ainclude/display.h | 8++++++++
Asrc/display.cpp | 44++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+), 37 deletions(-)

diff --git a/gas_sensor.ino b/gas_sensor.ino @@ -2,51 +2,19 @@ * Gas sensor */ -#include <Adafruit_SSD1306.h> -#include <Wire.h> - #include "include/menu.h" - -/* macros */ -#define SCREEN_WIDTH 128 -#define SCREEN_HEIGHT 64 -#define OLED_RESET -1 -#define SCREEN_ADDRESS 0x3D +#include "include/display.h" /* function declarations */ -static void initDisplay(void); -static void writeToDisplay(char str[], int x, int y); void setup(void); void loop(void); /* objects */ -Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); /* variables */ /* function implementations */ -static void initDisplay(void) -{ - if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { - Serial.println("Allocation failed"); - for(;;); - } - display.display(); - delay(2000); - Serial.println("Screen init done"); - - display.setTextColor(SSD1306_WHITE); -} - -static void writeToDisplay(char str[], int x, int y) -{ - display.setTextSize(2); - display.setCursor(x, y); - display.print(str); - display.display(); -} - void setup(void) { Serial.begin(9600); @@ -55,13 +23,15 @@ void setup(void) pinMode(BUILTIN_LED, OUTPUT); - initDisplay(); - display.clearDisplay(); + DisplayInit(); writeToDisplay("Display", 0, 0); - writeToDisplay("init done!", 0, SCREEN_HEIGHT / 4); + writeToDisplay("init done!", 0, 64 / 4); } void loop(void) { - MenuMain(); +// MenuMain(); + for (int i = 0; i < 120; ++i) { + writeToDisplay("x", i, 64 / 2); + } } diff --git a/include/display.h b/include/display.h @@ -0,0 +1,8 @@ +#ifndef DISPLAY_H +#define DISPLAY_H + +//void DisplayPrintMainMenu(void); +void DisplayInit(void); +void writeToDisplay(char [], int, int); + +#endif // !MENU_H diff --git a/src/display.cpp b/src/display.cpp @@ -0,0 +1,44 @@ + +#include <Adafruit_SSD1306.h> +#include <Adafruit_GFX.h> +#include <SPI.h> +#include <Arduino.h> +#include <Wire.h> + +#include "../include/display.h" + +/* macros */ +#define SCREEN_WIDTH 128 +#define SCREEN_HEIGHT 64 +#define OLED_RESET -1 +#define SCREEN_ADDRESS 0x3D + +/* objects */ +Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); + +/* function declarations */ + +/* function implementations */ + +void DisplayInit(void) +{ + if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { + Serial.println("Allocation failed"); + for(;;); + } + display.display(); + delay(2000); + Serial.println("Screen init done"); + delay(2000); + display.clearDisplay(); + + display.setTextColor(SSD1306_WHITE); +} + +void writeToDisplay(char str[], int x, int y) +{ + display.setTextSize(2); + display.setCursor(x, y); + display.print(str); + display.display(); +}