Type Alias EspruinoDevice

EspruinoDevice: {
    get evalTimeoutMs(): number;
    get isConnected(): boolean;
    disconnect(): void;
    eval(code: string, opts?: EvalOpts, warn?: ((message: string) => void)): Promise<string>;
    write(m: string): void;
    writeScript(code: string): void;
} & ISimpleEventEmitter<Events>

EspruinoDevice

This base interface is implemented by EspruinoBleDevice and EspruinoSerialDevice.

Type declaration

  • get evalTimeoutMs(): number

    Gets the current evaluation (millis)

  • get isConnected(): boolean
  • disconnect:function
    • Disconnect

      Returns void

  • eval:function
    • Sends some code to be executed on the Espruino. The result is packaged into JSON and sent back to your code. An exception is thrown if code can't be executed for some reason.

      const sum = await e.eval(`2+2`);
      

      It will wait for a period of time for a well-formed response from the Espruino. This might not happen if there is a connection problem or a syntax error in the code being evaled. In cases like the latter, it will take up to timeoutMs (default 5 seconds) before we give up waiting for a correct response and throw an error.

      Tweaking of the timeout may be required if eval() is giving up too quickly or too slowly. A default timeout can be given when creating the class.

      Options: timeoutMs: Timeout for execution. 5 seconds by default assumeExclusive If true, eval assumes all replies from controller are in response to eval. True by default debug: If true, execution is traced via warn callback

      Parameters

      • code: string

        Code to run on the Espruino.

      • Optionalopts: EvalOpts

        Options

      • Optionalwarn: ((message: string) => void)

        Function to pass warning/trace messages to. If undefined, this.warn is used, printing to console.

          • (message): void
          • Parameters

            • message: string

            Returns void

      Returns Promise<string>

  • write:function
    • Write some code for immediate execution. This is a lower-level alternative to writeScript. Be sure to include a new line character '\n' at the end.

      Parameters

      • m: string

        Code

      Returns void

  • writeScript:function
    • Writes a script to Espruino.

      It will first send a CTRL+C to cancel any previous input, reset() to clear the board, and then the provided code followed by a new line.

      Use eval instead to execute remote code and get the result back.

      // Eg from https://www.espruino.com/Web+Bluetooth
      espruino.writeScript(`
      setInterval(() => Bluetooth.println(E.getTemperature()), 1000);
      NRF.on('disconnect',()=>reset());
      `);

      Parameters

      • code: string

        Code to send. A new line is added automatically.

      Returns void