76 Commits

Author SHA1 Message Date
AlexanderHD27
2824bdac6e Build text base interface 2025-01-09 03:10:03 +01:00
AlexanderHD27
b040662551 Implemented RPCs for CoreXY 2025-01-08 21:19:03 +01:00
AlexanderHD27
0b620a76ca Got GoRPC on Head working 2025-01-08 01:00:13 +01:00
AlexanderHD27
89f494ba58 Removed Pycach files and added RPC Packages for drop and mov z-axis 2025-01-07 23:59:21 +01:00
AlexanderHD27
c73a9212eb Fixed further issues 2025-01-07 23:33:01 +01:00
AlexanderHD27
9ab6cbe097 Fixed Issue: emptyQueue in Hub was not filled correctly 2025-01-07 21:13:38 +01:00
AlexanderHD27
2a038367a8 Fixed Python Interface 2025-01-07 17:10:28 +01:00
AlexanderHD27
1f5148dcdd Got Hub to read from Node on interrupt 2025-01-06 04:17:59 +01:00
AlexanderHD27
1e317adedd Implemented RX on Node 2025-01-06 03:28:10 +01:00
AlexanderHD27
caf7586b5b Few minor changes 2025-01-04 13:32:23 +01:00
AlexanderHD27
08154454fa moved controll interface to seperate folder 2025-01-04 04:14:03 +01:00
AlexanderHD27
7dd6686b01 Update PinConfig (BUild Board) 2025-01-04 04:08:43 +01:00
AlexanderHD27
db464efa36 Added Transmission Sucess 2025-01-03 20:10:15 +01:00
AlexanderHD27
aa9d00bf6e Implement I2C 2025-01-03 19:54:13 +01:00
AlexanderHD27
bac01e3a9b Switched hub Freertos to multicore 2025-01-03 12:48:10 +01:00
AlexanderHD27
1fd8737fe4 Fixed major UART Issue, I hate it 2025-01-03 12:33:51 +01:00
AlexanderHD27
cbf702c6d5 Implemented PACKET_RX,PACKET_TX and Heartbeat of GobotRPC_CtrlInterface 2025-01-03 02:24:34 +01:00
AlexanderHD27
894d5f4380 Implement First Message for Gobot Ctrl Interface 2025-01-02 23:03:23 +01:00
AlexanderHD27
78a5148a1e Finished Head Softaware 2025-01-02 19:10:59 +01:00
AlexanderHD27
0bb125fad9 Finished Firmware for Vacum 2025-01-02 03:55:45 +01:00
AlexanderHD27
ad61e7e9b7 Goto CoreXY to work 2025-01-01 19:44:15 +01:00
AlexanderHD27
c136056ed2 Got homing sequenc to work, ....again 2025-01-01 16:47:53 +01:00
AlexanderHD27
edc2dd6294 Renamed Files and added Heart beat 2024-12-30 17:17:07 +01:00
AlexanderHD27
58043ee0d5 Paritailly implement UART for RP2040 for the GobotRPC Controller Interface 2024-12-30 16:09:39 +01:00
AlexanderHD27
65df7b1912 Implemented UART_CTRL Interface (missing Hardware implementation) 2024-12-30 02:23:38 +01:00
AlexanderHD27
877040362c Build RPC Parsers 2024-12-30 00:46:36 +01:00
AlexanderHD27
ec2225aa4e Got Pico SDK + FreeRTOS to work 2024-12-29 17:30:22 +01:00
AlexanderHD27
6ef60a3f2f Merge branch 'motor-ctrl-firmware' into i2c-helpere
# Conflicts:
#	.gitmodules
#	can-interface/.gitignore
#	can-interface/.vscode/settings.json
#	can-interface/main/CMakeLists.txt
#	can-interface/main/hello_world_main.cpp
#	common-libaries/mcp2521/include/mcp2521.hpp
#	common-libaries/mcp2521/include/mcp2521_command.hpp
#	common-libaries/mcp2521/include/mcp2521_toplevel.hpp
#	common-libaries/mcp2521/interface_commands.cpp
#	common-libaries/mcp2521/interface_interrupts.cpp
#	common-libaries/mcp2521_hardware_interface/CMakeLists.txt
#	common-libaries/mcp2521_hardware_interface/esp_implementation_cmd.cpp
#	common-libaries/mcp2521_hardware_interface/esp_implementation_init.cpp
#	common-libaries/mcp2521_hardware_interface/esp_implementation_int.cpp
#	common-libaries/mcp2521_hardware_interface/include/mcp2521_hardware_esp.hpp
#	common-libaries/mcp2521_hardware_interface/include/mcp2521_hardware_handle.hpp
#	motor-control/firmware/cmake/tmc2209.cmake
2024-12-29 11:40:22 +01:00
AlexanderHD27
6f107aea76 Added Circuit 2024-12-29 11:37:43 +01:00
AlexanderHD27
801e791199 Did stuff 2024-12-28 22:47:46 +01:00
AlexanderHD27
bdec2db94d Gobot RPC Stack 2024-11-27 23:29:05 +01:00
AlexanderHD27
c1dc89eb58 Implement Multi-Bus CAN Interfaces 2024-11-23 01:25:29 +01:00
AlexanderHD27
f26cc07558 Create Spec for CAN-Protocol Stack and Doc of CAN-Interface Circuit 2024-11-12 00:20:48 +01:00
AlexanderHD27
51ce3af221 Added MCP2541 to Rpi Pico 2024-11-07 12:24:12 +01:00
AlexanderHD27
e091d4df18 Squashed commit of the following:
commit c6fd825e39
Author: AlexanderHD27 <alexander@hal>
Date:   Wed Nov 6 23:14:14 2024 +0100

    Moved CAN Interface code to comment libary folder with symlink

commit e7a0035041
Author: AlexanderHD27 <alexander@hal>
Date:   Wed Nov 6 22:01:28 2024 +0100

    Got MCP2521 to work

commit 4bfb1f533e
Author: AlexanderHD27 <alexander@hal>
Date:   Wed Oct 16 21:29:35 2024 +0200

    Did something to YGantryMount. It works. trust me

commit 5683168a47
Author: AlexanderHD27 <alexander@hal>
Date:   Wed Oct 16 21:28:36 2024 +0200

    Implemented Command-Level Interaction with CAN Interface

commit 9c0c676be8
Author: AlexanderHD27 <alexander@hal>
Date:   Mon Oct 14 09:20:37 2024 +0200

    Added Vscode Profile file

commit b150a905a3
Author: AlexanderHD27 <alexander@hal>
Date:   Mon Oct 14 09:19:00 2024 +0200

    Implemented Low Level Compunications

commit 7eebf619ae
Author: AlexanderHD27 <alexander@hal>
Date:   Mon Oct 7 14:46:15 2024 +0200

    Created Head Pipe Mount

commit 93c40e1805
Author: AlexanderHD27 <alexander@hal>
Date:   Mon Oct 7 14:44:11 2024 +0200

    First Revision of YGantryMount

commit 91c2125458
Author: AlexanderHD27 <alexander@hal>
Date:   Thu Oct 3 19:52:37 2024 +0200

    Added Kicad Backups 2 gitignore

commit 096a6c18d6
Author: AlexanderHD27 <alexander@hal>
Date:   Thu Oct 3 19:49:21 2024 +0200

    Created ESP-IDF for can-interface

commit 48fded7981
Author: AlexanderHD27 <alexander@hal>
Date:   Sat Sep 28 19:54:29 2024 +0200

    Added files from Pico sdk to gitignore

commit ec5e5cbf13
Author: AlexanderHD27 <alexander@hal>
Date:   Sat Sep 14 21:09:50 2024 +0200

    Create Marker for position Calibration

commit 58d31964b2
Author: AlexanderHD27 <alexander@hal>
Date:   Wed Sep 11 23:32:55 2024 +0200

    Upgrade to pico SDK 2.0.0
2024-11-06 23:18:12 +01:00
AlexanderHD27
c6fd825e39 Moved CAN Interface code to comment libary folder with symlink 2024-11-06 23:14:14 +01:00
AlexanderHD27
e7a0035041 Got MCP2521 to work 2024-11-06 22:01:28 +01:00
AlexanderHD27
f002a01308 Updated gitmodeles 2024-10-19 20:08:24 +02:00
AlexanderHD27
6ba0535af9 Got Free RTOS 2 work 2024-10-17 12:52:39 +02:00
AlexanderHD27
4bfb1f533e Did something to YGantryMount. It works. trust me 2024-10-16 21:29:35 +02:00
AlexanderHD27
5683168a47 Implemented Command-Level Interaction with CAN Interface 2024-10-16 21:28:36 +02:00
AlexanderHD27
9c0c676be8 Added Vscode Profile file 2024-10-14 09:20:37 +02:00
AlexanderHD27
b150a905a3 Implemented Low Level Compunications 2024-10-14 09:19:00 +02:00
AlexanderHD27
46f3514c6a Added constant for RGB LEd Pins 2024-10-12 18:54:14 +02:00
AlexanderHD27
a755a954f6 Update Motor Driver Board (fixed connection to RUN pin) 2024-10-12 18:53:26 +02:00
AlexanderHD27
7eebf619ae Created Head Pipe Mount 2024-10-07 14:46:15 +02:00
AlexanderHD27
93c40e1805 First Revision of YGantryMount 2024-10-07 14:44:11 +02:00
AlexanderHD27
c7c5cea341 Created v2.2 of Stepper Driver (added RGB Leds) 2024-10-07 14:19:12 +02:00
AlexanderHD27
91c2125458 Added Kicad Backups 2 gitignore 2024-10-03 19:53:11 +02:00
AlexanderHD27
f0ae696c4d Added Kicad Backups 2 gitignore 2024-10-03 19:52:37 +02:00
AlexanderHD27
51587757b1 Create Mount for Raspberry Pi 4B# 2024-10-03 19:51:02 +02:00
AlexanderHD27
096a6c18d6 Created ESP-IDF for can-interface 2024-10-03 19:49:21 +02:00
AlexanderHD27
f4b591a5e6 Added some mystery kicad files 2024-10-03 19:46:21 +02:00
AlexanderHD27
a2032d72fd Merge branch 'motor-ctrl-firmware' of gitea.mintcalc.com:alexander/gobot into motor-ctrl-firmware 2024-10-03 19:44:14 +02:00
AlexanderHD27
57e73127cc Merge branch 'motor-ctrl-firmware' of gitea.mintcalc.com:alexander/gobot into motor-ctrl-firmware 2024-10-03 19:44:00 +02:00
AlexanderHD27
53a5c10cee Merge branch 'motor-ctrl-firmware' of gitea.mintcalc.com:alexander/gobot into motor-ctrl-firmware
# Conflicts:
#	motor-control/motor-driver-breakout-v2/motor-driver-breakout-v2.kicad_sch
2024-10-03 19:29:44 +02:00
AlexanderHD27
f5281e37c8 Created PCB for Driver Board 2024-10-03 19:28:53 +02:00
AlexanderHD27
783799832c Created PCB for Driver Board 2024-10-03 19:20:02 +02:00
AlexanderHD27
61abb16b83 Create Mount for Raspberry Pi for 2020 Profiles 2024-09-28 19:53:05 +02:00
AlexanderHD27
0dc0f82938 Fixed invalid terminal symbol in expect script 2024-09-28 19:52:38 +02:00
AlexanderHD27
1786fa0b41 Merge branch 'motor-ctrl-firmware' of gitea.mintcalc.com:alexander/gobot into motor-ctrl-firmware 2024-09-27 23:37:57 +02:00
AlexanderHD27
f3490212bf Fixed Race-Condtion problem with arming of done_flag 2024-09-27 23:37:44 +02:00
AlexanderHD27
84e351d154 Fixed Race-Condtion problem with arming of done_flag 2024-09-27 23:21:04 +02:00
AlexanderHD27
986927d740 Added docs for Circuit Board Pinout 2024-09-27 23:20:14 +02:00
AlexanderHD27
6be2dd0b7d Added Scripts to remotly debug pico 2024-09-27 23:19:39 +02:00
AlexanderHD27
b2ffcb5d72 Added: Getting steps remaining on stop 2024-09-26 18:46:44 +02:00
AlexanderHD27
1ad6c75788 Implemented Stop on Zero Step 2024-09-25 19:46:52 +02:00
AlexanderHD27
e97472c2a3 Added Wait for compleation funcionality 2024-09-25 19:23:24 +02:00
AlexanderHD27
bba35c9622 Implement PIO-Pulser as Class for two channels Channel 2024-09-25 18:12:19 +02:00
AlexanderHD27
9640a5b747 Implement Controlled Pulses via PIO 2024-09-25 16:39:05 +02:00
AlexanderHD27
49d52ca0ed Started Implementing UART Register interface 2024-09-13 22:09:15 +02:00
AlexanderHD27
08598ca7a3 Implemented TMC2209 Register Read/Write 2024-09-12 23:52:29 +02:00
AlexanderHD27
36f6f1863b Swaped RX/TX Pins in Schematic and added 100uF Caps for drivers 2024-09-12 23:51:43 +02:00
AlexanderHD27
0c1b8f4e86 Upgrade to pico SDK 2.0.0 2024-09-11 23:32:55 +02:00
AlexanderHD27
29af5335f5 Added rpi-pico-sdk 2024-09-10 15:36:38 +02:00
AlexanderHD27
8b97a1853d Added deps. 2024-09-10 15:33:15 +02:00
25 changed files with 2 additions and 439 deletions

BIN
gobotrpc/.gitignore (Stored with Git LFS) vendored

Binary file not shown.

View File

@@ -1,22 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "Run Main",
"command": "python3 generator/main.py",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"focus": true,
"clear": true
},
},
]
}

BIN
gobotrpc/generator/main.py (Stored with Git LFS)

Binary file not shown.

BIN
gobotrpc/generator/src/__init__.py (Stored with Git LFS)

Binary file not shown.

BIN
gobotrpc/generator/src/backend/__init__.py (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
gobotrpc/generator/src/defintion_input.py (Stored with Git LFS)

Binary file not shown.

BIN
gobotrpc/generator/src/odf_source.py (Stored with Git LFS)

Binary file not shown.

BIN
gobotrpc/generator/src/util.py (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,13 +0,0 @@
add_libary(gobotrpc STATIC)
target_sources(gobotrpc
PRIVATE
{%- for n in cpp_files %}
{{ n }}
{%- endfor %}
)
target_include_directories(gobotrpc
PUBLIC
include
)

View File

@@ -1,12 +0,0 @@
#pragma once
/**
* This Header file was auto-generated by the GobotRPC-Protocol-Generator-Tool
*/
{% for enum in enum_list -%}
enum class {{ enum.name }} {{ "{" }}
{% for key in enum.map -%}
{{ "\t" }}{{ key }} = {{ enum.map[key] }},
{% endfor %}{{ "}" }};
{% endfor %}

View File

@@ -1,29 +0,0 @@
#pragma once
/**
* This Header file was auto-generated by the GobotRPC-Protocol-Generator-Tool
*/
#include {{ "<stdint.h>" }}
#include "{{ enum_header_file }}"
enum {{ prefix }}RPCNames {{"{"}}
{%- for n in rpcNames %}
{{ n }} = {{ rpcNames[n] }},
{%- endfor %}
{{"}"}};
enum {{ prefix }}RPCTypes {{"{"}}
{%- for n in rpcTypes %}
{{ n }} = {{ rpcTypes[n] }},
{%- endfor %}
{{"}"}};
int getPackageSize(uint8_t data);
{% for struct in package_list %}
struct {{ struct.name }} {{ "{" }}
{% for field in struct.fields -%}
{{ "\t" }}{{ field.type }} {{ field.name }} : {{ field.size_bits }};
{% endfor -%}
{{ "}" }};
{% endfor %}

View File

@@ -1,20 +0,0 @@
#pragma once
/**
* This Header file was auto-generated by the GobotRPC-Protocol-Generator-Tool
*/
#include {{ "<stdint.h>" }}
{%- for h in headers %}
#include {{ "\"" + h + "\"" }}
{%- endfor %}
int getPackageSize(uint8_t data) {
switch(data) {
{%- for n in rpcSizes %}
case {{ prefix }}RPCNames::{{ n }}:
return {{ rpcSizes[n] }};
{%- endfor %}
default:
return -1;
}
};

View File

@@ -1,25 +0,0 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "cmake",
"label": "CMake: build",
"command": "build",
"targets": [
"all"
],
"group": "build",
"problemMatcher": [],
"detail": "CMake template build task",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": true,
"clear": true
}
},
]
}

View File

@@ -1,20 +0,0 @@
cmake_minimum_required(VERSION 3.28.3)
project(TestingGobotRPCParser)
# GoogleTest requires at least C++23
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Adding gtest
include(FetchContent)
FetchContent_Declare(
googletest
gcov
URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
)
FetchContent_MakeAvailable(googletest)
add_executable(TestingGobotRPCParser test/main.cpp)
target_link_libraries(TestingGobotRPCParser gtest_main)

View File

@@ -1,11 +0,0 @@
add_libary(gobotrpc STATIC)
target_sources(gobotrpc
PRIVATE
src/package_util.cpp
)
target_include_directories(gobotrpc
PUBLIC
include
)

View File

@@ -1,33 +0,0 @@
#pragma once
/**
* This Header file was auto-generated by the GobotRPC-Protocol-Generator-Tool
*/
enum class GOBOTRPC_ENUM_NodeType {
kHub = 0,
kHead = 1,
kCorexy = 2,
kVacun = 3,
};
enum class GOBOTRPC_ENUM_NodeStatus {
kReady = 0,
kWorking = 1,
kBusy = 2,
kError = 3,
};
enum class GOBOTRPC_ENUM_ErrorCode {
};
enum class GOBOTRPC_ENUM_HeadPos {
kUp = 0,
kDown = 1,
};
enum class GOBOTRPC_ENUM_StoneStatus {
kEmpty = 0,
kLow = 1,
kFill = 2,
};

View File

@@ -1,127 +0,0 @@
#pragma once
/**
* This Header file was auto-generated by the GobotRPC-Protocol-Generator-Tool
*/
#include <stdint.h>
#include "enums.hpp"
enum GOBOTRPC_RPCNames {
kInvalid = 255,
kGetInfo = 1,
kReset = 2,
kResetInfo = 3,
kStatusUpdate = 4,
kError = 5,
kHome = 7,
kGoto = 9,
kSetBoardCorner = 11,
kSetVacumOffset = 13,
kReleaseMotors = 15,
kDrop = 17,
kStoneStatus = 19,
kMoveZAxis = 21,
kSetVacum = 23,
};
enum GOBOTRPC_RPCTypes {
kReq = 0,
kRes = 1,
};
int getPackageSize(uint8_t data);
struct GOBOTRPC_GetInfoReq {
};
struct GOBOTRPC_GetInfoRes {
int32_t addr : 32;
GOBOTRPC_ENUM_NodeType type : 8;
GOBOTRPC_ENUM_NodeStatus status : 8;
};
struct GOBOTRPC_ResetReq {
};
struct GOBOTRPC_ResetInfoRes {
GOBOTRPC_ENUM_NodeStatus status : 8;
};
struct GOBOTRPC_StatusUpdateRes {
GOBOTRPC_ENUM_NodeStatus status : 8;
};
struct GOBOTRPC_ErrorRes {
GOBOTRPC_ENUM_ErrorCode error : 8;
};
struct GOBOTRPC_HomeReq {
};
struct GOBOTRPC_HomeRes {
int32_t x : 32;
int32_t y : 32;
};
struct GOBOTRPC_GotoReq {
int8_t x : 8;
int8_t y : 8;
bool offset : 8;
};
struct GOBOTRPC_GotoRes {
};
struct GOBOTRPC_SetBoardCornerReq {
int32_t x1 : 32;
int32_t y1 : 32;
int32_t x2 : 32;
int32_t y2 : 32;
};
struct GOBOTRPC_SetBoardCornerRes {
};
struct GOBOTRPC_SetVacumOffsetReq {
int32_t x : 32;
int32_t y : 32;
};
struct GOBOTRPC_SetVacumOffsetRes {
};
struct GOBOTRPC_ReleaseMotorsReq {
bool enable : 8;
};
struct GOBOTRPC_ReleaseMotorsRes {
};
struct GOBOTRPC_DropReq {
};
struct GOBOTRPC_DropRes {
GOBOTRPC_ENUM_StoneStatus status : 8;
};
struct GOBOTRPC_StoneStatusReq {
};
struct GOBOTRPC_StoneStatusRes {
GOBOTRPC_ENUM_StoneStatus status : 8;
};
struct GOBOTRPC_MoveZAxisReq {
GOBOTRPC_ENUM_HeadPos pos : 8;
};
struct GOBOTRPC_MoveZAxisRes {
};
struct GOBOTRPC_SetVacumReq {
bool enable : 8;
};
struct GOBOTRPC_SetVacumRes {
};

View File

@@ -1,63 +0,0 @@
#pragma once
/**
* This Header file was auto-generated by the GobotRPC-Protocol-Generator-Tool
*/
#include <stdint.h>
#include "package_structs.hpp"
#include "enums.hpp"
int getPackageSize(uint8_t data) {
switch(data) {
case RPCNames::GOBOTRPC_GetInfoReq:
return 0;
case RPCNames::GOBOTRPC_GetInfoRes:
return 6;
case RPCNames::GOBOTRPC_ResetReq:
return 0;
case RPCNames::GOBOTRPC_ResetInfoRes:
return 1;
case RPCNames::GOBOTRPC_StatusUpdateRes:
return 1;
case RPCNames::GOBOTRPC_ErrorRes:
return 1;
case RPCNames::GOBOTRPC_HomeReq:
return 0;
case RPCNames::GOBOTRPC_HomeRes:
return 8;
case RPCNames::GOBOTRPC_GotoReq:
return 3;
case RPCNames::GOBOTRPC_GotoRes:
return 0;
case RPCNames::GOBOTRPC_SetBoardCornerReq:
return 16;
case RPCNames::GOBOTRPC_SetBoardCornerRes:
return 0;
case RPCNames::GOBOTRPC_SetVacumOffsetReq:
return 8;
case RPCNames::GOBOTRPC_SetVacumOffsetRes:
return 0;
case RPCNames::GOBOTRPC_ReleaseMotorsReq:
return 1;
case RPCNames::GOBOTRPC_ReleaseMotorsRes:
return 0;
case RPCNames::GOBOTRPC_DropReq:
return 0;
case RPCNames::GOBOTRPC_DropRes:
return 1;
case RPCNames::GOBOTRPC_StoneStatusReq:
return 0;
case RPCNames::GOBOTRPC_StoneStatusRes:
return 1;
case RPCNames::GOBOTRPC_MoveZAxisReq:
return 1;
case RPCNames::GOBOTRPC_MoveZAxisRes:
return 0;
case RPCNames::GOBOTRPC_SetVacumReq:
return 1;
case RPCNames::GOBOTRPC_SetVacumRes:
return 0;
default:
return -1;
}
};

View File

@@ -1,14 +0,0 @@
#include <gtest/gtest.h>
TEST(DummyTest, BasicAssertions) {
// Expect two strings not to be equal.
EXPECT_STRNE("hello", "world");
// Expect equality.
EXPECT_EQ(7 * 6, 42);
}
int main(int argc, char * argv[]) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

View File

@@ -1,9 +0,0 @@
defusedxml==0.7.1
ezodf==0.3.2
Jinja2==3.1.5
lxml==5.3.0
MarkupSafe==3.0.2
mkl-service==2.4.0
odfpy==1.4.1
setuptools==75.1.0
wheel==0.44.0

View File

@@ -34,21 +34,9 @@
"icon": "lucide-file",
"title": "CAN Protocol"
}
},
{
"id": "cb5a4191e020890f",
"type": "leaf",
"state": {
"type": "release-notes",
"state": {
"currentVersion": "1.7.7"
},
"icon": "lucide-file",
"title": "Release Notes 1.7.7"
}
}
],
"currentTab": 2
"currentTab": 1
}
],
"direction": "vertical"
@@ -190,7 +178,7 @@
"command-palette:Open command palette": false
}
},
"active": "cb5a4191e020890f",
"active": "e41a6e6ed9e71bfa",
"lastOpenFiles": [
"Untitled.canvas",
"CAN Protocol.md",