Heisenware Docs
Go to websiteGet a demo
  • 👋Welcome
  • Getting started
  • Release Notes
    • v84 - Get in the flow
    • v83 - Beauty treatment
    • v82 — Fully distributed
    • v81 — Removing old cruft
    • v80 — Chicks on fire
    • v79 — Nothing is forever
    • v78 — Keep moving
    • v77 — More intelligence
    • v76 — Well cooked
  • Build & Deploy Apps
    • Overview
    • Flow Builder
      • Nodes (Functions)
        • Inputs
        • Trigger
        • Output
      • Flows
      • Function Extensions
        • Modifier
        • Filter
        • Error handler
        • Memorizer
      • Objects & Instances
      • Utilities
        • Basic Functions
        • PDF functions
        • Circular buffer
        • Timer
        • Counter
    • Integrations
      • Protocol Connectors
        • GraphQL
        • HTTP/REST
        • MQTT
        • OPC UA
          • Heidenhain PLCs with OPC UA
        • RS-232/485
        • Siemens S7
      • Data Connectors
        • File
        • Relational Database
        • Time Series Database (WIP)
      • API Connectors
        • OGC SensorThings API
        • Operating System
        • Zebra RFID IoT Connector
      • Agent / (Edge Connector)
      • Calling Custom Code
    • UI Builder
      • Input Widgets
        • Form
        • File Upload
        • Photo
        • Signature
        • Barcode / QR-Code (WIP)
        • Document Scan (WIP)
      • Display Widgets
        • Chart
        • Chat
        • Circular Gauge
        • Data Grid
        • Linear Gauge
        • Map
        • Media View
        • Progress Bar
        • Sparkline
        • Status Lamp
        • Toast
        • Value Box
        • Kanban Board
        • Data Tiles
        • Pie Chart
        • Sankey
      • Buttons
      • Text Box
      • Images
      • Icons
    • Communication Interfaces
      • Email Notifications
      • OPC UA Server
    • Data & File Storage
      • Internal InfluxDB
      • Internal PostgreSQL
      • File Server
    • App Appearance
      • Pages
      • In-App Navigation
      • Screens & Devices
      • Theming
    • Simulation & Testing
      • Simulating Events
      • Simulating Data
    • PDF Templates
    • RAG-based Chatbot
    • Deployment
  • Manage Apps
    • Overview
    • Manage Apps
      • General Settings
      • Users and Access
      • Distribution & Versioning
    • Manage Integrations
    • Manage Account
      • Account Structure
      • Members
      • Workspaces
  • TUTORIALS
    • Build Your First Heisenware App
  • Connect Heidenhain CNC with OPC UA Support
  • Related links
    • Website
    • Privacy policy
    • Imprint
Powered by GitBook
On this page
  • Creating a buffer
  • Deleting a buffer
  • Circular buffer functions
  • Retrieving buffer size
  • Retrieving buffer capacity
  • Retrieving buffer content
  • Inserting value in front
  • Inserting value at the end
  • Retrieving first entry
  • Retrieving last entry
  1. Build & Deploy Apps
  2. Flow Builder
  3. Utilities

Circular buffer

Last updated 6 months ago

ATTENTION. THIS CURRENTLY WORKS DIFFERENTLY FROM A CIRCULAR BUFFER ⚠️ READ ESPECIALLY , , and !

To quickly start with circular buffers:

  1. Find the Functions panel on the left-hand side of the screen.

  2. Expand Utilities and then Circular Buffer.

  3. Create a buffer instance with the function.

  4. Expand the instance that appeared in the panel and get started with using the buffer.

Use the and functions to manage the existing . Existing buffers can be seen in the functions panel on the left under circular buffers. Yellow ones are uninstantiated and green ones are ready for use.

Creating a buffer

To create a circular buffer:

  1. Insert a new name in the yellow field.

  2. Insert a capacity in integer form in the second field.

  3. Click the trigger field to create an instance of the buffer

    • You should see the buffer in the functions panel go from yellow to green

Deleting a buffer

To delete a buffer:

  1. Insert the name of an existing buffer in the yellow field.

  2. Click the trigger field.

The instance in the functions panel will turn yellow again, until the yellow field of the create function is cleared, or the create function is deleted from the board.

Circular buffer functions

To utilize the circular buffer, you can find functions tied to each instance when you expand the instance with a click on the arrow in front of it.

Retrieving buffer size

getSize returns the amount of values currently saved inside the buffer.

Retrieving buffer capacity

getCapacity returns the maximum number of values storable in the buffer.

Retrieving buffer content

getBuffer returns the content of the circular buffer as an object.

Inserting value in front

pushFront inserts a new value at the front, pushing all other values back one slot. When the buffer is full, the values at the back get dropped.

Inserting value at the end

pushBack inserts a new value at the end of the currently existing values. When the buffer is full, new values are inserted at the end and old values get pushed one index to the front. The first entry is thereby deleted every time something is inserted into a full buffer with this function.

Retrieving first entry

With popFront you can get the first entry in the buffer returned. The entry is deleted upon triggering this function and all other entries move up one index.

Retrieving last entry

With popBack you can get the last entry in the buffer returned. The entry is deleted upon triggering this function.

circular buffers
pushFront
pushBack
popFront
popBack
create
create
delete
Create a circular buffer
Delete a circular buffer
Where to find circular buffer instances
Circular buffer getSize
Circular buffer getCapacity
Circular buffer getBuffer
Circular buffer pushFront
Circular buffer pushBack
Circular buffer popFront
Circular buffer popBack