How cnlohr/esplocalizer works
ESPLocalizer is an ESP8266-based sensor board with two firmware implementations: Arduino 10-DoF sensor code and ESP8266 C firmware. In the C firmware, boot setup initializes I²C and sensor access; the fast-accelerometer HTTP endpoint collects and streams samples. The web directory also contains browser and firmware-transfer components, but their wiring is not established by the sampled evidence. The README documents the board’s BMP280 and LSM9DS1 sensors and battery charger; charger behavior is not represented in the available source. Several relationships are omitted where implementation details were not shown.
Main entry points: user_main.c Firmware Runtime · i2c.c Sensor Coordinator · esp_10dof.ino Arduino Sketch · lsm9ds1.h LSM9DS1 Driver
Components 22
Arduino Firmware
- Arduino Sketch
firmware-arduino/esp_10dof/esp_10dof.ino - BMP280 Driver
firmware-arduino/esp_10dof/bmp280.cpp - IMU Interface
firmware-arduino/esp_10dof/imu.h - LSM9DS1 Driver
firmware-arduino/esp_10dof/lsm9ds1.h - Sensor Registers
firmware-arduino/esp_10dof/lsm9ds1_reg.h - Sensor Types
firmware-arduino/esp_10dof/lsm9ds1_types.h
ESP8266 C Firmware
- Firmware Runtime
firmware-c/user/user_main.c - Custom Commands
firmware-c/user/custom_commands.c - Wi-Fi Scanning
firmware-c/user/promiscuous.c
Sensor Interfaces
- Sensor Coordinator
firmware-c/user/i2c.c - Bit-Banged I²C
firmware-c/user/static_i2c.h - BMP280 Access
firmware-c/user/bmp280.h - LSM9DS1 Access
firmware-c/user/lsm9ds1.h
Web Tools
- Web Interface
firmware-c/web/page/menuinterface.js - Web Page
firmware-c/web/page/index.html - Reflash Handler
firmware-c/web/execute_reflash.c - Device Transfer
firmware-c/web/pushtodev.c - Filesystem Maker
firmware-c/web/mfsmaker.c - MD5 Digest
firmware-c/web/md5.c
Other components
- User
- ESP8266 Board
- Sensor Hardware
Connections 16
- User → Arduino Sketch: loads firmware
README.md - User → Firmware Runtime: uses board
README.md - Firmware Runtime → ESP8266 Board: runs on
README.md - Sensor Hardware → ESP8266 Board: connects to
README.md - Firmware Runtime → Sensor Coordinator: initializes
firmware-c/user/user_main.c - Firmware Runtime → Sensor Coordinator: reads samples
firmware-c/user/user_main.c - Sensor Coordinator → Bit-Banged I²C: uses bus
firmware-c/user/i2c.c - Sensor Coordinator → BMP280 Access: calls
firmware-c/user/i2c.c - Sensor Coordinator → LSM9DS1 Access: calls
firmware-c/user/i2c.c - Firmware Runtime → Web Interface: serves interface
- Reflash Handler → MD5 Digest: uses digest
firmware-c/web/execute_reflash.c - Arduino Sketch → BMP280 Driver: uses driver
- Arduino Sketch → LSM9DS1 Driver: uses driver
- Arduino Sketch → IMU Interface: uses interface
- LSM9DS1 Driver → Sensor Registers: uses definitions
firmware-arduino/esp_10dof/lsm9ds1.h - LSM9DS1 Driver → Sensor Types: uses types
firmware-arduino/esp_10dof/lsm9ds1.h