Repository navigation
Releases: ordu1453/mapcan
Release list
mapcan 0.23.1
mapcan 0.23.1
Installation
- Windows: download
mapcan-0.23.1-setup.exeand run it. No administrator rights required.
Without installing:mapcan-0.23.1-windows-x64.zip(runmapcan-app.exe). - Linux (x64): extract
mapcan-0.23.1-linux-x64.tar.gzand runmapcan/mapcan-app(the editor opens in the browser) ormapcan/mapcan(command line). - Python 3.12 or newer:
uv tool install "mapcan[desktop]==0.23.1"(orpipx install), PyPI - Docker:
docker run --rm -v "$PWD:/work" ghcr.io/ordu1453/mapcan:0.23.1 build mapcan.yaml -o build
Full Changelog: v0.23.0...v0.23.1
mapcan 0.23.0
mapcan 0.23.0
Installation
- Windows: download
mapcan-0.23.0-setup.exeand run it. No administrator rights required.
Without installing:mapcan-0.23.0-windows-x64.zip(runmapcan-app.exe). - Linux (x64): extract
mapcan-0.23.0-linux-x64.tar.gzand runmapcan/mapcan-app(the editor opens in the browser) ormapcan/mapcan(command line). - Python 3.12 or newer:
uv tool install "mapcan[desktop]==0.23.0"(orpipx install), PyPI - Docker:
docker run --rm -v "$PWD:/work" ghcr.io/ordu1453/mapcan:0.23.0 build mapcan.yaml -o build
Full Changelog: v0.22.0...v0.23.0
mapcan for VS Code 0.6.5
- Needs mapcan 0.23.1 or newer, which the extension offers to install or update.
- Add Device in a New File… on a bus in the Map view (#136): the device goes into a new file,
devices/<name>.yamlrelative to the map by default, which is added toincludeof the map in
the same edit. The device is named after the file (devices/pump.yaml:pump) when that
name is a free identifier on the bus. The file opens, and the device in the Node panel. A map
edited by several people can keep one file per device this way, without creating the files and
theincludelines by hand. - Deleting a device in the Map view also deletes the included file it leaves empty (only the bus
by name, no devices, frames or value tables) and its line ofinclude, in one edit. - The hover of a frame lists its signals first, with their position and size, and then the bit
map, where bytes with the same signals share a row: the list no longer falls below the edge of
the hover, and a CAN FD frame of 64 bytes stays short. - The tooltip of a bus in the Map view says what its estimated load is (at least, when some
frames have no period, how many are counted) and why there is none (no bitrate, no
data_bitratefor frames with bit rate switching). A bus none of whose frames has a period
shows no load instead of≥0%. - The Node form of a frame or a signal starts with its identifier, then the optional title that
defaults to it; a node just added has its identifier selected, ready to be typed over. - A signal's position is written in one notation whichever field of the Node form or drag on the
bit layout changed it (#117):byte+byte_lengthfor whole bytes from a byte boundary,
byte+bit+bit_lengthwithin one byte,start_bit+bit_lengthotherwise. A signal
dragged across a byte boundary switches the notation in place. - The Node form of a frame has no Sender field: who sends a frame follows from where it is
written (its device, or outside the map for a frame of the bus). The master that sends a
CANopen RX function written at its node stayssenderin the YAML, with completion, Go to
Definition and rename as before. - Fixed: a text field of the Node form that had the focus when the form moved to another node
(a node duplicated or selected in the Map view) wrote its text into that node; duplicating a
signal just added renamed the copy back to the original's name.
mapcan for VS Code 0.6.4
- Needs mapcan 0.23.0 or newer, which the extension offers to install or update.
- Export in a file included by a map exports the map it is a part of, as when the map is the
active editor: files named after the map, in the output folder next to it, with the unsaved
changes of the open files. It used to stop with "the map has errors". - The CANopen function of a frame in an included file offers every function in the form, with
the ones whose ID is taken on the bus disabled, not only its current value. - The Map view puts a device's node ID (or J1939 source address) before its title, so a long title
no longer hides it; the tooltip shows the full title and the address. - The Map view shows the estimated load of each bus by its title, as the web editor does:
≥
before it when frames without a known period are not counted.
mapcan 0.22.0
mapcan 0.22.0
- The frame field
directionis deprecated: the device a frame is described at is its sender, and
what every device receives follows fromreceivers.mapcan migrate(or the quick fix) removes it. - Generated C: the names of frames, devices and map constants never clash.
- Maps are read through libyaml: analysing a large map is 6-9 times faster.
- The JSON Schema is published at a stable URL, and new maps and the examples point to it, so any
editor with a YAML language server completes keys. - New maps start with the
$schemaline only, without the explanatory comment (#120, thanks
@ParthMuley). - The language server's new signal (+ Signal in VS Code) never lies over another one: it takes a
free byte, else grows the frame, else the free bits. - README: mapcan as an open-source CAN database editor, with demo GIFs of the web editor and VS Code.
Installation
- Windows: download
mapcan-0.22.0-setup.exeand run it. No administrator rights required.
Without installing:mapcan-0.22.0-windows-x64.zip(runmapcan-app.exe). - Linux (x64): extract
mapcan-0.22.0-linux-x64.tar.gzand runmapcan/mapcan-app(the editor opens in the browser) ormapcan/mapcan(command line). - Python 3.12 or newer:
uv tool install "mapcan[desktop]==0.22.0"(orpipx install), PyPI - Docker:
docker run --rm -v "$PWD:/work" ghcr.io/ordu1453/mapcan:0.22.0 build mapcan.yaml -o build
What's Changed
- Remove explanatory comments from new maps by @ParthMuley in #121
New Contributors
- @ParthMuley made their first contribution in #121
Full Changelog: v0.21.1...v0.22.0
mapcan 0.21.1
mapcan 0.21.1
- The language server serves the templates of a new map and the example maps, so the VS Code
extension (0.6.1) offers Create Map and the examples, as the web editor's start screen does. - The hover of a frame says its length ("length 8") instead of "DLC 8", after the field was renamed
in 0.21 (#59).
No changes to the map format.
Installation
- Windows: download
mapcan-0.21.1-setup.exeand run it. No administrator rights required.
Without installing:mapcan-0.21.1-windows-x64.zip(runmapcan-app.exe). - Linux (x64): extract
mapcan-0.21.1-linux-x64.tar.gzand runmapcan/mapcan-app(the editor opens in the browser) ormapcan/mapcan(command line). - Python 3.12 or newer:
uv tool install "mapcan[desktop]==0.21.1"(orpipx install), PyPI - Docker:
docker run --rm -v "$PWD:/work" ghcr.io/ordu1453/mapcan:0.21.1 build mapcan.yaml -o build
Full Changelog: v0.21.0...v0.21.1
mapcan 0.21.0
mapcan 0.21.0
The first version on PyPI: uv tool install "mapcan[desktop]" (or pipx install), and
mapcan[lsp] for the VS Code extension.
Every change keeps mapcan: 1; former names stay readable with the warning deprecated-key, and
mapcan migrate (or the VS Code quick fix) rewrites a map and its included files keeping comments.
The policy is in docs/format.md ("Versioning and compatibility"), the details in
docs/format-changelog.md. (#67)
-
The frame field
dlcislength, the data length in bytes; the DLC code follows from it. (#59) -
signedandsigned_codeare one field,representation. (#63) -
The frame field
typeiscanopen, the frame's CANopen function. (#62) -
invalidisinvalid_raw, and takes ranges and values by meaning (not_available,error),
with…_is_not_available()/…_is_error()in generated code. (#60, #97) -
The bus field
interfaceisconnector; the adapter and channel are not part of the map. (#96) -
The print details of the title page move into
document.print. (#61) -
An included file starts with
mapcan: 1andpart_of: <map>, and has its own JSON Schema. (#54) -
New: CAN FD
data_bitrateand sample points of buses (#95), the receive timeouttimeout_msof
frames (#98),encoding: stringfor text such as a VIN (#99), a signal'ssourceto send the map
version or a layout CRC32 (#104). -
mapcan fmt [--check]writes maps in one key order. -
A map split into several files is edited as one: the nodes of an included file are edited in the
web editor, the VS Code forms and the Map view, each written in its own file; rename and
references cover every file, and an included file opens in the context of its map. (#49, #56) -
The language server analyses a change once typing pauses, in a worker thread. (#85, in part)
-
The web editor asks with explicit buttons and does not lose edits through dialogs or YAML drafts.
(#81) -
mapcan serveon a network address requires a token. (#82) -
The web editor and VS Code link to the project, its documentation and a new issue.
-
11-bit and 29-bit frames with the same number are told apart. (#91)
-
J1939: an RX frame takes its source address from its sender. (#92)
-
The flags of a signed bit field are exported to DBC as unsigned again.
-
Missing translations fall back to the document language, not Russian.
-
Python 3.12, 3.13 and 3.14; the heavy dependencies are extras (
desktop,lsp, …). (#84, #86) -
Published to PyPI from the release workflow. (#68)
Installation
- Windows: download
mapcan-0.21.0-setup.exeand run it. No administrator rights required.
Without installing:mapcan-0.21.0-windows-x64.zip(runmapcan-app.exe). - Linux (x64): extract
mapcan-0.21.0-linux-x64.tar.gzand runmapcan/mapcan-app(the editor opens in the browser) ormapcan/mapcan(command line). - Python 3.12 or newer:
uv tool install "mapcan[desktop]==0.21.0"(orpipx install), PyPI - Docker:
docker run --rm -v "$PWD:/work" ghcr.io/ordu1453/mapcan:0.21.0 build mapcan.yaml -o build
What's Changed
New Contributors
Full Changelog: v0.20.0...v0.21.0
mapcan for VS Code 0.6.3
- Needs mapcan 0.22.0 or newer, which the extension offers to install or update.
- With the YAML extension installed, every map and every file a map includes gets the format's
schema (completion and hovers of keys) without a# yaml-language-server: $schema=line. The
schemas come with the extension and work offline. - The Map view no longer follows an editor that is active only for an instant while tabs switch, as
VS Code 1.141.2 does when an older version opens from History: the tree could show a map open
beside. - + Signal in the Map view no longer puts a new signal over another one at bit 0 when the frame
has no free byte or the map has an error. Like the web editor, it takes a free byte, else grows
the frame by a byte (on a CAN FD bus, to the next allowed length), else the free bits; a frame
with no free bits gets no signal and a message says so.
mapcan for VS Code 0.6.2
- The extension installs mapcan itself: with no
mapcanfound, it offers Install, downloads
uv and lets it set up Python andmapcan[lsp,pdf,xlsx]from PyPI in
the extension's global storage, one copy for every folder. No terminal, no Python installed
beforehand and noPATHchanges. mapcan: Install or Update mapcan does the same, and Update
in the message about an older mapcan updates it where it was found, without a terminal. - Once a session of VS Code, when the server starts, the extension looks on PyPI for a newer mapcan
than the one it installed and offers Update (mapcan.server.checkForUpdates turns it off). - Maps in several files are simpler to edit: the Map view is one tree with no file names in it (the
tooltip names the file), the Node panel no longer says which file a node is from, and a file the
extension changes while no tab shows it is saved together with the map instead of a message about
it. - Get started with mapcan is shorter and hands-on: Show a Problem opens a small map of the
tour with a mistake and its quick fix, Show a Hover shows the hover of a frame. New steps for
Export and History with their pictures, and Learn more with links to the repository,
PyPI and issues. The install step is done once a language server runs. - The Map view no longer switches to another map open beside when an older version of the map opens
from History (VS Code 1.141.2 and newer).
mapcan for VS Code 0.6.1
- With no map open, the Map view offers Create Map (from a template: CANopen, SAE J1939, CAN with
explicit IDs or empty) and opening an example map as a copy in a folder of yours, as the web editor's
start screen does. The templates and the examples come with mapcan 0.21.1 or newer; with an older
one the extension says so and offers the update. Get started with mapcan on the Welcome page is
a short tour of the extension.