Compare commits
15 Commits
4060055a14
...
stone-disp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
801e791199 | ||
|
|
bdec2db94d | ||
|
|
c1dc89eb58 | ||
|
|
f26cc07558 | ||
|
|
c6fd825e39 | ||
|
|
e7a0035041 | ||
|
|
4bfb1f533e | ||
|
|
5683168a47 | ||
|
|
9c0c676be8 | ||
|
|
b150a905a3 | ||
|
|
7eebf619ae | ||
|
|
93c40e1805 | ||
|
|
91c2125458 | ||
|
|
096a6c18d6 | ||
|
|
48fded7981 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -32,5 +32,3 @@ board-vision/cnn_model/data/* filter=lfs diff=lfs merge=lfs -text
|
|||||||
*.gto filter=lfs diff=lfs merge=lfs -text
|
*.gto filter=lfs diff=lfs merge=lfs -text
|
||||||
*.drl filter=lfs diff=lfs merge=lfs -text
|
*.drl filter=lfs diff=lfs merge=lfs -text
|
||||||
/motor-control/motor-driver-breakout/sym-lib-table filter=lfs diff=lfs merge=lfs -text
|
/motor-control/motor-driver-breakout/sym-lib-table filter=lfs diff=lfs merge=lfs -text
|
||||||
*.stl filter=lfs diff=lfs merge=lfs -text
|
|
||||||
*.3mf filter=lfs diff=lfs merge=lfs -text
|
|
||||||
|
|||||||
BIN
.gitignore
LFS
vendored
BIN
.gitignore
LFS
vendored
Binary file not shown.
BIN
.gitmodules
LFS
vendored
BIN
.gitmodules
LFS
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
3d-print/models/HeadPipeMount/HeadPipeMount - DownPart.stl
Normal file
BIN
3d-print/models/HeadPipeMount/HeadPipeMount - DownPart.stl
Normal file
Binary file not shown.
BIN
3d-print/models/HeadPipeMount/HeadPipeMount - HoseAdapter.stl
Normal file
BIN
3d-print/models/HeadPipeMount/HeadPipeMount - HoseAdapter.stl
Normal file
Binary file not shown.
BIN
3d-print/models/HeadPipeMount/HeadPipeMount - RightPart.stl
Normal file
BIN
3d-print/models/HeadPipeMount/HeadPipeMount - RightPart.stl
Normal file
Binary file not shown.
BIN
3d-print/models/YGantryMount/GantryMount - GantryPlate (1).stl
Normal file
BIN
3d-print/models/YGantryMount/GantryMount - GantryPlate (1).stl
Normal file
Binary file not shown.
BIN
3d-print/models/YGantryMount/GantryMount - GantryPlate.stl
Normal file
BIN
3d-print/models/YGantryMount/GantryMount - GantryPlate.stl
Normal file
Binary file not shown.
BIN
3d-print/models/YGantryMount/GantryMount - Mount (1).stl
Normal file
BIN
3d-print/models/YGantryMount/GantryMount - Mount (1).stl
Normal file
Binary file not shown.
BIN
3d-print/models/YGantryMount/GantryMount - Mount.stl
Normal file
BIN
3d-print/models/YGantryMount/GantryMount - Mount.stl
Normal file
Binary file not shown.
Binary file not shown.
BIN
3d-print/slicers/HeadPipeMount.3mf
Normal file
BIN
3d-print/slicers/HeadPipeMount.3mf
Normal file
Binary file not shown.
BIN
3d-print/slicers/YGantryMount.3mf
Normal file
BIN
3d-print/slicers/YGantryMount.3mf
Normal file
Binary file not shown.
1
board-vision/.gitattributes
vendored
1
board-vision/.gitattributes
vendored
@@ -1 +0,0 @@
|
|||||||
test/data/images filter=lfs diff=lfs merge=lfs -text
|
|
||||||
BIN
board-vision/.gitignore
LFS
vendored
BIN
board-vision/.gitignore
LFS
vendored
Binary file not shown.
15
board-vision/.vscode/settings.json
vendored
15
board-vision/.vscode/settings.json
vendored
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"python.testing.pytestArgs": [
|
|
||||||
"--cov-report", "xml:cov.xml",
|
|
||||||
"--cov-report", "term",
|
|
||||||
"--cov=src",
|
|
||||||
"test",
|
|
||||||
],
|
|
||||||
"python.testing.unittestEnabled": false,
|
|
||||||
"python.testing.pytestEnabled": true,
|
|
||||||
"coverage-gutters.coverageFileNames": [
|
|
||||||
"cov.xml",
|
|
||||||
],
|
|
||||||
"coverage-gutters.coverageBaseDir": "**",
|
|
||||||
"testing.coverageToolbarEnabled": true
|
|
||||||
}
|
|
||||||
BIN
board-vision/main.py
LFS
BIN
board-vision/main.py
LFS
Binary file not shown.
@@ -1,157 +0,0 @@
|
|||||||
aioice==0.9.0
|
|
||||||
aiortc==1.9.0
|
|
||||||
anyio==4.4.0
|
|
||||||
argon2-cffi==23.1.0
|
|
||||||
argon2-cffi-bindings==21.2.0
|
|
||||||
arrow==1.3.0
|
|
||||||
asgiref==3.8.1
|
|
||||||
asttokens==2.4.1
|
|
||||||
async-lru==2.0.4
|
|
||||||
attrs==23.2.0
|
|
||||||
av==12.3.0
|
|
||||||
Babel==2.15.0
|
|
||||||
beautifulsoup4==4.12.3
|
|
||||||
bleach==6.1.0
|
|
||||||
blinker==1.8.2
|
|
||||||
certifi==2024.7.4
|
|
||||||
cffi==1.16.0
|
|
||||||
charset-normalizer==3.3.2
|
|
||||||
click==8.1.7
|
|
||||||
comm==0.2.2
|
|
||||||
contourpy==1.2.1
|
|
||||||
coverage==7.6.1
|
|
||||||
cramjam==2.8.3
|
|
||||||
cryptography==43.0.3
|
|
||||||
cycler==0.12.1
|
|
||||||
debugpy==1.8.2
|
|
||||||
decorator==5.1.1
|
|
||||||
defusedxml==0.7.1
|
|
||||||
dnspython==2.7.0
|
|
||||||
executing==2.0.1
|
|
||||||
fastjsonschema==2.20.0
|
|
||||||
fastparquet==2024.5.0
|
|
||||||
filelock==3.15.4
|
|
||||||
Flask==3.0.3
|
|
||||||
fonttools==4.53.1
|
|
||||||
fqdn==1.5.1
|
|
||||||
fsspec==2024.6.1
|
|
||||||
google-crc32c==1.6.0
|
|
||||||
h11==0.14.0
|
|
||||||
httpcore==1.0.5
|
|
||||||
httpx==0.27.0
|
|
||||||
idna==3.7
|
|
||||||
ifaddr==0.2.0
|
|
||||||
imageio==2.34.2
|
|
||||||
iniconfig==2.0.0
|
|
||||||
ipykernel==6.29.5
|
|
||||||
ipython==8.26.0
|
|
||||||
isoduration==20.11.0
|
|
||||||
itsdangerous==2.2.0
|
|
||||||
janus==1.0.0
|
|
||||||
jedi==0.19.1
|
|
||||||
Jinja2==3.1.4
|
|
||||||
joblib==1.4.2
|
|
||||||
json5==0.9.25
|
|
||||||
jsonpointer==3.0.0
|
|
||||||
jsonschema==4.23.0
|
|
||||||
jsonschema-specifications==2023.12.1
|
|
||||||
jupyter-events==0.10.0
|
|
||||||
jupyter-lsp==2.2.5
|
|
||||||
jupyter_client==8.6.2
|
|
||||||
jupyter_core==5.7.2
|
|
||||||
jupyter_server==2.14.2
|
|
||||||
jupyter_server_terminals==0.5.3
|
|
||||||
jupyterlab==4.2.4
|
|
||||||
jupyterlab_pygments==0.3.0
|
|
||||||
jupyterlab_server==2.27.3
|
|
||||||
kiwisolver==1.4.5
|
|
||||||
lazy_loader==0.4
|
|
||||||
MarkupSafe==2.1.5
|
|
||||||
matplotlib==3.9.1
|
|
||||||
matplotlib-inline==0.1.7
|
|
||||||
mistune==3.0.2
|
|
||||||
mpmath==1.3.0
|
|
||||||
nbclient==0.10.0
|
|
||||||
nbconvert==7.16.4
|
|
||||||
nbformat==5.10.4
|
|
||||||
nest-asyncio==1.6.0
|
|
||||||
networkx==3.3
|
|
||||||
notebook_shim==0.2.4
|
|
||||||
numpy==2.0.1
|
|
||||||
nvidia-cublas-cu12==12.1.3.1
|
|
||||||
nvidia-cuda-cupti-cu12==12.1.105
|
|
||||||
nvidia-cuda-nvrtc-cu12==12.1.105
|
|
||||||
nvidia-cuda-runtime-cu12==12.1.105
|
|
||||||
nvidia-cudnn-cu12==9.1.0.70
|
|
||||||
nvidia-cufft-cu12==11.0.2.54
|
|
||||||
nvidia-curand-cu12==10.3.2.106
|
|
||||||
nvidia-cusolver-cu12==11.4.5.107
|
|
||||||
nvidia-cusparse-cu12==12.1.0.106
|
|
||||||
nvidia-nccl-cu12==2.20.5
|
|
||||||
nvidia-nvjitlink-cu12==12.6.20
|
|
||||||
nvidia-nvtx-cu12==12.1.105
|
|
||||||
opencv-python==4.10.0.84
|
|
||||||
overrides==7.7.0
|
|
||||||
packaging==24.1
|
|
||||||
pandas==2.2.2
|
|
||||||
pandocfilters==1.5.1
|
|
||||||
parso==0.8.4
|
|
||||||
pexpect==4.9.0
|
|
||||||
pillow==10.4.0
|
|
||||||
platformdirs==4.2.2
|
|
||||||
pluggy==1.5.0
|
|
||||||
prometheus_client==0.20.0
|
|
||||||
prompt_toolkit==3.0.47
|
|
||||||
psutil==6.0.0
|
|
||||||
ptyprocess==0.7.0
|
|
||||||
pure_eval==0.2.3
|
|
||||||
pycparser==2.22
|
|
||||||
pyee==12.0.0
|
|
||||||
Pygments==2.18.0
|
|
||||||
pylibsrtp==0.10.0
|
|
||||||
pyOpenSSL==24.2.1
|
|
||||||
pyparsing==3.1.2
|
|
||||||
pytest==8.3.3
|
|
||||||
pytest-asyncio==0.24.0
|
|
||||||
pytest-cov==5.0.0
|
|
||||||
pytest-timeout==2.3.1
|
|
||||||
python-dateutil==2.9.0.post0
|
|
||||||
python-json-logger==2.0.7
|
|
||||||
pytz==2024.1
|
|
||||||
PyYAML==6.0.1
|
|
||||||
pyzmq==26.0.3
|
|
||||||
referencing==0.35.1
|
|
||||||
requests==2.32.3
|
|
||||||
rfc3339-validator==0.1.4
|
|
||||||
rfc3986-validator==0.1.1
|
|
||||||
rpds-py==0.19.1
|
|
||||||
scikit-image==0.24.0
|
|
||||||
scikit-learn==1.5.1
|
|
||||||
scipy==1.14.0
|
|
||||||
Send2Trash==1.8.3
|
|
||||||
setuptools==72.1.0
|
|
||||||
six==1.16.0
|
|
||||||
sniffio==1.3.1
|
|
||||||
soupsieve==2.5
|
|
||||||
stack-data==0.6.3
|
|
||||||
sympy==1.13.1
|
|
||||||
terminado==0.18.1
|
|
||||||
threadpoolctl==3.5.0
|
|
||||||
tifffile==2024.7.24
|
|
||||||
tinycss2==1.3.0
|
|
||||||
torch==2.4.0
|
|
||||||
torchaudio==2.4.0
|
|
||||||
torchvision==0.19.0
|
|
||||||
tornado==6.4.1
|
|
||||||
traitlets==5.14.3
|
|
||||||
triton==3.0.0
|
|
||||||
types-python-dateutil==2.9.0.20240316
|
|
||||||
typing_extensions==4.12.2
|
|
||||||
tzdata==2024.1
|
|
||||||
uri-template==1.3.0
|
|
||||||
urllib3==2.2.2
|
|
||||||
wcwidth==0.2.13
|
|
||||||
webcolors==24.6.0
|
|
||||||
webencodings==0.5.1
|
|
||||||
websocket-client==1.8.0
|
|
||||||
Werkzeug==3.0.4
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
board-vision/src/main.py
LFS
BIN
board-vision/src/main.py
LFS
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
47
can-interface/.devcontainer/Dockerfile
Normal file
47
can-interface/.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
FROM espressif/idf
|
||||||
|
|
||||||
|
ARG DEBIAN_FRONTEND=nointeractive
|
||||||
|
ARG CONTAINER_USER=esp
|
||||||
|
ARG USER_UID=1050
|
||||||
|
ARG USER_GID=$USER_UID
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt install -y -q \
|
||||||
|
cmake \
|
||||||
|
git \
|
||||||
|
libglib2.0-0 \
|
||||||
|
libnuma1 \
|
||||||
|
libpixman-1-0 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# QEMU
|
||||||
|
ENV QEMU_REL=esp_develop_8.2.0_20240122
|
||||||
|
ENV QEMU_SHA256=e7c72ef5705ad1444d391711088c8717fc89f42e9bf6d1487f9c2a326b8cfa83
|
||||||
|
ENV QEMU_DIST=qemu-xtensa-softmmu-${QEMU_REL}-x86_64-linux-gnu.tar.xz
|
||||||
|
ENV QEMU_URL=https://github.com/espressif/qemu/releases/download/esp-develop-8.2.0-20240122/${QEMU_DIST}
|
||||||
|
|
||||||
|
ENV LC_ALL=C.UTF-8
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
|
||||||
|
RUN wget --no-verbose ${QEMU_URL} \
|
||||||
|
&& echo "${QEMU_SHA256} *${QEMU_DIST}" | sha256sum --check --strict - \
|
||||||
|
&& tar -xf $QEMU_DIST -C /opt \
|
||||||
|
&& rm ${QEMU_DIST}
|
||||||
|
|
||||||
|
ENV PATH=/opt/qemu/bin:${PATH}
|
||||||
|
|
||||||
|
RUN groupadd --gid $USER_GID $CONTAINER_USER \
|
||||||
|
&& adduser --uid $USER_UID --gid $USER_GID --disabled-password --gecos "" ${CONTAINER_USER} \
|
||||||
|
&& usermod -a -G root $CONTAINER_USER && usermod -a -G dialout $CONTAINER_USER
|
||||||
|
|
||||||
|
RUN chmod -R 775 /opt/esp/python_env/
|
||||||
|
|
||||||
|
USER ${CONTAINER_USER}
|
||||||
|
ENV USER=${CONTAINER_USER}
|
||||||
|
WORKDIR /home/${CONTAINER_USER}
|
||||||
|
|
||||||
|
RUN echo "source /opt/esp/idf/export.sh > /dev/null 2>&1" >> ~/.bashrc
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/opt/esp/entrypoint.sh" ]
|
||||||
|
|
||||||
|
CMD ["/bin/bash", "-c"]
|
||||||
36
can-interface/.devcontainer/devcontainer.json
Normal file
36
can-interface/.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "ESP-IDF QEMU",
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile"
|
||||||
|
},
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.defaultProfile.linux": "bash",
|
||||||
|
"idf.espIdfPath": "/opt/esp/idf",
|
||||||
|
"idf.customExtraPaths": "",
|
||||||
|
"idf.pythonBinPath": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python",
|
||||||
|
"idf.toolsPath": "/opt/esp",
|
||||||
|
"idf.gitPath": "/usr/bin/git"
|
||||||
|
},
|
||||||
|
"extensions": [
|
||||||
|
"espressif.esp-idf-extension"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"codespaces": {
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.defaultProfile.linux": "bash",
|
||||||
|
"idf.espIdfPath": "/opt/esp/idf",
|
||||||
|
"idf.customExtraPaths": "",
|
||||||
|
"idf.pythonBinPath": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python",
|
||||||
|
"idf.toolsPath": "/opt/esp",
|
||||||
|
"idf.gitPath": "/usr/bin/git"
|
||||||
|
},
|
||||||
|
"extensions": [
|
||||||
|
"espressif.esp-idf-extension",
|
||||||
|
"espressif.esp-idf-web"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runArgs": ["--privileged"]
|
||||||
|
}
|
||||||
BIN
can-interface/.gitignore
LFS
vendored
Normal file
BIN
can-interface/.gitignore
LFS
vendored
Normal file
Binary file not shown.
23
can-interface/.vscode/c_cpp_properties.json
vendored
Normal file
23
can-interface/.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "ESP-IDF",
|
||||||
|
"compilerPath": "${config:idf.toolsPath}/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc",
|
||||||
|
"compileCommands": "${config:idf.buildPath}/compile_commands.json",
|
||||||
|
"includePath": [
|
||||||
|
"${config:idf.espIdfPath}/components/**",
|
||||||
|
"${config:idf.espIdfPathWin}/components/**",
|
||||||
|
"${workspaceFolder}/**"
|
||||||
|
],
|
||||||
|
"browse": {
|
||||||
|
"path": [
|
||||||
|
"${config:idf.espIdfPath}/components",
|
||||||
|
"${config:idf.espIdfPathWin}/components",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"limitSymbolsToIncludedHeaders": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
||||||
15
can-interface/.vscode/launch.json
vendored
Normal file
15
can-interface/.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "gdbtarget",
|
||||||
|
"request": "attach",
|
||||||
|
"name": "Eclipse CDT GDB Adapter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "espidf",
|
||||||
|
"name": "Launch",
|
||||||
|
"request": "launch"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
32
can-interface/.vscode/settings.json
vendored
Normal file
32
can-interface/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"C_Cpp.intelliSenseEngine": "default",
|
||||||
|
"idf.adapterTargetName": "esp32",
|
||||||
|
"idf.customExtraPaths": "/home/alexander/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin:/home/alexander/.espressif/tools/riscv32-esp-elf-gdb/14.2_20240403/riscv32-esp-elf-gdb/bin:/home/alexander/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin:/home/alexander/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin:/home/alexander/.espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin:/home/alexander/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/bin:/home/alexander/.espressif/tools/ninja/1.11.1:/home/alexander/.espressif/tools/esp-rom-elfs/20240305",
|
||||||
|
"idf.customExtraVars": {
|
||||||
|
"OPENOCD_SCRIPTS": "/home/alexander/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/share/openocd/scripts",
|
||||||
|
"ESP_ROM_ELF_DIR": "/home/alexander/.espressif/tools/esp-rom-elfs/20240305/"
|
||||||
|
},
|
||||||
|
"idf.espIdfPath": "/opt/esp/v5.3.1/esp-idf",
|
||||||
|
"idf.openOcdConfigs": [
|
||||||
|
"board/esp32-wrover-kit-3.3v.cfg"
|
||||||
|
],
|
||||||
|
"idf.port": "/dev/ttyUSB0",
|
||||||
|
"idf.pythonBinPath": "/home/alexander/.espressif/python_env/idf5.3_py3.12_env/bin/python",
|
||||||
|
"idf.toolsPath": "/home/alexander/.espressif",
|
||||||
|
"idf.flashType": "UART",
|
||||||
|
"idf.openOcdLaunchArgs": ["-c", "adapter_khz 1000"],
|
||||||
|
"idf.openOcdDebugLevel": 2,
|
||||||
|
"files.associations": {
|
||||||
|
"*.tcc": "cpp",
|
||||||
|
"cstdint": "cpp",
|
||||||
|
"random": "cpp",
|
||||||
|
"future": "cpp",
|
||||||
|
"bitset": "cpp",
|
||||||
|
"string_view": "cpp",
|
||||||
|
"regex": "cpp",
|
||||||
|
"array": "cpp",
|
||||||
|
"string": "cpp",
|
||||||
|
"span": "cpp",
|
||||||
|
"cstring": "cpp"
|
||||||
|
}
|
||||||
|
}
|
||||||
259
can-interface/.vscode/tasks.json
vendored
Normal file
259
can-interface/.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,259 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "Build - Build project",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py build",
|
||||||
|
"windows": {
|
||||||
|
"command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py build",
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH};${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": [
|
||||||
|
"autoDetect",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Set ESP-IDF Target",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "${command:espIdf.setTarget}",
|
||||||
|
"problemMatcher": {
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": [
|
||||||
|
"autoDetect",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Clean - Clean the project",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py fullclean",
|
||||||
|
"windows": {
|
||||||
|
"command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py fullclean",
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH};${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": [
|
||||||
|
"autoDetect",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Flash - Flash the device",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} -b ${config:idf.flashBaudRate} flash",
|
||||||
|
"windows": {
|
||||||
|
"command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py flash -p ${config:idf.portWin} -b ${config:idf.flashBaudRate}",
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH};${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": [
|
||||||
|
"autoDetect",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Monitor: Start the monitor",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} monitor",
|
||||||
|
"windows": {
|
||||||
|
"command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py -p ${config:idf.portWin} monitor",
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH};${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": [
|
||||||
|
"autoDetect",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependsOn": "Flash - Flash the device"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "OpenOCD: Start openOCD",
|
||||||
|
"type": "shell",
|
||||||
|
"presentation": {
|
||||||
|
"echo": true,
|
||||||
|
"reveal": "never",
|
||||||
|
"focus": false,
|
||||||
|
"panel": "new"
|
||||||
|
},
|
||||||
|
"command": "openocd -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}",
|
||||||
|
"windows": {
|
||||||
|
"command": "openocd.exe -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}",
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH};${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"problemMatcher": {
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": [
|
||||||
|
"autoDetect",
|
||||||
|
"${workspaceFolder}"
|
||||||
|
],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "adapter",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "${config:idf.pythonBinPath}",
|
||||||
|
"isBackground": true,
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH}:${config:idf.customExtraPaths}",
|
||||||
|
"PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"problemMatcher": {
|
||||||
|
"background": {
|
||||||
|
"beginsPattern": "\bDEBUG_ADAPTER_STARTED\b",
|
||||||
|
"endsPattern": "DEBUG_ADAPTER_READY2CONNECT",
|
||||||
|
"activeOnStart": true
|
||||||
|
},
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "(\\d+)-(\\d+)-(\\d+)\\s(\\d+):(\\d+):(\\d+),(\\d+)\\s-(.+)\\s(ERROR)",
|
||||||
|
"file": 8,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 9
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"args": [
|
||||||
|
"${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter_main.py",
|
||||||
|
"-e",
|
||||||
|
"${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
|
||||||
|
"-s",
|
||||||
|
"$OPENOCD_SCRIPTS",
|
||||||
|
"-dn",
|
||||||
|
"esp32",
|
||||||
|
"-om",
|
||||||
|
"connect_to_instance",
|
||||||
|
"-t",
|
||||||
|
"xtensa-esp32-elf-"
|
||||||
|
|
||||||
|
],
|
||||||
|
"windows": {
|
||||||
|
"command": "${config:idf.pythonBinPathWin}",
|
||||||
|
"options": {
|
||||||
|
"env": {
|
||||||
|
"PATH": "${env:PATH};${config:idf.customExtraPaths}",
|
||||||
|
"PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
can-interface/CMakeLists.txt
Executable file
6
can-interface/CMakeLists.txt
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
# The following lines of boilerplate have to be in your project's
|
||||||
|
# CMakeLists in this exact order for cmake to work correctly
|
||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||||
|
project(can-interface)
|
||||||
1
can-interface/ESP-IDF.code-profile
Normal file
1
can-interface/ESP-IDF.code-profile
Normal file
File diff suppressed because one or more lines are too long
BIN
can-interface/README.md
LFS
Executable file
BIN
can-interface/README.md
LFS
Executable file
Binary file not shown.
BIN
can-interface/circuit/CanIntefacePerfboard.fzz
Normal file
BIN
can-interface/circuit/CanIntefacePerfboard.fzz
Normal file
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/ESP32-DEVKIT-V1.kicad_sym
LFS
vendored
Normal file
BIN
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/ESP32-DEVKIT-V1.kicad_sym
LFS
vendored
Normal file
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/ESP32-DEVKIT-V1.step
LFS
vendored
Normal file
BIN
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/ESP32-DEVKIT-V1.step
LFS
vendored
Normal file
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/MODULE_ESP32_DEVKIT_V1.kicad_mod
LFS
vendored
Normal file
BIN
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/MODULE_ESP32_DEVKIT_V1.kicad_mod
LFS
vendored
Normal file
Binary file not shown.
1
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/how-to-import.htm
vendored
Normal file
1
can-interface/circuit/gobot-can-interface/external/ESP32-DEVKIT-V1/how-to-import.htm
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<!DOCTYPE HTML><html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="0; url=https://www.snapeda.com/about/import/#"> <script type="text/javascript">window.location.href="https://www.snapeda.com/about/import/#" </script> <title>Page Redirection</title> </head> <body> If you are not redirected automatically, follow this <a href="https://www.snapeda.com/about/import/#">link to the import guide</a>. </body></html>
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_pcb
LFS
Normal file
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_pcb
LFS
Normal file
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_prl
LFS
Normal file
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_prl
LFS
Normal file
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_pro
LFS
Normal file
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_pro
LFS
Normal file
Binary file not shown.
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_sch
LFS
Normal file
BIN
can-interface/circuit/gobot-can-interface/gobot-can-interface.kicad_sch
LFS
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
4
can-interface/circuit/gobot-can-interface/sym-lib-table
Normal file
4
can-interface/circuit/gobot-can-interface/sym-lib-table
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
(sym_lib_table
|
||||||
|
(version 7)
|
||||||
|
(lib (name "ESP32-DEVKIT-V1")(type "KiCad")(uri "${KIPRJMOD}/external/ESP32-DEVKIT-V1/ESP32-DEVKIT-V1.kicad_sym")(options "")(descr ""))
|
||||||
|
)
|
||||||
1
can-interface/components/gobot_rpc
Symbolic link
1
can-interface/components/gobot_rpc
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/alexander/Projects/gobot/common-libaries/gobot_rpc
|
||||||
1
can-interface/components/mcp2521
Symbolic link
1
can-interface/components/mcp2521
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/alexander/Projects/gobot/common-libaries/mcp2521
|
||||||
1
can-interface/components/mcp2521_hardware_interface
Symbolic link
1
can-interface/components/mcp2521_hardware_interface
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/alexander/Projects/gobot/common-libaries/mcp2521_hardware_interface
|
||||||
2866
can-interface/docs/Doxyfile
Normal file
2866
can-interface/docs/Doxyfile
Normal file
File diff suppressed because it is too large
Load Diff
1
can-interface/docs/doxygen-awesome-css
Submodule
1
can-interface/docs/doxygen-awesome-css
Submodule
Submodule can-interface/docs/doxygen-awesome-css added at 568f56cde6
7
can-interface/main/CMakeLists.txt
Executable file
7
can-interface/main/CMakeLists.txt
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
idf_component_register(SRCS "hello_world_main.cpp"
|
||||||
|
REQUIRES driver
|
||||||
|
REQUIRES mcp2521
|
||||||
|
REQUIRES mcp2521_hardware_interface
|
||||||
|
REQUIRES gobot_rpc
|
||||||
|
REQUIRES spi_flash
|
||||||
|
INCLUDE_DIRS "")
|
||||||
7
can-interface/main/can-interface.code-workspace
Normal file
7
can-interface/main/can-interface.code-workspace
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": ".."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
134
can-interface/main/hello_world_main.cpp
Executable file
134
can-interface/main/hello_world_main.cpp
Executable file
@@ -0,0 +1,134 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: CC0-1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <inttypes.h>
|
||||||
|
#include "sdkconfig.h"
|
||||||
|
|
||||||
|
#include "freertos/FreeRTOS.h"
|
||||||
|
#include "freertos/task.h"
|
||||||
|
#include "freertos/semphr.h"
|
||||||
|
#include "freertos/queue.h"
|
||||||
|
|
||||||
|
#include "esp_chip_info.h"
|
||||||
|
#include "esp_flash.h"
|
||||||
|
#include "esp_system.h"
|
||||||
|
|
||||||
|
#include "driver/gpio.h"
|
||||||
|
#include "driver/spi_master.h"
|
||||||
|
|
||||||
|
#include "mcp2521.hpp"
|
||||||
|
|
||||||
|
#define SPI_PIN_SCLK GPIO_NUM_18
|
||||||
|
#define SPI_PIN_MISO GPIO_NUM_19
|
||||||
|
#define SPI_PIN_MOSI GPIO_NUM_23
|
||||||
|
|
||||||
|
#define SPI_PIN_CS0 GPIO_NUM_25
|
||||||
|
#define SPI_PIN_CS1 GPIO_NUM_27
|
||||||
|
|
||||||
|
#define CAN_INT0_PIN GPIO_NUM_5
|
||||||
|
#define CAN_INT1_PIN GPIO_NUM_26
|
||||||
|
|
||||||
|
void onRX0(void *arg) {
|
||||||
|
MCP2521 *mcp2521 = (MCP2521 *)arg;
|
||||||
|
|
||||||
|
rx_info info = mcp2521->get_rx_id(MCP2521_RX_BUFFER::RXB0);
|
||||||
|
uint8_t data[8];
|
||||||
|
|
||||||
|
//mcp2521->read_rx_buf(MCP2521_RX_BUFFER::RXB0, MCP2521_BUFFER_TYPE::DATA, data, info.length);
|
||||||
|
|
||||||
|
printf("RX0: (%x) ", info.id);
|
||||||
|
//for (int i = 0; i < 8; i++) {
|
||||||
|
// printf("%x ", data[i]);
|
||||||
|
//}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void onRX1(void *arg) {
|
||||||
|
MCP2521 *mcp2521 = (MCP2521 *)arg;
|
||||||
|
|
||||||
|
rx_info info = mcp2521->get_rx_id(MCP2521_RX_BUFFER::RXB0);
|
||||||
|
uint8_t data[8];
|
||||||
|
|
||||||
|
//mcp2521->read_rx_buf(MCP2521_RX_BUFFER::RXB0, MCP2521_BUFFER_TYPE::DATA, data, info.length);
|
||||||
|
printf("RX1: (%x) ", info.id);
|
||||||
|
//for (int i = 0; i < 8; i++) {
|
||||||
|
// printf("%x ", data[i]);
|
||||||
|
//}
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void app_main() {
|
||||||
|
printf("Hello world!\n");
|
||||||
|
|
||||||
|
const gpio_num_t LED_PIN = GPIO_NUM_2;
|
||||||
|
gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);
|
||||||
|
|
||||||
|
vTaskDelay(100 / portTICK_PERIOD_MS);
|
||||||
|
|
||||||
|
MCP2521_HardwareHandleFactory_ESPBus mcp2521_hardware_factory(
|
||||||
|
VSPI_HOST,
|
||||||
|
SPI_PIN_MOSI,
|
||||||
|
SPI_PIN_MISO,
|
||||||
|
SPI_PIN_SCLK
|
||||||
|
);
|
||||||
|
|
||||||
|
MCP2521_HardwareHandle_ESPBus hardware_mcp2521_0 = mcp2521_hardware_factory.create(CAN_INT0_PIN, SPI_PIN_CS0);
|
||||||
|
MCP2521_HardwareHandle_ESPBus hardware_mcp2521_1 = mcp2521_hardware_factory.create(CAN_INT1_PIN, SPI_PIN_CS1);
|
||||||
|
|
||||||
|
vTaskDelay(100 / portTICK_PERIOD_MS);
|
||||||
|
|
||||||
|
MCP2521 mcp2521_0(&hardware_mcp2521_0);
|
||||||
|
MCP2521 mcp2521_1(&hardware_mcp2521_1);
|
||||||
|
|
||||||
|
uint8_t data[8] = {0x1, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
|
||||||
|
|
||||||
|
mcp2521_0.reset();
|
||||||
|
mcp2521_1.reset();
|
||||||
|
mcp2521_0.enable_interrupts(true, true, true, true, true, true, true, true);
|
||||||
|
mcp2521_1.enable_interrupts(true, true, true, true, true, true, true, true);
|
||||||
|
|
||||||
|
mcp2521_0.register_rx0_handler(onRX0, &mcp2521_0);
|
||||||
|
mcp2521_1.register_rx0_handler(onRX1, &mcp2521_1);
|
||||||
|
mcp2521_0.register_rx1_handler(onRX0, &mcp2521_0);
|
||||||
|
mcp2521_1.register_rx1_handler(onRX1, &mcp2521_1);
|
||||||
|
|
||||||
|
mcp2521_0.set_mode_of_operation(MCP2521_OPERATION_MODE::LOOPBACK, true);
|
||||||
|
mcp2521_1.set_mode_of_operation(MCP2521_OPERATION_MODE::LOOPBACK, true);
|
||||||
|
|
||||||
|
//printf("CANSTAT0: %x\n", mcp2521_0.read_reg(MCP2521_CANSTAT));
|
||||||
|
//printf("CANSTAT1: %x\n", mcp2521_1.read_reg(MCP2521_CANSTAT));
|
||||||
|
|
||||||
|
vTaskDelay(20 / portTICK_PERIOD_MS);
|
||||||
|
|
||||||
|
mcp2521_1.prepare_tx(
|
||||||
|
MCP2521_TX_BUFFER::TXB0, 0x042, data, 8, false, false);
|
||||||
|
//mcp2521_1.prepare_tx(
|
||||||
|
// MCP2521_TX_BUFFER::TXB0, 0x041, data, 4, false, false);
|
||||||
|
|
||||||
|
|
||||||
|
vTaskDelay(20 / portTICK_PERIOD_MS);
|
||||||
|
mcp2521_1.request_to_send(MCP2521_TX_BUFFER::TXB0);
|
||||||
|
//vTaskDelay(10 / portTICK_PERIOD_MS);
|
||||||
|
//mcp2521_1.request_to_send(MCP2521_TX_BUFFER::TXB0);
|
||||||
|
|
||||||
|
//vTaskDelay(20 / portTICK_PERIOD_MS);
|
||||||
|
|
||||||
|
//mcp2521_0.set_tx_id(MCP2521_TX_BUFFER::TXB0, 0x042, false);
|
||||||
|
//mcp2521_0.request_to_send(MCP2521_TX_BUFFER::TXB0);
|
||||||
|
|
||||||
|
vTaskDelay(20 / portTICK_PERIOD_MS);
|
||||||
|
|
||||||
|
bool flag = true;
|
||||||
|
while (true) {
|
||||||
|
gpio_set_level(LED_PIN, flag);
|
||||||
|
flag = !flag;
|
||||||
|
|
||||||
|
vTaskDelay(500 / portTICK_PERIOD_MS);
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
can-interface/pulseView-debug-session
Normal file
BIN
can-interface/pulseView-debug-session
Normal file
Binary file not shown.
BIN
can-interface/pulseview-session
Normal file
BIN
can-interface/pulseview-session
Normal file
Binary file not shown.
BIN
can-interface/pytest_hello_world.py
LFS
Executable file
BIN
can-interface/pytest_hello_world.py
LFS
Executable file
Binary file not shown.
2008
can-interface/sdkconfig
Normal file
2008
can-interface/sdkconfig
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user