Embedded32 API
    Preparing search index...

    Module @embedded32/core

    @embedded32/core

    Lightweight embedded-style runtime for Embedded32: cooperative scheduler, in-process message bus, module base class, and configuration loading.

    npm install @embedded32/core
    
    import { Runtime, BaseModule } from '@embedded32/core';

    class HelloModule extends BaseModule {
    onInit() {
    this.log('initialized');
    }
    onStart() {
    this.bus.subscribe('ping', () => this.log('pong'));
    this.bus.publish('ping', {});
    }
    onStop() {
    this.log('stopped');
    }
    }

    const runtime = new Runtime({ logLevel: 'info' });
    runtime.registerModule(new HelloModule('hello'));
    await runtime.start();
    await runtime.stop();

    See embedded32-core/examples/basic-runtime.ts in the monorepo.

    Export Role
    Runtime Orchestrates modules, scheduler, bus, logger
    BaseModule Author modules with onInit / onStart / onStop
    MessageBus Topic pub/sub between modules
    Scheduler every, once, clear timers
    Built-in modules Heartbeat, health, LED, CAN gateway helpers
    • Node.js 18+
    • CommonJS or ESM depending on consumer bundler (package builds to ESM dist/)

    None for core runtime alone. GPIO/LED modules need Raspberry Pi hardware when enabled.

    Node.js focused. Scheduler and message bus are not packaged for browser use in v1.0.

    Error Fix
    Module never receives events Call runtime.start() after registerModule
    subscribe after stop Re-subscribe in onStart
    Config file not found Pass valid configPath or omit for defaults
    • @embedded32/supervisor - process-level module lifecycle
    • @embedded32/cli - launch runtime from configuration
    • @embedded32/can - CAN modules inside runtime apps
    • @embedded32/j1939 - protocol modules

    @embedded32/core@1.0.0 matches supervisor and CLI 1.0.0 in this release train.

    MIT © Mukesh Mani Tripathi

    BaseModule
    CANGatewayModule
    ConfigLoader
    ConfigPathError
    ConfigValidationError
    HeartbeatModule
    J1939EngineModule
    J1939GatewayModule
    LEDModule
    Logger
    MessageBus
    ModuleRegistry
    MqttCredentialError
    RaspberryPiLEDModule
    Runtime
    Scheduler
    SystemHealthModule
    LogEntry
    Message
    Module
    ModuleContext
    MqttAuthConfig
    ResolvedMqttCredentials
    RuntimeConfig
    Task
    MessageHandler
    SafeConsoleLevel
    FORBIDDEN_CONFIG_KEYS
    MAX_CONFIG_KEY_LENGTH
    MAX_CONFIG_PATH_DEPTH
    MAX_LOG_VALUE_LENGTH
    MQTT_PASSWORD_ENV
    MQTT_USERNAME_ENV
    deepCopyConfig
    logConfigLoadWarning
    redactSecrets
    resolveMqttCredentials
    safeConsoleWrite
    sanitizeLogText
    serializeLogValue
    stripInlineMqttCredentials
    validateConfigObject
    validateConfigPath