feat: sketch scaffold with I2C bus bring-up and scanner
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#include <Arduino.h>
|
||||
#include <Wire.h>
|
||||
#include "config.h"
|
||||
|
||||
static void i2cScan() {
|
||||
Serial.println(F("I2C scan:"));
|
||||
byte found = 0;
|
||||
for (byte addr = 1; addr < 127; addr++) {
|
||||
Wire.beginTransmission(addr);
|
||||
if (Wire.endTransmission() == 0) {
|
||||
Serial.printf(" device at 0x%02X\n", addr);
|
||||
found++;
|
||||
}
|
||||
}
|
||||
Serial.printf(" %d device(s) found\n", found);
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
delay(200);
|
||||
Serial.println(F("\n=== Weather Predictor booting ==="));
|
||||
Wire.begin(I2C_SDA, I2C_SCL); // MUST come before any I2C driver begin()
|
||||
i2cScan();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
#include <Arduino.h>
|
||||
|
||||
// ---- TFT (hardware SPI: SCK=D5, MOSI=D7) ----
|
||||
#define TFT_CS D8
|
||||
#define TFT_DC D3
|
||||
#define TFT_RST D4
|
||||
#define TFT_BLK D2
|
||||
|
||||
// ---- I2C (BMP180 + DS3231 share this bus) ----
|
||||
#define I2C_SDA D6
|
||||
#define I2C_SCL D1
|
||||
#define BMP180_ADDR 0x77
|
||||
#define DS3231_ADDR 0x68
|
||||
|
||||
// ---- Scheduler intervals (ms) ----
|
||||
// NOTE: for quick bench testing you may temporarily shrink these.
|
||||
static const unsigned long SAMPLE_INTERVAL_MS = 60UL * 1000UL; // read sensor / redraw
|
||||
static const unsigned long HISTORY_INTERVAL_MS = 5UL * 60UL * 1000UL; // store a history sample
|
||||
static const unsigned long FLUSH_INTERVAL_MS = 15UL * 60UL * 1000UL; // flush history to flash
|
||||
|
||||
// ---- History buffer ----
|
||||
static const int HISTORY_SIZE = 288; // 24 h @ 5 min
|
||||
static const float TREND_THRESHOLD_HPA = 1.6f; // >|1.6| hPa / 3 h = rising/falling
|
||||
|
||||
// ---- Defaults (editable via web) ----
|
||||
static const float DEFAULT_ALTITUDE_M = 150.0f;
|
||||
static const int DEFAULT_TZ_OFFSET_MIN = 7 * 60; // UTC+7
|
||||
static const float DEFAULT_LAT = 54.9870f;
|
||||
static const float DEFAULT_LON = 82.8730f;
|
||||
|
||||
// ---- Network ----
|
||||
#define NTP_SERVER "pool.ntp.org"
|
||||
#define AP_NAME "WeatherPredictor-Setup"
|
||||
Reference in New Issue
Block a user