Download
ABMT v20
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 10.05.2024
Changes:
- node search: remove projects with zero matches
- remove slow regex form str_split and csv2json
- json: add operator==, != and *=
- add links to ~/.local/bin if ~/.local/bin exists
- abmt starts in background (see --help)
- better wayland support
start gui with "ELECTRON_OZONE_PLATFORM_HINT=auto ./abmt-v20/gui/abmt-gui" on "wayland only" systems - img.draw_icon(): added parameter scale
- time: time operator*(const T& n, const time &rhs) now as template
Old version with float lead to serious errors in v18 and v19 versions - live runtime: new recovery method; bugfix: forced quit async raster when it never ran.
Older Versions (not recommended)
ABMT v19
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 19.01.2024
Changes:
- io: recevie response interface (rcv_rsp / _rr)
- simple_http-server example with REST interface
- Node wizzard
- REST-API for licensing.
- console: lines that contain the word "error" are now bold
- log_err is now deprecated.
- abmt::default_ptr: std::shared_ptr with default initialisation
default_ptr for i2c, pin and spi - execution order specified:
- All nodes that are ready ( inputs defined ) are executed with the following priority
- 1: left->right 2: top->bottom 3: first_insert->last_insert
- After all ready nodes are executed the evaluations procedure is repeated for the now ready nodes.
- see example
- json:
- you can now assign a json to a string!!!!
- dump_compact(width): more compact version of multiline dump
- added json::set(key, json&)
- integer-constructor as template (get rid of ambiguous problem)
- num to string now uses "%g" instead of "%f" -> no tailing zeros
- str() now dumps objects, arrays and booleans with dump("").
- operator!= return true on type missmatch
- remove of abmt::die on errors. Return *this instead
- views and models files are now saved with dump_compact...
- sim and live runtime executable take parameters.json and config.json as parameter
- added abmt::time conversions to days
- str_utils: str_replace_date new format: old: "#YYY -> 2020, #Y -> 20"; new: "#Y -> 2020 -> #y -> 20". (This will lead to other filenames in rec/playback nodes)
- added blob_shared.clear();
- util examples: rename node print_str to log_str
- Added copy_examples.sh to examples direcotry. When the example dir already exists it is updated
- util/pimpl: add support for no-rtti (uses __cpp_rtti)
- abmt::serialize: integer-constructor as template
- abmt::serialize::decoder now directly casts to std::string
- abmt::serialize: blob_shared now uses realloc on deserialization -> data can be pushed into an empty instance
- bugfixes
- abmt::time conversions to hours/week/year
- simulation runtime: wait for last task to be finished before set global_stop
- expressions: Literal strings could not contain a dot.
- eio::tcp_server: connected is set before on_new_connection. on_open is not called...
Version bevore v19 didn't have a rest interface for licensing. Yo can get a licence here.
ABMT v18
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 13.09.2023
Changes:
- statemachines: use of member-functions instead of std::function
- mat and vec types for float and int32.
- mat and vec can now convert between different underlying types
- abmt::time: conversion uses int64_t instead of double.
Use sec2() to get a double.
contol-example nodes from v17 won't work with v18 - Bugfixes in examples, gui and simulation runtime.
ABMT v17
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 16.07.2023
Changes:
- State machines
- raster transitions: fifo and operator+ mode
- Separate header and sourcefile for each raster
- Default includes: cstdint, cmath and string (for use in expressions)
- Increase connection timeout for slower devices (uart)
- View: images scale to view size as parameter
- Math example counter node: Fix accuracy.
- expressions:
- "true" and "false" are not converted to an input
- '->' operator supported
- json:
- add null-type
- remove internal not_init-type
- key_exsists, exsists and count return 0/false on none-obj-type
- dump() intend string as parameter ( "" leads to a single line output )
- abmt::time accepts std::chrono literals
- img_bw
- special member variables for nodes:
- 'node_name' contains the name of the node:
- 'raster_interval' [abmt::time] containts the raster interval. This forces the node into synchronous raster.
- SPI and pin interface (input and output pin)
- New async raster interface: return time to sleep instead of bool.
WARNING: Do NOT use raster sources that return abmt::time with runtimes made for abmt v16 and earlier!!! - abmt::os namespace moved to abmt
ABMT v16
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 23.01.2023
Changes:
- Subsystems now open in new tab
- License update:
- Fix WSL2 issue.
- You can get licenses for USB devices now
- Added generated MAC address form hard- AND software as alternative for licensing
- Comment in/out selected nodes
- Focus on dropped nodes
- GUI: cpu-usage optimization
- scene3d example: point3d has now a position input
- bugfix: region_of_interest.copy()
- live-runtime: removed recovery from delayed task
- PT2, PT1 and ma-filter can now initilaize with the first input value
- shared_buffer: changed parameter order for realloc and reset from (size, ptr) to (ptr, size)
Sorry, but abmt doesn't want to be memcpy :(
!!! breaks old examples (webcam, file, and s2p nodes) from older versions. Recopy them from this version !!!
ABMT v15
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 19.10.2022
Changes:
- Mostly a Bugfix release (deserialization, view)
- Print backtrace at segmentation fault
- img returns *this for chaining and use in expressions: img.write_text(...).write_text(...)
- examples for img and io updated
- added rand node and parse_json node
- add read_- and write_file example
- rename avg_filter to ma_filter
- seralization example: serialize- and deserialize-nodes
- s2p example nodes
ABMT v14
GUI-Only: win64 (for use with WSL or remote connections via SSH)
Release Date: 10.10.2022
Changes:
- Simulation runtime
- Referenced models
- Record and Playback examples
- Runtimes can now placed in workspace (with "rt_"-prefix)
- Automatic port selection for gui and model
- Control example: pt2 change from frequency parameter to time.
- abmt::time.delta_to_now() (will not work in simulations)
- Async rasters: poll triggert without sleep. (you have to sleep your self in poll) Don't sleep to long(<500ms) to allow proper shutdown
- Logging over abmt-connection
- Transmitting model information in smaller packages possible (for embedded systems)
- abmt::os::die_if(bool, "message")
- Keep signal list in view when model goes offline.
- eio: dynamic input buffer
- New method get_model(). Include of the model-header isn't nessesary anymore.
ABMT v12
GUI-Only: win64
ABMT v11
GUI-Only: win64
ABMT v10
Linux: amd64