| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include <Arduino.h>
- #include <BLEDevice.h>
- #include <BLEServer.h>
- #include <BLEUtils.h>
- #include <BLE2902.h>
- #include <Wire.h>
- #include <U8g2lib.h>
- // OLED Display Configuration - Alternative SSD1306 mode
- #define OLED_SDA 21
- #define OLED_SCL 22
- #define OLED_RST 16
- #define OLED_ADDR 0x3C
- // BLE Configuration
- #define SERVICE_UUID "12345678-1234-1234-1234-123456789abc"
- #define BATTERY_CHAR_UUID "87654321-4321-4321-4321-cba987654321"
- #define SPEED_CHAR_UUID "11111111-2222-3333-4444-555555555555"
- #define DEVICE_NAME "mirror-hud"
- // Try SSD1306 compatibility mode (comment out SSD1309 line above and use this)
- U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, OLED_RST, OLED_SCL, OLED_SDA);
- // Other variables and classes remain the same...
- bool dataReceived = false;
- float batteryLevel = 0.0;
- float speed = 0.0;
- void initDisplay() {
- Serial.println("=== TRYING SSD1306 MODE ===");
-
- Wire.begin(OLED_SDA, OLED_SCL);
-
- // Manual reset
- pinMode(OLED_RST, OUTPUT);
- digitalWrite(OLED_RST, LOW);
- delay(100);
- digitalWrite(OLED_RST, HIGH);
- delay(100);
-
- u8g2.begin();
- u8g2.clearBuffer();
- u8g2.setFont(u8g2_font_ncenB18_tr);
- u8g2.drawStr(15, 35, "tangerine");
- u8g2.sendBuffer();
-
- Serial.println("SSD1306 mode display initialized");
- }
- // Minimal main functions for testing
- void setup() {
- Serial.begin(115200);
- delay(1000);
- Serial.println("Starting OLED test...");
- initDisplay();
- }
- void loop() {
- delay(1000);
- }
|