Skip to content

kLabz/wash

Repository files navigation

Watch Application System in Haxe

wasp-os userland code, ported to Haxe and then modified to my taste.

This is hugely WIP material. See #20 for some screenshots.

What it currently does:

  • Run on simulator or on a pinetime watch
  • Display date / time / battery level
  • Display notifications
  • Count steps (logging still missing, see #13)
  • Monitor heart rate (background monitoring still WIP, see #24)
  • Wake on button, tap or double tap depending on settings (only button in night mode)

Available apps:

  • Alarms
  • Calculator
  • Flashlight/Torch app
  • Heart rate monitoring
  • Night mode switcher
  • Steps counter
  • StopWatch
  • Timer

Haxe changes

Needed Haxe changes to get a better output (which is needed for micropython):

  • Bytes literal
  • // operator
  • Array access without overhead
  • Do not generate __slots__ (until supported by micropython)
  • NativeArrayTools.nativeSort()
  • Add @micropython.native runtime metadata (undocumented @:python("micropython.native"))
  • [-] Implement @:selfCall for python
  • [-] Add support for positional arguments, sometimes mandatory with micropython
  • Skip all the unneeded code when doing try / catch (e:SomeException)
  • Skip generating empty classes/interfaces
  • Avoid iterator mess more easily

See https://github.com/kLabz/haxe/tree/feature/micropython-utils or haxe submodule.

About

Watch Application System in Haxe

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages