Uniot Docs
  • Introduction
  • Guides
    • Getting Started
    • Uniot Badge
    • Device Network
  • Foundations
    • Edge Logic Deployment
  • General Concepts
    • Primitives
    • Scripting
  • Platform
    • Dashboard
    • Sandbox
      • Visual Editor
        • Special
        • Logic
        • Math
        • Loops
        • Text
        • Variables
        • Functions
        • Primitives
      • Logger
      • Emulator
      • Control Panel
  • Advanced
    • Uniot Core
      • Scheduler
        • TaskScheduler
        • IExecutor
        • ISchedulerConnectionKit
        • Task
        • SchedulerTask
      • AppKit
        • AppKit
        • LispDevice
        • LispPrimitives
        • TopDevice
      • CBORWrapper
        • CBORObject
        • COSE
        • COSEMessage
        • ICOSESigner
      • Date
        • Date
        • SimpleNTP
      • EventBus
        • EventBus
        • IEventBusConnectionKit
        • DataChannels
        • EventEmitter
        • EventListener
        • EventEntity
        • CallbackEventListener
      • Hardware
        • Button
      • LispWrapper
        • DefaultPrimitives
        • LispHelper
        • PrimitiveExpeditor
        • unLisp
      • MQTTWrapper
        • CallbackMQTTDevice
        • MQTTDevice
        • MQTTKit
        • MQTTPath
      • Network
        • ConfigCaptivePortal
        • NetworkController
        • NetworkScheduler
      • Register
        • GpioRegister
        • ObjectRegister
        • ObjectRegisterRecord
        • Register
        • RegisterManager
        • RegisterManagerProxy
      • Storage
        • CBORStorage
        • CrashStorage
        • Storage
        • WifiStorage
      • Utils
        • Array
        • Bytes
        • ClearQueue
        • IterableQueue
        • LimitedQueue
        • GlobalBufferMemoryManager
        • Map
        • Singleton
        • TypeId
      • Credentials
    • Uniot Lisp
      • Language Description
      • Embedding Instructions
  • API
    • MQTT Convention
Powered by GitBook
On this page
  1. Advanced
  2. Uniot Core

LispWrapper

PreviousButtonNextDefaultPrimitives

Last updated 2 months ago

The LispWrapper module is a crucial component within the Uniot Core, designed to integrate Lisp-based scripting capabilities. It provides a seamless interface between Lisp scripts and the underlying hardware and software functionalities.

Components

The DefaultPrimitives component defines a set of primitives essential for interacting with hardware. These primitives serve as the bridge between Lisp scripts and the underlying system functionalities, enabling seamless communication and control.

The PrimitiveExpeditor class is responsible for defining, describing, and managing Lisp primitives. Serving as an intermediary between Lisp scripts and system functionalities, it facilitates the registration and invocation of primitives, ensuring that Lisp code can effectively interact with the underlying Uniot system.

The LispHelper component provides a suite of utility functions and definitions that facilitate the integration and management of Lisp. Serving as a foundational layer, it simplifies the interaction between Lisp scripts and the underlying system by offering type definitions, type-checking mechanisms, and helper functions.

The unLisp class is responsible for managing the Lisp execution environment, handling primitive registrations, and facilitating the evaluation of Lisp scripts. As a singleton, it ensures that only one instance of the Lisp environment exists throughout the application's lifecycle, providing a unified interface for Lisp interactions.

DefaultPrimitives
PrimitiveExpeditor
LispHelper
unLisp