Skip to content

Gladsheimr/mjolnir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mjolnir

"Hammer of the gods, made in the heart of the densest stars"

Making device-native applications where developers can develop full stack applications directly on devices.

Roadmap

Stage 1

Markup for UI/UX

Markup language to define simple logic

#app.mjl
<Mjolnir>
  <Device.LED rgb="#fff" intensity={(state)=> state.intensity }} /> 
  <Device.Loop interval={3} intensity={mjl.loop(state.intensity)} /> 
</Mjolnir>

AI Services

TinyML Bolt

... describe an lstm model in C? 

Device configuration

Anvil file that describe device

#minized-dev.anv 

device:
  soc:
    - xilinx-zynq-xc7007s-soc
    
io:
  ble:
    stream:
      - state.temp.value:rn
      - state.up_or_down:rn
  led:
    states:
      -intensity=mlr.float64
      -color=mlr.int32
  temp:    
    states:
      -celcius=mlr.float32
      
  
services:
  will_temp_raise:
    states:
      - up_or_down:mlr.bool
    model:
      context: model.c 
     

Orchestration and CLI Tools

mjl strike --anvil=minized-dev.anv --com=/dev/com-1 app.mlr
  > building 
  > deploy
  
mjl services
  - will_temp_raise
  
mjl states
  - ble
  - led
  - temp
  
mjl bolts state.temp services.will_temp_raise --out=csv,grpc
  - Data streaming and available as gRPC call on 
  mjl://Sx2SA112/csv
  mjl://Sx2SA112/grpc
    
``

# Next Steps

1. Figure out if we can deploy model as WASM to FPGA
2. How do we make WASM work? Is WASM a good model?
3. Prototype out the above as if running on device
4. Start making things work on device ;)