Skip to content

PixelWeatherProject/pwos-lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PixelWeatherOS Lite

This is an alternative implementation of PixelWeatherOS in MicroPython for comparison purposes only. It will not be actively developed.

For details see the original version in Rust linked above.

Installation

You can install this using rshell.

Assuming you're in the root of this repo, you can use rshell's rsync -m . /pyboard command to transfer all the scripts to flash.

Features compared to the Rust version

  • CPU clock defaults to maximum 240MHz
    • Not possible without a custom MP build.
    • The CPU is overclocked at runtime instead.
  • Detection and reporting of erros from previous runs
  • Customized optimized logger
  • USB serial detection
    • Not possible without a custom MP build.
  • Browout detector control
  • ESP-IDF version detection
    • Not possible without a custom MP build.
  • On-board LED control
  • Battery voltage measurement
  • Low battery voltage detection (sBOP)
  • I2C hardware support
  • Runtime application configuration
  • Deep sleep
  • Fake sleep (for debugging sessions)
    • Not possible without USB serial detection.
  • WiFi support
  • Communication with PWMP
    • Can read runtime application configuration
    • Can perform handshake
    • Can send mesurement results
    • Can send stats
    • Can check for OTA updates
      • Not possible without heavy modifications to the PWMP server.
    • Can send notifications
    • Type-safe
      • Not possible.
  • Interface for multuple environment sensors
  • Detection and reporting of abnormal reset reasons
  • OTA support
    • Auto-rollback if the firmware is not working
      • Possible, but may use a lot of flash storage.
  • Advanced error handling
    • Not possible due to Python.

Size comparison

Firmware (debug) Firmware (release -O3) Interpreter
MicroPython N/A 180kB* 1.6MB
Rust 1.106MB 758kB N/A
  • *: Optimization does not exist in this context

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Languages