Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

brilliant-monocle-driver

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

brilliant-monocle-driver

A driver to connect to and control a Brilliant Labs Monocle peripheral

  • 0.1.3
  • PyPI
  • Socket score

Maintainers
1

Brilliant Monocle Driver

brilliant-monocle-driver is a simple Python library that uses Bleak to connect to and control a Brilliant Labs Monocle display device.

Install

pip install brilliant-monocle-driver

Usage examples

Display battery and then blank screen

import asyncio
from brilliant_monocle_driver import Monocle

def callback(channel, text_in):
  """
  Callback to handle incoming text from the Monocle.
  """
  print(text_in)

# Simple MicroPython command that prints battery level for five seconds
# and then blanks the screen
COMMAND = """
import display
import device
import time
from brilliant_monocle_driver import Monocle

def show_battery(count):
  batLvl = str(device.battery_level())
  display.fill(0x000066)
  display.text("bat: {} {}".format(batLvl, count), 5, 5, 0xffffff)
  display.show()

count = 0
while (count < 5):
  show_battery(count)
  time.sleep(1)
  count += 1

display.fill(0x000000)
display.show()

print("Done")

"""

async def execute():
    mono = Monocle(callback)
    async with mono:
        await mono.send(COMMAND)

asyncio.run(execute())

Receive touch events

import asyncio
from brilliant_monocle_driver import Monocle

def a_touch():
    print("A touch!")

def b_touch():
    print("B touch!")

async def execute():
    mono = Monocle()
    async with mono:
        await mono.install_touch_events()
        mono.set_a_touch_callback(a_touch)
        mono.set_b_touch_callback(b_touch)
        await asyncio.sleep(30000)

asyncio.run(execute())

Details

brilliant-monocle-driver attaches to a Monocle via the UART characteristics exposed over BLE in Monocle's default firmware, as specified in the Monocle documentation. Once connection is established, commands can be sent directly to the Monocle as MicroPython. The driver avoids MTU overflow and does some convenience / correction massaging (sending Ctrl-C to stop any running command and wrapping the incoming command in Ctrl-A | Ctrl-D to avoid interference from the REPL's echo and auto-formatting convenience behaviors).

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc