#pi #framework #heart #widgets #embedded #codde

macro codde_protocol_derive

Multi Communication protocol in heart of the C.O.D.D.E. Pi framework

1 unstable release

0.1.0 Feb 23, 2024

#13 in #heart


Used in codde_protocol

Custom license

5KB

CODDE Protocol

Multi Communication protocol in heart of the C.O.D.D.E. Pi framework.

This Project is written in Rust, enabling fast serializing/deserializing and data processing. Client side is ported for Dart/Flutter applications, and server side has been translated in python.

Buy Me A Coffee

CODDE Protocol integrates data generated by CODDE Pi App widgets, and received by embedded systems. See https://codde-pi.com to stay tuned about new widgets integration.

Show me the code

With one code structure and a dozen of lines, you can receive data from socket, bluetooth of UART com. Just need a port address and registered actions on data is received :


import codde_pi_protocol as cp
import time

server = cp.CoddePiServer.use_socket('localhost:12345')

def action(*args):
    widget: cp.ToggleButton = args[0]
    print("value received : ", widget.value)
    server.callback(1, cp.ServerStatus.Idle, cp.ConfirmResult(True))

if __name__ == "__main__":
    print('open server...')
    server.open()
    server.on(1, "ToggleButton", action)
    # server.callback(1, cp.ServerStatus.Idle, cp.ConfirmResult(True))
    server.serve()
    time.sleep(2)
    server.close()

Roadmap

Protocols:

  • Socket
  • Bluetooth
  • UART
  • HTTP

Dependencies

~245–690KB
~17K SLoC