Self-made altitude sensor: ESP32-C3 SuperMini + BMP280 broadcasting pressure and temperature over standard BLE Environmental Sensing. Read into baldav the same way as the heart-rate strap (Kotlin BLE service -> file -> Rust -> JS), new device_type 'baro'. - BleHrService: 'baro' type subscribes to ESS 0x181A (pressure 0x2A6D uint32 0.1 Pa, temperature 0x2A6E int16 0.01 C), writes ble_baro_data.json + ble_baro_log.jsonl. Every baro branch is gated by deviceType=='baro', so HR/GPS paths are untouched. - ble.rs: BaroReading, ESS detection, ble_get_baro command (Android reads the file, desktop returns None). Registered in lib.rs. - frontend/js/baro.js: passive window.BARO - hypsometric pressure->altitude using the sensor temperature, anchored to GPS altitude at ride start. Nothing runs until BARO.start(), so with no barometer the app is unchanged. - tools/baro-sensor: firmware (PlatformIO main.cpp + Arduino sketch) that reads BMP280 at max oversampling and advertises the ESS service. Prep only: no hardware yet, verified by compile (build 0.1.538). Live wiring and ride-track integration pending the board.
33 lines
1.2 KiB
HTML
33 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
|
<title>BalDav</title>
|
|
<link rel="stylesheet" href="lib/leaflet.css" />
|
|
<link rel="stylesheet" href="css/styles.css" />
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
|
|
<!-- Load order matters: db.js and bmr.js expose window.DB / window.BMR,
|
|
then main.js uses them. Tauri injects window.__TAURI__ before page scripts. -->
|
|
<script src="lib/leaflet.js"></script>
|
|
<script src="lib/leaflet-rotate.js"></script>
|
|
<script src="lib/hammer.min.js"></script>
|
|
<script src="lib/chart.min.js"></script>
|
|
<script src="lib/chartjs-plugin-zoom.min.js"></script>
|
|
<script src="lib/jszip.min.js"></script>
|
|
<script src="lib/zxing-wasm.js"></script>
|
|
<script src="js/db.js"></script>
|
|
<script src="js/baro.js"></script>
|
|
<script src="js/bmr.js"></script>
|
|
<script src="js/tilecache.js"></script>
|
|
<script src="js/gps.js"></script>
|
|
<script src="js/router.js"></script>
|
|
<script src="js/poi.js"></script>
|
|
<script src="js/sync.js"></script>
|
|
<script src="js/chzn.js"></script>
|
|
<script src="js/main.js"></script>
|
|
</body>
|
|
</html>
|