Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1660ab9be6 | |||
| 94c26da2a0 | |||
| 2d628dfa61 | |||
| 8856da8a3f | |||
| 5370261926 | |||
| 3f9020b964 | |||
| 19564c1347 | |||
| 52fcd07a8d | |||
| 8b57b6763e | |||
| 3a487f95dc |
@@ -0,0 +1 @@
|
|||||||
|
cad/FDM/frame-12.FCStd filter=lfs diff=lfs merge=lfs -text
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Electrical Design
|
||||||
|
about: Issue Template for the feeder's Electrical Design
|
||||||
|
title: ''
|
||||||
|
labels: triage
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version Number
|
||||||
|
<!-- What is the latest known version number where this issue is present? -->
|
||||||
|
|
||||||
|
## Bugfix or Enhancement
|
||||||
|
<!-- Is this issue a bug with the feeder, or a potential enhancement? -->
|
||||||
|
|
||||||
|
## Description
|
||||||
|
<!-- Please describe the issue. Be sure to include relevant parts and photos/video if possible. -->
|
||||||
|
|
||||||
|
## Suggested Solution
|
||||||
|
<!-- Please describe a suggested solution, if you have one in mind. -->
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Mechanical Design
|
||||||
|
about: Issue Template for the feeder's Mechanical Design
|
||||||
|
title: ''
|
||||||
|
labels: triage
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version Number
|
||||||
|
<!-- What is the latest known version number where this issue is present? -->
|
||||||
|
|
||||||
|
## Bugfix or Enhancement
|
||||||
|
<!-- Is this issue a bug with the feeder, or a potential enhancement? -->
|
||||||
|
|
||||||
|
## Description
|
||||||
|
<!-- Please describe the issue. Be sure to include relevant parts and photos/video if possible. -->
|
||||||
|
|
||||||
|
## Suggested Solution
|
||||||
|
<!-- Please describe a suggested solution, if you have one in mind. -->
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
name: Export BOM
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
release:
|
||||||
|
types: [ published ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
generate-bom:
|
||||||
|
name: Generate BOM
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Generate Short SHA Environment Variable
|
||||||
|
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Install Python
|
||||||
|
run: |
|
||||||
|
sudo apt install python3
|
||||||
|
|
||||||
|
- name: Download repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Generate BOM HTML Page for Release
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
python3 .github/workflows/scripts/export-bom.py ${{ github.event.release.tag_name }}
|
||||||
|
|
||||||
|
- name: Generate BOM HTML Page for Workflow Dispatch
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
run: |
|
||||||
|
python3 .github/workflows/scripts/export-bom.py ${SHORT_SHA}
|
||||||
|
|
||||||
|
- name: Install FreeCAD Python library
|
||||||
|
run: |
|
||||||
|
sudo apt -qq update
|
||||||
|
sudo apt-get -qq -y install python3
|
||||||
|
sudo apt-get -qq -y install python3-pip
|
||||||
|
sudo apt-get -qq -y install qt5-default
|
||||||
|
python3 -m pip install --upgrade pip
|
||||||
|
pip install pyside2==5.12.6
|
||||||
|
|
||||||
|
- name: Fetch FreeCAD
|
||||||
|
uses: dsaltares/fetch-gh-release-asset@master
|
||||||
|
with:
|
||||||
|
repo: "FreeCAD/FreeCAD"
|
||||||
|
version: "tags/0.19.2"
|
||||||
|
file: "FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage"
|
||||||
|
target: "FreeCAD.AppImage"
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Install FreeCad
|
||||||
|
run: |
|
||||||
|
sudo chown runner:docker FreeCAD.AppImage
|
||||||
|
pwd
|
||||||
|
chmod +x FreeCAD.AppImage
|
||||||
|
./FreeCAD.AppImage --appimage-extract > /dev/null
|
||||||
|
|
||||||
|
- name: Generate STL files
|
||||||
|
run: |
|
||||||
|
cd .github/workflows/scripts
|
||||||
|
python3 export-stl.py
|
||||||
|
ls -al
|
||||||
|
|
||||||
|
- name: Install OpenSCAD
|
||||||
|
run: |
|
||||||
|
sudo add-apt-repository ppa:openscad/releases
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install openscad
|
||||||
|
|
||||||
|
- name: Generate STL Images for Release
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install xvfb
|
||||||
|
Xvfb :5 -screen 0 800x600x24 &
|
||||||
|
export DISPLAY=:5
|
||||||
|
python3 .github/workflows/scripts/generate-stl-img.py ${{ github.event.release.tag_name }}
|
||||||
|
|
||||||
|
|
||||||
|
- name: Generate STL Images for Workflow Dispatch
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install xvfb
|
||||||
|
Xvfb :5 -screen 0 800x600x24 &
|
||||||
|
export DISPLAY=:5
|
||||||
|
python3 .github/workflows/scripts/generate-stl-img.py ${SHORT_SHA}
|
||||||
|
|
||||||
|
- name: Zip BOM Directory for Workflow Dispatch
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
run: |
|
||||||
|
zip -r Feeder-BOM.zip Feeder-${SHORT_SHA} Feeder-${SHORT_SHA}/img
|
||||||
|
ls -al
|
||||||
|
|
||||||
|
- name: Zip BOM Directory for Release
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
zip -r Feeder-BOM-${{ github.event.release.tag_name }}.zip Feeder-${{ github.event.release.tag_name }} Feeder-${{ github.event.release.tag_name }}/img
|
||||||
|
|
||||||
|
- name: upload BOM results
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Feeder-BOM
|
||||||
|
path: Feeder-BOM.zip
|
||||||
|
|
||||||
|
- name: Upload Artifacts to Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
Feeder-BOM-${{ github.event.release.tag_name }}.zip
|
||||||
|
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
name: Export ECAD
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
release:
|
||||||
|
types: [ published ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
export-ecad:
|
||||||
|
name: Export ECAD
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: setsoft/kicad_auto:ki8
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Generate Short SHA Environment Variable
|
||||||
|
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Update system repositories, Install Required Libraries and Initialize git-lfs
|
||||||
|
run: |
|
||||||
|
apt update
|
||||||
|
apt -y install git git-lfs zip librsvg2-bin imagemagick
|
||||||
|
git lfs install
|
||||||
|
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
|
||||||
|
- name: Extract branch name
|
||||||
|
shell: bash
|
||||||
|
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||||
|
id: extract_branch
|
||||||
|
|
||||||
|
- name: Update the PCBs with on default branch with git hash
|
||||||
|
if: github.event_name == 'release' || steps.extract_branch.outputs.branch == env.main_branch
|
||||||
|
run: |
|
||||||
|
export COMMIT=$(git rev-parse --short HEAD)
|
||||||
|
echo "COMMIT = ${COMMIT}"
|
||||||
|
echo "ref: ${{ github.ref }}"
|
||||||
|
echo "default: ${{ env.default }}"
|
||||||
|
sed -i "s!<<hash>>!${COMMIT}!" pcb/mobo/mobo.kicad_pcb
|
||||||
|
sed -i "s!<<hash>>!${COMMIT}!" pcb/light-diffusion/light-diffusion.kicad_pcb
|
||||||
|
sed -i "s!<<hash>>!${COMMIT}!" pcb/photon-8mm-fid/fiducialBoard.kicad_pcb
|
||||||
|
|
||||||
|
- name: Update the PCBs with the git hash and BETA.
|
||||||
|
if: steps.extract_branch.outputs.branch != env.main_branch
|
||||||
|
run: |
|
||||||
|
export COMMIT=$(git rev-parse --short HEAD)
|
||||||
|
echo "COMMIT = ${COMMIT}"
|
||||||
|
sed -i "s!<<hash>>!BETA-${COMMIT}!" pcb/mobo/mobo.kicad_pcb
|
||||||
|
sed -i "s!<<hash>>!BETA-${COMMIT}!" pcb/light-diffusion/light-diffusion.kicad_pcb
|
||||||
|
sed -i "s!<<hash>>!BETA-${COMMIT}!" pcb/photon-8mm-fid/fiducialBoard.kicad_pcb
|
||||||
|
|
||||||
|
- name: Generate Mobo Export Files
|
||||||
|
run: |
|
||||||
|
cd pcb/mobo
|
||||||
|
rm -rf mobo/
|
||||||
|
kibot -c ../../.github/workflows/scripts/kibot/config-2layer.kibot.yaml -e mobo.kicad_sch -b mobo.kicad_pcb -d mobo
|
||||||
|
zip -r -j mobo.zip mobo/
|
||||||
|
|
||||||
|
- name: Generate Light Diffusion Export Files
|
||||||
|
run: |
|
||||||
|
cd pcb/light-diffusion
|
||||||
|
rm -rf light-diffusion/
|
||||||
|
kibot -c ../../.github/workflows/scripts/kibot/config-2layer.kibot.yaml -e light-diffusion.kicad_sch -b light-diffusion.kicad_pcb -d light-diffusion
|
||||||
|
zip -r -j light-diffusion.zip light-diffusion/
|
||||||
|
|
||||||
|
- name: Generate Photon 8mm Fiducial Export Files
|
||||||
|
run: |
|
||||||
|
cd pcb/photon-8mm-fid
|
||||||
|
rm -rf photon-8mm-fid/
|
||||||
|
kibot -c ../../.github/workflows/scripts/kibot/config-2layer.kibot.yaml -e fiducialBoard.kicad_sch -b fiducialBoard.kicad_pcb -d photon-8mm-fid
|
||||||
|
zip -r -j photon-8mm-fid.zip photon-8mm-fid/
|
||||||
|
|
||||||
|
- name: Zip PCB Export Files for Artifacts
|
||||||
|
run: |
|
||||||
|
cd pcb/
|
||||||
|
zip -r -j Feeder-PCBs.zip photon-8mm-fid/photon-8mm-fid.zip light-diffusion/light-diffusion.zip mobo/mobo.zip
|
||||||
|
|
||||||
|
- name: Zip PCB Export Files for Release
|
||||||
|
run: |
|
||||||
|
cd pcb/
|
||||||
|
zip -r -j Feeder-PCBs-${{ github.event.release.tag_name }}.zip photon-8mm-fid/photon-8mm-fid.zip light-diffusion/light-diffusion.zip mobo/mobo.zip
|
||||||
|
|
||||||
|
- name: Upload PCB Export Files as Artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Feeder-PCBs.zip
|
||||||
|
path: pcb/Feeder-PCBs.zip
|
||||||
|
if-no-files-found: error
|
||||||
|
retention-days: 60
|
||||||
|
|
||||||
|
- name: Upload Artifacts to Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
pcb/Feeder-PCBs-${{ github.event.release.tag_name }}.zip
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
name: Export MCAD
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [ published ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
export-mcad:
|
||||||
|
name: Export MCAD
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Generate Short SHA Environment Variable
|
||||||
|
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Download repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- run: git lfs install && git lfs pull
|
||||||
|
|
||||||
|
- name: Install FreeCAD Python library
|
||||||
|
run: |
|
||||||
|
sudo apt -qq update
|
||||||
|
sudo apt-get -qq -y install python3
|
||||||
|
sudo apt-get -qq -y install python3-pip
|
||||||
|
sudo apt-get -qq -y install qt5-default
|
||||||
|
python3 -m pip install --upgrade pip
|
||||||
|
pip install pyside2==5.12.6
|
||||||
|
|
||||||
|
- name: Fetch FreeCAD
|
||||||
|
uses: dsaltares/fetch-gh-release-asset@master
|
||||||
|
with:
|
||||||
|
repo: "FreeCAD/FreeCAD"
|
||||||
|
version: "tags/0.19.2"
|
||||||
|
file: "FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage"
|
||||||
|
target: "FreeCAD.AppImage"
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Install FreeCad
|
||||||
|
run: |
|
||||||
|
sudo chown runner:docker FreeCAD.AppImage
|
||||||
|
pwd
|
||||||
|
chmod +x FreeCAD.AppImage
|
||||||
|
./FreeCAD.AppImage --appimage-extract > /dev/null
|
||||||
|
|
||||||
|
- name: Generate DXF files
|
||||||
|
run: |
|
||||||
|
cd .github/workflows/scripts
|
||||||
|
python3 export-csm.py
|
||||||
|
pwd
|
||||||
|
ls -al
|
||||||
|
cd csm-export
|
||||||
|
ls -al
|
||||||
|
env:
|
||||||
|
LD_LIBRARY_PATH: /home/runner/work/feeder/feeder/squashfs-root/usr/lib
|
||||||
|
|
||||||
|
- name: Generate STL files
|
||||||
|
run: |
|
||||||
|
cd .github/workflows/scripts
|
||||||
|
python3 export-stl.py
|
||||||
|
|
||||||
|
- name: Compress STL and DXF files for Release
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
cd .github/workflows/scripts/stl-export
|
||||||
|
zip -9 -j /home/runner/work/feeder/feeder/Feeder-STLs-${{ github.event.release.tag_name }}.zip *.stl
|
||||||
|
cd ../csm-export
|
||||||
|
|
||||||
|
- name: Compress STL and DXF files for Artifacts
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
run: |
|
||||||
|
cd .github/workflows/scripts/stl-export
|
||||||
|
zip -9 -j ~/Feeder-STLs.zip *.stl
|
||||||
|
cd /home/runner/work/feeder/feeder/.github/workflows/scripts/csm-export
|
||||||
|
|
||||||
|
- name: Upload STLs as Artifacts
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Feeder-STLs
|
||||||
|
path: ~/Feeder-STLs.zip
|
||||||
|
if-no-files-found: error
|
||||||
|
retention-days: 60
|
||||||
|
|
||||||
|
- name: Upload DXFs as Artifacts
|
||||||
|
if: github.event_name != 'release'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Feeder-DXFs
|
||||||
|
path: ~/Feeder-DXFs.zip
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 60
|
||||||
|
|
||||||
|
- name: Upload STLs and DXFs Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
with:
|
||||||
|
files: Feeder-STLs-${{ github.event.release.tag_name }}.zip
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
from platform import release
|
||||||
|
import sys
|
||||||
|
import csv
|
||||||
|
|
||||||
|
# make directory for bom html file and assets
|
||||||
|
dirName = "Feeder-" + sys.argv[1]
|
||||||
|
if not os.path.exists(dirName):
|
||||||
|
os.mkdir(dirName)
|
||||||
|
print("Directory " , dirName , " Created ")
|
||||||
|
else:
|
||||||
|
print("Directory " , dirName , " already exists")
|
||||||
|
|
||||||
|
|
||||||
|
# make html file that will become our BOM
|
||||||
|
f = open(dirName + "/bom_" + sys.argv[1] + ".html", "w")
|
||||||
|
f.write("""
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<head>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #222;
|
||||||
|
padding: 30px;
|
||||||
|
font-family: helvetica;
|
||||||
|
color: #fff
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
color:white;
|
||||||
|
}
|
||||||
|
.optional {
|
||||||
|
background-color: #430;
|
||||||
|
}
|
||||||
|
tr.titlerow th {
|
||||||
|
background-color: goldenrod;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
padding: 10px;
|
||||||
|
text-align: left;
|
||||||
|
border-bottom: 2px solid #fff
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color:goldenrod;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo {
|
||||||
|
width: 250px;
|
||||||
|
position: absolute;
|
||||||
|
top: 30px;
|
||||||
|
right: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:hover {
|
||||||
|
background-color: #444;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>
|
||||||
|
""")
|
||||||
|
|
||||||
|
#write page title based on script
|
||||||
|
f.write("LumenPnP Feeder BOM " + sys.argv[1])
|
||||||
|
|
||||||
|
#write the beginning of table, and row for header
|
||||||
|
f.write("</h1><a href='https://www.github.com/opulo-inc/feeder/releases/' target='_blank' rel='noopener noreferrer'><h2>Download the Source Here</h2></a><a href='https://www.opulo.io/' target='_blank' rel='noopener noreferrer'><img src='https://cdn.shopify.com/s/files/1/0570/4256/7355/files/opulo-white-alpha_1200x1200.png?v=1644515300' id='logo'/></a><table>")
|
||||||
|
|
||||||
|
with open('bom.csv') as bom:
|
||||||
|
csv_reader = csv.reader(bom, delimiter=',')
|
||||||
|
line_count = 0
|
||||||
|
|
||||||
|
for row in csv_reader:
|
||||||
|
column = 0
|
||||||
|
|
||||||
|
if line_count == 0: #if header row, just print what's there
|
||||||
|
f.write("<tr class='titlerow'>")
|
||||||
|
while column < len(row):
|
||||||
|
f.write("<th style='color:black;'>" + row[column] + "</th>")
|
||||||
|
column += 1
|
||||||
|
else: #if content row
|
||||||
|
if row[6] != "":
|
||||||
|
f.write("<tr class='optional'>")
|
||||||
|
else:
|
||||||
|
f.write("<tr>")
|
||||||
|
|
||||||
|
while column < len(row):
|
||||||
|
|
||||||
|
# handling images
|
||||||
|
if column == 1 and row[3] != "FDM":
|
||||||
|
f.write("<th><img src='" + row[column] + "' /></th>")
|
||||||
|
elif column == 1 and row[3] == "FDM":
|
||||||
|
f.write("<th><img src='img/" + row[0] + ".png' /></th>")
|
||||||
|
|
||||||
|
# handling links
|
||||||
|
elif (column == 4 or column == 5) and row[3] != "FDM" and row[column] != "":
|
||||||
|
f.write("<th><a href='" + row[column] + "' target='_blank' rel='noopener noreferrer'/>Link</a></th>")
|
||||||
|
# all other cells
|
||||||
|
else:
|
||||||
|
f.write("<th>" + row[column] + "</th>")
|
||||||
|
column += 1
|
||||||
|
f.write("</tr>")
|
||||||
|
line_count += 1
|
||||||
|
|
||||||
|
f.write("</table></body></html>")
|
||||||
|
|
||||||
|
|
||||||
|
f.close()
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
import math
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import List
|
||||||
|
import time
|
||||||
|
|
||||||
|
freecad_paths = [
|
||||||
|
'/home/runner/work/feeder/feeder/squashfs-root/usr/lib', # For CI when using AppImage
|
||||||
|
'/usr/lib/freecad/lib/', # For CI
|
||||||
|
'/usr/lib/freecad-daily-python3/lib/', # For Ubuntu
|
||||||
|
'/usr/lib64/freecad/lib64/', # For Fedora
|
||||||
|
'/Applications/FreeCAD.app/Contents/MacOS', # For Mac OS X
|
||||||
|
'c:/Program Files/FreeCAD 0.18/bin/', # For Windows
|
||||||
|
'c:/Program Files/FreeCAD 0.19/bin/', # For Windows
|
||||||
|
]
|
||||||
|
|
||||||
|
# Font file relative to this python script
|
||||||
|
font_folder = '../../../lib/fonts'
|
||||||
|
|
||||||
|
for path in freecad_paths:
|
||||||
|
if os.path.exists(path):
|
||||||
|
print(f"Added possible FreeCAD path: {path}")
|
||||||
|
sys.path.append(path)
|
||||||
|
|
||||||
|
# Must be after sys.path.append above...
|
||||||
|
import FreeCAD
|
||||||
|
import importDXF
|
||||||
|
|
||||||
|
print('Python version:',sys.version,'FreeCAD version:',FreeCAD.Version())
|
||||||
|
|
||||||
|
def process_csm_file(cad_file: Path, output_folder: Path):
|
||||||
|
print("Processing " + cad_file.name)
|
||||||
|
doc = FreeCAD.open(str(cad_file.absolute()))
|
||||||
|
|
||||||
|
name = cad_file.name[:-6]
|
||||||
|
|
||||||
|
# name_options = [obj.String for obj in doc.Objects if
|
||||||
|
# obj.isDerivedFrom("Part::Part2DObject") and obj.Label == "PN"]
|
||||||
|
# if name_options:
|
||||||
|
# name = name_options[0]
|
||||||
|
# else:
|
||||||
|
# # If there is no part number embossed throw error
|
||||||
|
# raise ValueError("Part " + cad_file.name + " doesn't have a ShapeString called PN for part number emboss")
|
||||||
|
|
||||||
|
output_file=os.path.join(output_folder,name+'.dxf')
|
||||||
|
print("Output file "+output_file)
|
||||||
|
#output_file=os.path.join(output_folder,os.path.splitext(os.path.basename(cad_file))[0]+'.dxf')
|
||||||
|
|
||||||
|
# if cad_file.name[:8] != name[:8]:
|
||||||
|
# # STL model file name does not match the part number embedded in the file
|
||||||
|
# raise ValueError(
|
||||||
|
# "Part " + cad_file.name[:8] + " doesn't match the part number in the FreeCad model - " + name[:8])
|
||||||
|
|
||||||
|
body = [obj for obj in doc.Objects if obj.Label == "Body"]
|
||||||
|
|
||||||
|
if len(body) == 0:
|
||||||
|
print(f"Cannot find body object. {len(doc.Objects)} objects present")
|
||||||
|
for obj in doc.Objects:
|
||||||
|
print(f"- {obj.Label}")
|
||||||
|
|
||||||
|
raise Exception(f"Object named 'Body' not found in model {cad_file.name}")
|
||||||
|
|
||||||
|
body = body[0]
|
||||||
|
|
||||||
|
# Find font references in the model and ensure they point to the correct font file
|
||||||
|
fonts = [obj for obj in doc.Objects if
|
||||||
|
obj.isDerivedFrom("Part::Part2DObject") and hasattr(obj, "FontFile")]
|
||||||
|
|
||||||
|
for obj in fonts:
|
||||||
|
font_file_property = obj.getPropertyByName('FontFile')
|
||||||
|
new_font_file = os.path.join(font_folder, os.path.split(font_file_property)[1])
|
||||||
|
if not os.path.isfile(new_font_file):
|
||||||
|
raise FileNotFoundError(f"Cannot find font file {new_font_file}")
|
||||||
|
|
||||||
|
if new_font_file != font_file_property:
|
||||||
|
print(f"\tCorrected '{obj.Label}' font file name from {font_file_property}")
|
||||||
|
setattr(obj, "FontFile", new_font_file)
|
||||||
|
obj.touch()
|
||||||
|
|
||||||
|
# Recompute the model to ensure its valid and does not contain broken references or edges
|
||||||
|
# Mark each object as "changed"
|
||||||
|
for obj in doc.Objects:
|
||||||
|
obj.touch()
|
||||||
|
|
||||||
|
# Recompute the entire document
|
||||||
|
t0 = time.perf_counter()
|
||||||
|
doc.recompute(None, True, True)
|
||||||
|
t1 = time.perf_counter()
|
||||||
|
total = t1 - t0
|
||||||
|
print(f"\tRecompute of model took {total:3f}s")
|
||||||
|
|
||||||
|
__objs__=[]
|
||||||
|
__objs__.append(body)
|
||||||
|
importDXF.export(__objs__,output_file)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Create output folder if needed
|
||||||
|
output_directory = Path('csm-export')
|
||||||
|
output_directory.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
csm_path = Path('../../../src/cad/CSM')
|
||||||
|
|
||||||
|
files = sorted(csm_path.glob('*.FCStd'))
|
||||||
|
|
||||||
|
exceptions: List[Exception] = []
|
||||||
|
|
||||||
|
for f in files:
|
||||||
|
try:
|
||||||
|
process_csm_file(f, output_directory)
|
||||||
|
except Exception as ex:
|
||||||
|
print(f"****")
|
||||||
|
print(f"\tAn error occurred while processing {str(f)}:")
|
||||||
|
print(f"\t{ex}")
|
||||||
|
traceback.print_exc()
|
||||||
|
print(f"****")
|
||||||
|
exceptions.append(ex)
|
||||||
|
|
||||||
|
if exceptions:
|
||||||
|
verb = "was" if len(exceptions) == 1 else "were"
|
||||||
|
noun = "exception" if len(exceptions) == 1 else "exceptions"
|
||||||
|
print(f"There {verb} {len(exceptions)} {noun}")
|
||||||
|
|
||||||
|
assert len(exceptions) == 0
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
import math
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import List
|
||||||
|
import time
|
||||||
|
import csv
|
||||||
|
|
||||||
|
freecad_paths = [
|
||||||
|
'/home/runner/work/feeder/feeder/squashfs-root/usr/lib', # For CI when using AppImage
|
||||||
|
'/usr/lib/freecad/lib/', # For CI
|
||||||
|
'/usr/lib/freecad-daily-python3/lib/', # For Ubuntu
|
||||||
|
'/usr/lib64/freecad/lib64/', # For Fedora
|
||||||
|
'/Applications/FreeCAD.app/Contents/MacOS', # For Mac OS X
|
||||||
|
'c:/Program Files/FreeCAD 0.18/bin/', # For Windows
|
||||||
|
'c:/Program Files/FreeCAD 0.19/bin/', # For Windows
|
||||||
|
]
|
||||||
|
|
||||||
|
# Font file relative to this python script
|
||||||
|
font_folder = '../../../lib/fonts'
|
||||||
|
|
||||||
|
for path in freecad_paths:
|
||||||
|
if os.path.exists(path):
|
||||||
|
print(f"Added possible FreeCAD path: {path}")
|
||||||
|
sys.path.append(path)
|
||||||
|
|
||||||
|
import FreeCAD
|
||||||
|
import MeshPart
|
||||||
|
|
||||||
|
print('Python version:')
|
||||||
|
print(sys.version)
|
||||||
|
|
||||||
|
print('FreeCAD version:')
|
||||||
|
print(FreeCAD.Version())
|
||||||
|
|
||||||
|
|
||||||
|
def process_file(cad_file: Path):
|
||||||
|
print("Processing " + cad_file.name)
|
||||||
|
|
||||||
|
doc = FreeCAD.open(str(cad_file.absolute()))
|
||||||
|
|
||||||
|
bom = open("../../../bom.csv")
|
||||||
|
|
||||||
|
csv_reader = csv.reader(bom, delimiter=',')
|
||||||
|
count = 0
|
||||||
|
flag = False
|
||||||
|
for row in csv_reader:
|
||||||
|
if row[0] == cad_file.name[:-6]:
|
||||||
|
print("found a part!")
|
||||||
|
print(row[0])
|
||||||
|
count = row[2]
|
||||||
|
print(count)
|
||||||
|
if count != "-" and count != "":
|
||||||
|
flag = True
|
||||||
|
break
|
||||||
|
|
||||||
|
#generates name with quantity
|
||||||
|
if flag:
|
||||||
|
name = cad_file.name[:-6] + "_" + count + "x"
|
||||||
|
print("making count name")
|
||||||
|
else:
|
||||||
|
name = cad_file.name[:-6]
|
||||||
|
print("making no count name")
|
||||||
|
|
||||||
|
|
||||||
|
# # Getting file name from part number emboss
|
||||||
|
# name_options = [obj.String for obj in doc.Objects if
|
||||||
|
# obj.isDerivedFrom("Part::Part2DObject") and obj.Label == "PN"]
|
||||||
|
# if name_options:
|
||||||
|
# name = name_options[0]
|
||||||
|
# else:
|
||||||
|
# # If there is no part number embossed throw error
|
||||||
|
# raise ValueError("Part " + cad_file.name + " doesn't have a ShapeString called PN for part number emboss")
|
||||||
|
|
||||||
|
# if cad_file.name[:8] != name[:8]:
|
||||||
|
# # STL model file name does not match the part number embedded in the file
|
||||||
|
# raise ValueError(
|
||||||
|
# "Part " + cad_file.name[:8] + " doesn't match the part number in the FreeCad model - " + name[:8])
|
||||||
|
|
||||||
|
body = [obj for obj in doc.Objects if obj.Label == "Body"]
|
||||||
|
|
||||||
|
if len(body) == 0:
|
||||||
|
print(f"Cannot find body object. {len(doc.Objects)} objects present")
|
||||||
|
for obj in doc.Objects:
|
||||||
|
print(f"- {obj.Label}")
|
||||||
|
|
||||||
|
raise Exception(f"Object named 'Body' not found in model {cad_file.name}")
|
||||||
|
|
||||||
|
body = body[0]
|
||||||
|
|
||||||
|
# Find font references in the model and ensure they point to the correct font file
|
||||||
|
fonts = [obj for obj in doc.Objects if
|
||||||
|
obj.isDerivedFrom("Part::Part2DObject") and hasattr(obj, "FontFile")]
|
||||||
|
|
||||||
|
for obj in fonts:
|
||||||
|
font_file_property = obj.getPropertyByName('FontFile')
|
||||||
|
new_font_file = os.path.join(font_folder, os.path.split(font_file_property)[1])
|
||||||
|
if not os.path.isfile(new_font_file):
|
||||||
|
raise FileNotFoundError(f"Cannot find font file {new_font_file}")
|
||||||
|
|
||||||
|
if new_font_file != font_file_property:
|
||||||
|
print(f"\tCorrected '{obj.Label}' font file name from {font_file_property}")
|
||||||
|
setattr(obj, "FontFile", new_font_file)
|
||||||
|
obj.touch()
|
||||||
|
|
||||||
|
# Recompute the model to ensure its valid and does not contain broken references or edges
|
||||||
|
# Mark each object as "changed"
|
||||||
|
for obj in doc.Objects:
|
||||||
|
obj.touch()
|
||||||
|
|
||||||
|
# Recompute the entire document
|
||||||
|
t0 = time.perf_counter()
|
||||||
|
doc.recompute(None, True, True)
|
||||||
|
t1 = time.perf_counter()
|
||||||
|
total = t1 - t0
|
||||||
|
print(f"\tRecompute of model took {total:3f}s")
|
||||||
|
|
||||||
|
# Now check for any invalid shapes
|
||||||
|
# for obj in doc.Objects:
|
||||||
|
# if 'Invalid' in obj.State:
|
||||||
|
# raise Exception(f"Shape '{obj.Name}' in model '{cad_file.name}' is invalid")
|
||||||
|
|
||||||
|
shape = body.Shape.copy(False)
|
||||||
|
|
||||||
|
print_planes = [obj for obj in doc.Objects if obj.Label == "PrintPlane"]
|
||||||
|
if print_planes:
|
||||||
|
plane = print_planes[0]
|
||||||
|
matrix = plane.Placement.Matrix.inverse()
|
||||||
|
matrix.rotateX(math.pi)
|
||||||
|
shape = shape.transformShape(matrix)
|
||||||
|
# Very useful debug info if shape orientation gets funky
|
||||||
|
# print(f"\t\tShape Placement: {shape.Placement}")
|
||||||
|
# print(f"\t\tPlane Placement: {plane.Placement}")
|
||||||
|
# print(f"\t\tPlane Offset: {plane.AttachmentOffset}")
|
||||||
|
# print(f"\t\tMin X: {round(min(v.Point.x for v in shape.Vertexes), 2)}")
|
||||||
|
# print(f"\t\tMax X: {round(max(v.Point.x for v in shape.Vertexes), 2)}")
|
||||||
|
# print(f"\t\tMin Y: {round(min(v.Point.y for v in shape.Vertexes), 2)}")
|
||||||
|
# print(f"\t\tMax Y: {round(max(v.Point.y for v in shape.Vertexes), 2)}")
|
||||||
|
# print(f"\t\tMin Z: {round(min(v.Point.z for v in shape.Vertexes), 2)}")
|
||||||
|
# print(f"\t\tMax Z: {round(max(v.Point.z for v in shape.Vertexes), 2)}")
|
||||||
|
else:
|
||||||
|
print(f"\tWarning, missing PrintPlane object in file {cad_file.name}")
|
||||||
|
|
||||||
|
# Delete any STL files with similar names (to cater for increments in version number)
|
||||||
|
delete_files = Path('stl-export').glob(name[0:9] + '??.stl')
|
||||||
|
for to_delete in delete_files:
|
||||||
|
print(f"\tDeleting previous STL model {to_delete}")
|
||||||
|
os.remove(to_delete)
|
||||||
|
|
||||||
|
# Generate STL
|
||||||
|
mesh = doc.addObject("Mesh::Feature", "Mesh")
|
||||||
|
mesh.Mesh = MeshPart.meshFromShape(Shape=shape, LinearDeflection=0.01, AngularDeflection=0.025, Relative=False)
|
||||||
|
mesh.Mesh.write("stl-export/" + name + ".stl")
|
||||||
|
FreeCAD.closeDocument(doc.Name)
|
||||||
|
print(f"\tGenerated file 3D-Prints/{name}.stl")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Create output folder if needed
|
||||||
|
output_directory = Path('stl-export')
|
||||||
|
output_directory.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
fdm_path = Path('../../../cad/FDM')
|
||||||
|
|
||||||
|
exceptions: List[Exception] = []
|
||||||
|
|
||||||
|
# Use command line supplied file list if we have one
|
||||||
|
files = []
|
||||||
|
|
||||||
|
for p in sys.argv[1:]:
|
||||||
|
# Strip any folder names from parameter and assume it's a file in FDM folder
|
||||||
|
files.append(fdm_path.joinpath(Path(Path(p).name)))
|
||||||
|
|
||||||
|
# If no command line, scan the folder
|
||||||
|
if len(files) == 0:
|
||||||
|
files = sorted(fdm_path.glob('*.FCStd'))
|
||||||
|
|
||||||
|
for f in files:
|
||||||
|
try:
|
||||||
|
process_file(f)
|
||||||
|
except Exception as ex:
|
||||||
|
print(f"****")
|
||||||
|
print(f"\tAn error occurred while processing {str(f)}:")
|
||||||
|
print(f"\t{ex}")
|
||||||
|
traceback.print_exc()
|
||||||
|
print(f"****")
|
||||||
|
exceptions.append(ex)
|
||||||
|
|
||||||
|
if exceptions:
|
||||||
|
verb = "was" if len(exceptions) == 1 else "were"
|
||||||
|
noun = "exception" if len(exceptions) == 1 else "exceptions"
|
||||||
|
print(f"There {verb} {len(exceptions)} {noun}")
|
||||||
|
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#
|
||||||
|
# Exports 3D STL files to a static image for documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
import glob
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
dirName = "Feeder-" + sys.argv[1] + "/img"
|
||||||
|
if not os.path.exists(dirName):
|
||||||
|
os.mkdir(dirName)
|
||||||
|
print("Directory " , dirName , " Created ")
|
||||||
|
else:
|
||||||
|
print("Directory " , dirName , " already exists")
|
||||||
|
|
||||||
|
for name in glob.glob(".github/workflows/scripts/stl-export/*.stl"):
|
||||||
|
|
||||||
|
print(name)
|
||||||
|
|
||||||
|
file=os.path.abspath(name)
|
||||||
|
|
||||||
|
f = open("./render_image.scad", "w")
|
||||||
|
f.write("import(\"")
|
||||||
|
f.write(file)
|
||||||
|
f.write("\", convexity=3);")
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
base = os.path.splitext(file)[0]
|
||||||
|
base = dirName + "/" + os.path.basename(name)
|
||||||
|
base = base[:-4]
|
||||||
|
print(base)
|
||||||
|
|
||||||
|
head, sep, tail = base.partition('_')
|
||||||
|
base = head
|
||||||
|
|
||||||
|
|
||||||
|
subprocess.call(["openscad","-o",base+".png", "--quiet", "--render", "--projection=o", "--viewall","--colorscheme","BeforeDawn", "--imgsize", "512,512", "--hardwarnings", "./render_image.scad" ])
|
||||||
|
#subprocess.call(["/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD","-o",base+".png", "--quiet", "--render", "--projection=o", "--viewall","--colorscheme","BeforeDawn", "--imgsize", "512,512", "--hardwarnings", "./render_image.scad" ])
|
||||||
|
|
||||||
|
if os.path.exists("./render_image.scad"):
|
||||||
|
os.remove("./render_image.scad")
|
||||||
@@ -0,0 +1,144 @@
|
|||||||
|
# Example KiPlot config file
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
global:
|
||||||
|
variant: default
|
||||||
|
|
||||||
|
variants:
|
||||||
|
- name: default
|
||||||
|
comment: 'Just a place holder for the rotation filter'
|
||||||
|
type: kibom
|
||||||
|
variant: default
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
# Disable ERC for now while GPereira updates these items.
|
||||||
|
run_erc: false
|
||||||
|
update_xml: true
|
||||||
|
# Disable DRC for now while GPereira updates these items.
|
||||||
|
run_drc: false
|
||||||
|
check_zone_fills: true
|
||||||
|
ignore_unconnected: false
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: 'ibom'
|
||||||
|
comment: 'Interactive Bill of Materials'
|
||||||
|
type: ibom
|
||||||
|
dir: ibom
|
||||||
|
|
||||||
|
- name: 'bom'
|
||||||
|
comment: 'Bill of Materials'
|
||||||
|
type: bom
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: true
|
||||||
|
hide_stats_info: true
|
||||||
|
format: CSV
|
||||||
|
|
||||||
|
- name: 'html_bom'
|
||||||
|
comment: 'HTML BOM'
|
||||||
|
type: bom
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
html:
|
||||||
|
datasheet_as_link: Datasheet
|
||||||
|
digikey_link: Digikey
|
||||||
|
title: 'Bill of Materials'
|
||||||
|
|
||||||
|
- name: 'print_sch'
|
||||||
|
comment: "Print schematic (PDF)"
|
||||||
|
type: pdf_sch_print
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
output: Schematic.pdf
|
||||||
|
|
||||||
|
#removing to prevent ci from hanging while exporting pdf
|
||||||
|
# - name: 'print_front'
|
||||||
|
# comment: "Print F.Cu+Dwgs.User"
|
||||||
|
# type: pdf_pcb_print
|
||||||
|
# dir: .
|
||||||
|
# options:
|
||||||
|
# output_name: PCB.pdf
|
||||||
|
# separated: true
|
||||||
|
# layers:
|
||||||
|
# - layer: F.Cu
|
||||||
|
# description: 'Front Copper'
|
||||||
|
# - layer: B.Cu
|
||||||
|
# description: 'Back Copper'
|
||||||
|
# - layer: F.SilkS
|
||||||
|
# description: 'Front Silk'
|
||||||
|
# - layer: B.SilkS
|
||||||
|
# description: 'Rear Silk'
|
||||||
|
|
||||||
|
- name: 'gerbers'
|
||||||
|
comment: "Gerbers for the board house"
|
||||||
|
type: gerber
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
# generic layer options
|
||||||
|
exclude_edge_layer: true
|
||||||
|
exclude_pads_from_silkscreen: false
|
||||||
|
use_aux_axis_as_origin: false
|
||||||
|
plot_sheet_reference: false
|
||||||
|
plot_footprint_refs: true
|
||||||
|
plot_footprint_values: true
|
||||||
|
force_plot_invisible_refs_vals: false
|
||||||
|
tent_vias: true
|
||||||
|
|
||||||
|
# gerber options
|
||||||
|
line_width: 0.1
|
||||||
|
subtract_mask_from_silk: false
|
||||||
|
use_protel_extensions: false
|
||||||
|
gerber_precision: 4.6
|
||||||
|
create_gerber_job_file: true
|
||||||
|
use_gerber_x2_attributes: false
|
||||||
|
use_gerber_net_attributes: false
|
||||||
|
|
||||||
|
output: '%f.%i'
|
||||||
|
|
||||||
|
|
||||||
|
layers:
|
||||||
|
# When Moving to Four Layer, Set G2L and G3L as the suffixes
|
||||||
|
- layer: F.Cu
|
||||||
|
suffix: GTL
|
||||||
|
- layer: B.Cu
|
||||||
|
suffix: GBL
|
||||||
|
- layer: F.SilkS
|
||||||
|
suffix: GTO
|
||||||
|
- layer: B.SilkS
|
||||||
|
suffix: GBO
|
||||||
|
- layer: F.Mask
|
||||||
|
suffix: GTS
|
||||||
|
- layer: B.Mask
|
||||||
|
suffix: GBS
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
suffix: GKO
|
||||||
|
|
||||||
|
- name: 'drill_file'
|
||||||
|
comment: 'Drill file for Board House'
|
||||||
|
type: excellon
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
metric_units: false
|
||||||
|
pth_and_npth_single_file: true
|
||||||
|
|
||||||
|
- name: board_top
|
||||||
|
comment: "Top layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
|
||||||
|
- name: board_bottom
|
||||||
|
comment: "Bottom layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
bottom: true
|
||||||
|
|
||||||
|
- name: 'step_file'
|
||||||
|
comment: 'STEP file generation'
|
||||||
|
type: step
|
||||||
|
dir: .
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
# Example KiPlot config file
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: only_jlc_parts
|
||||||
|
comment: 'Only parts with JLC code'
|
||||||
|
type: 'generic'
|
||||||
|
include_only:
|
||||||
|
- column: 'JLCPCB'
|
||||||
|
regex: '^C\d+'
|
||||||
|
- name: fix_rotation
|
||||||
|
comment: 'Adjust rotation for JLC'
|
||||||
|
type: rot_footprint
|
||||||
|
rotations:
|
||||||
|
- ["^TI_SO-", 270.0]
|
||||||
|
- ["^SO-", 270.0]
|
||||||
|
- ["^HTSSOP-", 270.0]
|
||||||
|
- ["^SSOP-", 270.0]
|
||||||
|
- ["^MSOP-", 270.0]
|
||||||
|
- ["^USB_C_Receptacle_Palconn", 180.0]
|
||||||
|
|
||||||
|
global:
|
||||||
|
variant: default
|
||||||
|
|
||||||
|
variants:
|
||||||
|
- name: default
|
||||||
|
comment: 'Just a place holder for the rotation filter'
|
||||||
|
type: kibom
|
||||||
|
variant: default
|
||||||
|
- name: jlcpcb
|
||||||
|
comment: 'JLCPCB requires some rotational transforms'
|
||||||
|
type: kibom
|
||||||
|
variant: jlcpcb
|
||||||
|
pre_transform: fix_rotation
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
run_erc: true
|
||||||
|
update_xml: true
|
||||||
|
# Disable DRC for now while GPereira updates these items.
|
||||||
|
run_drc: false
|
||||||
|
check_zone_fills: true
|
||||||
|
ignore_unconnected: false
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: 'ibom'
|
||||||
|
comment: 'Interactive Bill of Materials'
|
||||||
|
type: ibom
|
||||||
|
dir: ibom
|
||||||
|
|
||||||
|
- name: 'bom'
|
||||||
|
comment: 'Bill of Materials'
|
||||||
|
type: bom
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: true
|
||||||
|
hide_stats_info: true
|
||||||
|
format: CSV
|
||||||
|
|
||||||
|
- name: 'html_bom'
|
||||||
|
comment: 'HTML BOM'
|
||||||
|
type: bom
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
html:
|
||||||
|
datasheet_as_link: Datasheet
|
||||||
|
digikey_link: Digikey
|
||||||
|
title: 'Index MOBO Bill of Materials'
|
||||||
|
|
||||||
|
- name: 'print_sch'
|
||||||
|
comment: "Print schematic (PDF)"
|
||||||
|
type: pdf_sch_print
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
output: Schematic.pdf
|
||||||
|
|
||||||
|
# removing to prevent ci from hanging from long export time
|
||||||
|
|
||||||
|
# - name: 'print_front'
|
||||||
|
# comment: "Print F.Cu+Dwgs.User"
|
||||||
|
# type: pdf_pcb_print
|
||||||
|
# dir: .
|
||||||
|
# options:
|
||||||
|
# output_name: PCB.pdf
|
||||||
|
# separated: true
|
||||||
|
# layers:
|
||||||
|
# - layer: F.Cu
|
||||||
|
# description: 'Front Copper'
|
||||||
|
# - layer: In1.Cu
|
||||||
|
# description: 'Layer 2'
|
||||||
|
# - layer: In2.Cu
|
||||||
|
# description: 'Layer 3'
|
||||||
|
# - layer: B.Cu
|
||||||
|
# description: 'Back Copper'
|
||||||
|
# - layer: F.SilkS
|
||||||
|
# description: 'Front Silk'
|
||||||
|
# - layer: B.SilkS
|
||||||
|
# description: 'Rear Silk'
|
||||||
|
|
||||||
|
- name: 'gerbers'
|
||||||
|
comment: "Gerbers for the board house"
|
||||||
|
type: gerber
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
# generic layer options
|
||||||
|
exclude_edge_layer: true
|
||||||
|
exclude_pads_from_silkscreen: false
|
||||||
|
use_aux_axis_as_origin: false
|
||||||
|
plot_sheet_reference: false
|
||||||
|
plot_footprint_refs: true
|
||||||
|
plot_footprint_values: true
|
||||||
|
force_plot_invisible_refs_vals: false
|
||||||
|
tent_vias: true
|
||||||
|
|
||||||
|
# gerber options
|
||||||
|
line_width: 0.1
|
||||||
|
subtract_mask_from_silk: false
|
||||||
|
use_protel_extensions: false
|
||||||
|
gerber_precision: 4.6
|
||||||
|
create_gerber_job_file: true
|
||||||
|
use_gerber_x2_attributes: false
|
||||||
|
use_gerber_net_attributes: false
|
||||||
|
|
||||||
|
output: '%f.%i'
|
||||||
|
|
||||||
|
|
||||||
|
layers:
|
||||||
|
# When Moving to Four Layer, Set G2L and G3L as the suffixes
|
||||||
|
- layer: F.Cu
|
||||||
|
suffix: GTL
|
||||||
|
- layer: In1.Cu
|
||||||
|
suffix: G2L
|
||||||
|
- layer: In2.Cu
|
||||||
|
suffix: G3L
|
||||||
|
- layer: B.Cu
|
||||||
|
suffix: GBL
|
||||||
|
- layer: F.SilkS
|
||||||
|
suffix: GTO
|
||||||
|
- layer: B.SilkS
|
||||||
|
suffix: GBO
|
||||||
|
- layer: F.Mask
|
||||||
|
suffix: GTS
|
||||||
|
- layer: B.Mask
|
||||||
|
suffix: GBS
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
suffix: GKO
|
||||||
|
|
||||||
|
- name: 'drill_file'
|
||||||
|
comment: 'Drill file for Board House'
|
||||||
|
type: excellon
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
metric_units: false
|
||||||
|
pth_and_npth_single_file: true
|
||||||
|
|
||||||
|
- name: board_top
|
||||||
|
comment: "Top layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
|
||||||
|
- name: board_bottom
|
||||||
|
comment: "Bottom layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
bottom: true
|
||||||
|
|
||||||
|
- name: 'step_file'
|
||||||
|
comment: 'STEP file generation'
|
||||||
|
type: step
|
||||||
|
dir: .
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
# Example KiPlot config file
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
global:
|
||||||
|
variant: default
|
||||||
|
|
||||||
|
variants:
|
||||||
|
- name: default
|
||||||
|
comment: 'Just a place holder for the rotation filter'
|
||||||
|
type: kibom
|
||||||
|
variant: default
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
# Disable ERC for now while GPereira updates these items.
|
||||||
|
run_erc: false
|
||||||
|
update_xml: true
|
||||||
|
# Disable DRC for now while GPereira updates these items.
|
||||||
|
run_drc: false
|
||||||
|
check_zone_fills: true
|
||||||
|
ignore_unconnected: false
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
|
||||||
|
- name: 'gerbers'
|
||||||
|
comment: "Gerbers for the board house"
|
||||||
|
type: gerber
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
# generic layer options
|
||||||
|
exclude_edge_layer: true
|
||||||
|
exclude_pads_from_silkscreen: false
|
||||||
|
use_aux_axis_as_origin: false
|
||||||
|
plot_sheet_reference: false
|
||||||
|
plot_footprint_refs: true
|
||||||
|
plot_footprint_values: true
|
||||||
|
force_plot_invisible_refs_vals: false
|
||||||
|
tent_vias: true
|
||||||
|
|
||||||
|
# gerber options
|
||||||
|
line_width: 0.1
|
||||||
|
subtract_mask_from_silk: false
|
||||||
|
use_protel_extensions: false
|
||||||
|
gerber_precision: 4.6
|
||||||
|
create_gerber_job_file: true
|
||||||
|
use_gerber_x2_attributes: false
|
||||||
|
use_gerber_net_attributes: false
|
||||||
|
|
||||||
|
output: '%f.%i'
|
||||||
|
|
||||||
|
|
||||||
|
layers:
|
||||||
|
# When Moving to Four Layer, Set G2L and G3L as the suffixes
|
||||||
|
- layer: F.Cu
|
||||||
|
suffix: GTL
|
||||||
|
- layer: B.Cu
|
||||||
|
suffix: GBL
|
||||||
|
- layer: F.SilkS
|
||||||
|
suffix: GTO
|
||||||
|
- layer: B.SilkS
|
||||||
|
suffix: GBO
|
||||||
|
- layer: F.Mask
|
||||||
|
suffix: GTS
|
||||||
|
- layer: B.Mask
|
||||||
|
suffix: GBS
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
suffix: GKO
|
||||||
|
|
||||||
|
- name: 'drill_file'
|
||||||
|
comment: 'Drill file for Board House'
|
||||||
|
type: excellon
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
metric_units: false
|
||||||
|
pth_and_npth_single_file: true
|
||||||
|
|
||||||
|
- name: board_top
|
||||||
|
comment: "Top layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
|
||||||
|
- name: board_bottom
|
||||||
|
comment: "Bottom layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
bottom: true
|
||||||
|
|
||||||
|
- name: 'step_file'
|
||||||
|
comment: 'STEP file generation'
|
||||||
|
type: step
|
||||||
|
dir: .
|
||||||
@@ -0,0 +1,229 @@
|
|||||||
|
# Example KiPlot config file
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: only_jlc_parts
|
||||||
|
comment: 'Only parts with JLC code'
|
||||||
|
type: 'generic'
|
||||||
|
include_only:
|
||||||
|
- column: 'JLCPCB'
|
||||||
|
regex: '^C\d+'
|
||||||
|
- name: fix_rotation
|
||||||
|
comment: 'Adjust rotation for JLC'
|
||||||
|
type: rot_footprint
|
||||||
|
rotations:
|
||||||
|
- ["^TI_SO-", 270.0]
|
||||||
|
- ["^SO-", 270.0]
|
||||||
|
- ["^HTSSOP-", 270.0]
|
||||||
|
|
||||||
|
global:
|
||||||
|
variant: default
|
||||||
|
|
||||||
|
variants:
|
||||||
|
- name: default
|
||||||
|
comment: 'Just a place holder for the rotation filter'
|
||||||
|
type: kibom
|
||||||
|
variant: default
|
||||||
|
- name: jlcpcb
|
||||||
|
comment: 'JLCPCB requires some rotational transforms'
|
||||||
|
type: kibom
|
||||||
|
variant: jlcpcb
|
||||||
|
pre_transform: fix_rotation
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
# Disable ERC for now while GPereira updates these items.
|
||||||
|
run_erc: false
|
||||||
|
update_xml: true
|
||||||
|
# Disable DRC for now while GPereira updates these items.
|
||||||
|
run_drc: false
|
||||||
|
check_zone_fills: true
|
||||||
|
ignore_unconnected: false
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: 'ibom'
|
||||||
|
comment: 'Interactive Bill of Materials'
|
||||||
|
type: ibom
|
||||||
|
dir: ibom
|
||||||
|
|
||||||
|
- name: 'bom'
|
||||||
|
comment: 'Bill of Materials'
|
||||||
|
type: bom
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: true
|
||||||
|
hide_stats_info: true
|
||||||
|
format: CSV
|
||||||
|
|
||||||
|
- name: 'html_bom'
|
||||||
|
comment: 'HTML BOM'
|
||||||
|
type: bom
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
html:
|
||||||
|
datasheet_as_link: Datasheet
|
||||||
|
digikey_link: Digikey
|
||||||
|
title: 'Index MOBO Bill of Materials'
|
||||||
|
|
||||||
|
- name: 'print_sch'
|
||||||
|
comment: "Print schematic (PDF)"
|
||||||
|
type: pdf_sch_print
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
output: Schematic.pdf
|
||||||
|
|
||||||
|
- name: 'print_front'
|
||||||
|
comment: "Print F.Cu+Dwgs.User"
|
||||||
|
type: pdf_pcb_print
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
output_name: PCB.pdf
|
||||||
|
separated: true
|
||||||
|
layers:
|
||||||
|
- layer: F.Cu
|
||||||
|
description: 'Front Copper'
|
||||||
|
- layer: B.Cu
|
||||||
|
description: 'Back Copper'
|
||||||
|
- layer: F.SilkS
|
||||||
|
description: 'Front Silk'
|
||||||
|
- layer: B.SilkS
|
||||||
|
description: 'Rear Silk'
|
||||||
|
|
||||||
|
- name: 'gerbers'
|
||||||
|
comment: "Gerbers for the board house"
|
||||||
|
type: gerber
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
# generic layer options
|
||||||
|
exclude_edge_layer: true
|
||||||
|
exclude_pads_from_silkscreen: false
|
||||||
|
use_aux_axis_as_origin: false
|
||||||
|
plot_sheet_reference: false
|
||||||
|
plot_footprint_refs: true
|
||||||
|
plot_footprint_values: true
|
||||||
|
force_plot_invisible_refs_vals: false
|
||||||
|
tent_vias: true
|
||||||
|
|
||||||
|
# gerber options
|
||||||
|
line_width: 0.1
|
||||||
|
subtract_mask_from_silk: false
|
||||||
|
use_protel_extensions: false
|
||||||
|
gerber_precision: 4.6
|
||||||
|
create_gerber_job_file: true
|
||||||
|
use_gerber_x2_attributes: false
|
||||||
|
use_gerber_net_attributes: false
|
||||||
|
|
||||||
|
output: '%f.%i'
|
||||||
|
|
||||||
|
|
||||||
|
layers:
|
||||||
|
# When Moving to Four Layer, Set G2L and G3L as the suffixes
|
||||||
|
- layer: F.Cu
|
||||||
|
suffix: GTL
|
||||||
|
- layer: B.Cu
|
||||||
|
suffix: GBL
|
||||||
|
- layer: F.SilkS
|
||||||
|
suffix: GTO
|
||||||
|
- layer: B.SilkS
|
||||||
|
suffix: GBO
|
||||||
|
- layer: F.Mask
|
||||||
|
suffix: GTS
|
||||||
|
- layer: B.Mask
|
||||||
|
suffix: GBS
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
suffix: GKO
|
||||||
|
- layer: F.Paste
|
||||||
|
suffix: GTP
|
||||||
|
- layer: B.Paste
|
||||||
|
suffix: GBP
|
||||||
|
|
||||||
|
- name: 'drill_file'
|
||||||
|
comment: 'Drill file for Board House'
|
||||||
|
type: excellon
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
metric_units: false
|
||||||
|
pth_and_npth_single_file: true
|
||||||
|
|
||||||
|
- name: board_top
|
||||||
|
comment: "Top layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
show_components: all
|
||||||
|
style:
|
||||||
|
board: '#242424'
|
||||||
|
copper: '#404040'
|
||||||
|
silk: '#ffffff'
|
||||||
|
pads: '#bfbfbf'
|
||||||
|
|
||||||
|
- name: board_bottom
|
||||||
|
comment: "Bottom layer view"
|
||||||
|
type: pcbdraw
|
||||||
|
dir: .
|
||||||
|
options:
|
||||||
|
format: png
|
||||||
|
bottom: true
|
||||||
|
show_components: all
|
||||||
|
style:
|
||||||
|
board: '#242424'
|
||||||
|
copper: '#404040'
|
||||||
|
silk: '#ffffff'
|
||||||
|
pads: '#bfbfbf'
|
||||||
|
|
||||||
|
- name: 'pick_and_place_file'
|
||||||
|
comment: 'Pick and Place Location File'
|
||||||
|
type: position
|
||||||
|
dir: gerbers
|
||||||
|
options:
|
||||||
|
format: CSV
|
||||||
|
|
||||||
|
- name: 'bom_jlc'
|
||||||
|
comment: "BoM for JLC"
|
||||||
|
type: bom
|
||||||
|
options:
|
||||||
|
output: '%f_bom_jlc.%x'
|
||||||
|
# exclude_filter: only_jlc_parts
|
||||||
|
ref_separator: ','
|
||||||
|
columns:
|
||||||
|
- field: Value
|
||||||
|
name: Comment
|
||||||
|
- field: References
|
||||||
|
name: Designator
|
||||||
|
- field: Footprint
|
||||||
|
name: Footprint
|
||||||
|
- field: JLCPCB
|
||||||
|
name: 'LCSC Part #'
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: true
|
||||||
|
hide_stats_info: true
|
||||||
|
quote_all: true
|
||||||
|
|
||||||
|
- name: 'pick_and_place_jlc'
|
||||||
|
comment: 'Pick and place file, JLC style'
|
||||||
|
type: position
|
||||||
|
options:
|
||||||
|
output: '%f_cpl_jlc.%x'
|
||||||
|
format: CSV
|
||||||
|
units: millimeters
|
||||||
|
separate_files_for_front_and_back: false
|
||||||
|
only_smd: true
|
||||||
|
variant: jlcpcb
|
||||||
|
columns:
|
||||||
|
- id: Ref
|
||||||
|
name: Designator
|
||||||
|
- id: PosX
|
||||||
|
name: "Mid X"
|
||||||
|
- id: PosY
|
||||||
|
name: "Mid Y"
|
||||||
|
- id: Side
|
||||||
|
name: Layer
|
||||||
|
- id: Rot
|
||||||
|
name: Rotation
|
||||||
|
|
||||||
|
- name: 'step_file'
|
||||||
|
comment: 'STEP file generation'
|
||||||
|
type: step
|
||||||
|
dir: .
|
||||||
@@ -1,11 +1,3 @@
|
|||||||
# STM32CubeIDE build and metadata
|
|
||||||
code/Debug/
|
|
||||||
code/Release/
|
|
||||||
code/.metadata/
|
|
||||||
code/.settings/
|
|
||||||
code/.claude/
|
|
||||||
code/nul
|
|
||||||
|
|
||||||
# For PCBs designed using KiCad: http://www.kicad-pcb.org/
|
# For PCBs designed using KiCad: http://www.kicad-pcb.org/
|
||||||
# Format documentation: http://kicad-pcb.org/help/file-formats/
|
# Format documentation: http://kicad-pcb.org/help/file-formats/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
frame-12.FCStd filter=lfs diff=lfs merge=lfs -text
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5d3d9910a4e198ffd79f0a42684ec382b8ed4874de3d14c79e4e428bfc40aa5a
|
||||||
|
size 6782094
|
||||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 536 KiB |
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.
|
After Width: | Height: | Size: 207 KiB |
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.
|
After Width: | Height: | Size: 71 KiB |
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,922 @@
|
|||||||
|
999
|
||||||
|
FreeCAD v1.0 39319 (Git)
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
HEADER
|
||||||
|
9
|
||||||
|
$ACADVER
|
||||||
|
1
|
||||||
|
AC1014
|
||||||
|
9
|
||||||
|
$ACADMAINTVER
|
||||||
|
70
|
||||||
|
9
|
||||||
|
9
|
||||||
|
$DWGCODEPAGE
|
||||||
|
3
|
||||||
|
ANSI_1252
|
||||||
|
9
|
||||||
|
$TEXTSTYLE
|
||||||
|
7
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$DIMSTYLE
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$DIMTXSTY
|
||||||
|
7
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$CMLSTYLE
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$LUNITS
|
||||||
|
70
|
||||||
|
2
|
||||||
|
9
|
||||||
|
$INSUNITS
|
||||||
|
70
|
||||||
|
4
|
||||||
|
9
|
||||||
|
$PEXTMAX
|
||||||
|
10
|
||||||
|
50
|
||||||
|
20
|
||||||
|
50
|
||||||
|
30
|
||||||
|
50
|
||||||
|
9
|
||||||
|
$PEXTMIN
|
||||||
|
10
|
||||||
|
0
|
||||||
|
20
|
||||||
|
0
|
||||||
|
30
|
||||||
|
0
|
||||||
|
9
|
||||||
|
$HANDSEED
|
||||||
|
5
|
||||||
|
FFFF
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
CLASSES
|
||||||
|
0
|
||||||
|
CLASS
|
||||||
|
1
|
||||||
|
ACDBDICTIONARYWDFLT
|
||||||
|
2
|
||||||
|
AcDbDictionaryWithDefault
|
||||||
|
3
|
||||||
|
ObjectDBX Classes
|
||||||
|
90
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
0
|
||||||
|
0
|
||||||
|
CLASS
|
||||||
|
1
|
||||||
|
XRECORD
|
||||||
|
2
|
||||||
|
AcDbXrecord
|
||||||
|
3
|
||||||
|
ObjectDBX Classes
|
||||||
|
90
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
0
|
||||||
|
0
|
||||||
|
CLASS
|
||||||
|
1
|
||||||
|
LWPOLYLINE
|
||||||
|
2
|
||||||
|
AcDbPolyline
|
||||||
|
3
|
||||||
|
ObjectDBX Classes
|
||||||
|
90
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
1
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
TABLES
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
VPORT
|
||||||
|
5
|
||||||
|
20
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
1
|
||||||
|
0
|
||||||
|
VPORT
|
||||||
|
5
|
||||||
|
21
|
||||||
|
330
|
||||||
|
20
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbViewportTableRecord
|
||||||
|
2
|
||||||
|
*ACTIVE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
22
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
1
|
||||||
|
0
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
23
|
||||||
|
330
|
||||||
|
21
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLinetypeTableRecord
|
||||||
|
2
|
||||||
|
BYBLOCK
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
|
||||||
|
72
|
||||||
|
65
|
||||||
|
73
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
0
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
24
|
||||||
|
330
|
||||||
|
21
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLinetypeTableRecord
|
||||||
|
2
|
||||||
|
BYLAYER
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
|
||||||
|
72
|
||||||
|
65
|
||||||
|
73
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
0
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
25
|
||||||
|
330
|
||||||
|
21
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLinetypeTableRecord
|
||||||
|
2
|
||||||
|
CONTINUOUS
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
Solid line
|
||||||
|
72
|
||||||
|
65
|
||||||
|
73
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A10
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
3
|
||||||
|
0
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A11
|
||||||
|
330
|
||||||
|
A10
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLayerTableRecord
|
||||||
|
2
|
||||||
|
0
|
||||||
|
70
|
||||||
|
0
|
||||||
|
62
|
||||||
|
7
|
||||||
|
6
|
||||||
|
CONTINUOUS
|
||||||
|
0
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A12
|
||||||
|
330
|
||||||
|
A10
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLayerTableRecord
|
||||||
|
2
|
||||||
|
none
|
||||||
|
70
|
||||||
|
0
|
||||||
|
62
|
||||||
|
7
|
||||||
|
6
|
||||||
|
CONTINUOUS
|
||||||
|
0
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A13
|
||||||
|
330
|
||||||
|
A10
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLayerTableRecord
|
||||||
|
2
|
||||||
|
Sketch055
|
||||||
|
70
|
||||||
|
0
|
||||||
|
62
|
||||||
|
7
|
||||||
|
6
|
||||||
|
CONTINUOUS
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
STYLE
|
||||||
|
5
|
||||||
|
70
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
2
|
||||||
|
0
|
||||||
|
STYLE
|
||||||
|
5
|
||||||
|
71
|
||||||
|
330
|
||||||
|
70
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbTextStyleTableRecord
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
70
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
41
|
||||||
|
1.0
|
||||||
|
50
|
||||||
|
0.0
|
||||||
|
71
|
||||||
|
0
|
||||||
|
42
|
||||||
|
2.5
|
||||||
|
3
|
||||||
|
arial.ttf
|
||||||
|
4
|
||||||
|
|
||||||
|
0
|
||||||
|
STYLE
|
||||||
|
5
|
||||||
|
72
|
||||||
|
330
|
||||||
|
70
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbTextStyleTableRecord
|
||||||
|
2
|
||||||
|
ANNOTATIVE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
41
|
||||||
|
1.0
|
||||||
|
50
|
||||||
|
0.0
|
||||||
|
71
|
||||||
|
0
|
||||||
|
42
|
||||||
|
2.5
|
||||||
|
3
|
||||||
|
arial.ttf
|
||||||
|
4
|
||||||
|
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
VIEW
|
||||||
|
5
|
||||||
|
73
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
UCS
|
||||||
|
5
|
||||||
|
74
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
APPID
|
||||||
|
5
|
||||||
|
75
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
2
|
||||||
|
0
|
||||||
|
APPID
|
||||||
|
5
|
||||||
|
76
|
||||||
|
330
|
||||||
|
75
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbRegAppTableRecord
|
||||||
|
2
|
||||||
|
ACAD
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
APPID
|
||||||
|
5
|
||||||
|
77
|
||||||
|
330
|
||||||
|
75
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbRegAppTableRecord
|
||||||
|
2
|
||||||
|
ACADANNOTATIVE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
DIMSTYLE
|
||||||
|
5
|
||||||
|
78
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
2
|
||||||
|
0
|
||||||
|
DIMSTYLE
|
||||||
|
105
|
||||||
|
79
|
||||||
|
330
|
||||||
|
78
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbDimStyleTableRecord
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
|
||||||
|
4
|
||||||
|
|
||||||
|
5
|
||||||
|
|
||||||
|
6
|
||||||
|
|
||||||
|
7
|
||||||
|
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
41
|
||||||
|
2.5
|
||||||
|
42
|
||||||
|
0.625
|
||||||
|
43
|
||||||
|
3.75
|
||||||
|
44
|
||||||
|
1.25
|
||||||
|
45
|
||||||
|
0.0
|
||||||
|
46
|
||||||
|
0.0
|
||||||
|
47
|
||||||
|
0.0
|
||||||
|
48
|
||||||
|
0.0
|
||||||
|
140
|
||||||
|
2.5
|
||||||
|
141
|
||||||
|
2.5
|
||||||
|
142
|
||||||
|
0.0
|
||||||
|
143
|
||||||
|
0.03937007874016
|
||||||
|
144
|
||||||
|
1.0
|
||||||
|
145
|
||||||
|
0.0
|
||||||
|
146
|
||||||
|
1.0
|
||||||
|
147
|
||||||
|
0.625
|
||||||
|
71
|
||||||
|
0
|
||||||
|
72
|
||||||
|
0
|
||||||
|
73
|
||||||
|
0
|
||||||
|
74
|
||||||
|
0
|
||||||
|
75
|
||||||
|
0
|
||||||
|
76
|
||||||
|
0
|
||||||
|
77
|
||||||
|
1
|
||||||
|
78
|
||||||
|
8
|
||||||
|
170
|
||||||
|
0
|
||||||
|
171
|
||||||
|
3
|
||||||
|
172
|
||||||
|
1
|
||||||
|
173
|
||||||
|
0
|
||||||
|
174
|
||||||
|
0
|
||||||
|
175
|
||||||
|
0
|
||||||
|
176
|
||||||
|
0
|
||||||
|
177
|
||||||
|
0
|
||||||
|
178
|
||||||
|
0
|
||||||
|
270
|
||||||
|
2
|
||||||
|
271
|
||||||
|
2
|
||||||
|
272
|
||||||
|
2
|
||||||
|
273
|
||||||
|
2
|
||||||
|
274
|
||||||
|
3
|
||||||
|
340
|
||||||
|
71
|
||||||
|
275
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
0
|
||||||
|
282
|
||||||
|
0
|
||||||
|
283
|
||||||
|
0
|
||||||
|
284
|
||||||
|
8
|
||||||
|
285
|
||||||
|
0
|
||||||
|
286
|
||||||
|
0
|
||||||
|
287
|
||||||
|
3
|
||||||
|
288
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
BLOCK_RECORD
|
||||||
|
5
|
||||||
|
A01
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
5
|
||||||
|
0
|
||||||
|
BLOCK_RECORD
|
||||||
|
5
|
||||||
|
A02
|
||||||
|
330
|
||||||
|
A01
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbBlockTableRecord
|
||||||
|
2
|
||||||
|
*MODEL_SPACE
|
||||||
|
0
|
||||||
|
BLOCK_RECORD
|
||||||
|
5
|
||||||
|
A03
|
||||||
|
330
|
||||||
|
A01
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbBlockTableRecord
|
||||||
|
2
|
||||||
|
*PAPER_SPACE
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
BLOCKS
|
||||||
|
0
|
||||||
|
BLOCK
|
||||||
|
5
|
||||||
|
A04
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockBegin
|
||||||
|
2
|
||||||
|
*MODEL_SPACE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
10
|
||||||
|
0
|
||||||
|
20
|
||||||
|
0
|
||||||
|
30
|
||||||
|
0
|
||||||
|
3
|
||||||
|
*MODEL_SPACE
|
||||||
|
1
|
||||||
|
|
||||||
|
0
|
||||||
|
ENDBLK
|
||||||
|
5
|
||||||
|
A05
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockEnd
|
||||||
|
0
|
||||||
|
BLOCK
|
||||||
|
5
|
||||||
|
A06
|
||||||
|
330
|
||||||
|
A03
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
67
|
||||||
|
1
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockBegin
|
||||||
|
2
|
||||||
|
*PAPER_SPACE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
10
|
||||||
|
0
|
||||||
|
20
|
||||||
|
0
|
||||||
|
30
|
||||||
|
0
|
||||||
|
3
|
||||||
|
*PAPER_SPACE
|
||||||
|
1
|
||||||
|
|
||||||
|
0
|
||||||
|
ENDBLK
|
||||||
|
5
|
||||||
|
A07
|
||||||
|
330
|
||||||
|
A03
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
67
|
||||||
|
1
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockEnd
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
ENTITIES
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A08
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-11.500000000
|
||||||
|
20
|
||||||
|
-1.600000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-20.500000000
|
||||||
|
21
|
||||||
|
-1.600000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A09
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-20.500000000
|
||||||
|
20
|
||||||
|
-1.600000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-20.500000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0A
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-20.500000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-31.600000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0B
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-31.600000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-31.600000000
|
||||||
|
21
|
||||||
|
-11.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0C
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-31.600000000
|
||||||
|
20
|
||||||
|
-11.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-0.500000000
|
||||||
|
21
|
||||||
|
-11.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0D
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-0.500000000
|
||||||
|
20
|
||||||
|
-11.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-0.500000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0E
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-0.500000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-11.500000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0F
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-11.500000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-11.500000000
|
||||||
|
21
|
||||||
|
-1.600000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
OBJECTS
|
||||||
|
0
|
||||||
|
DICTIONARY
|
||||||
|
5
|
||||||
|
F000
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbDictionary
|
||||||
|
3
|
||||||
|
ACAD_GROUP
|
||||||
|
350
|
||||||
|
F001
|
||||||
|
0
|
||||||
|
DICTIONARY
|
||||||
|
5
|
||||||
|
F001
|
||||||
|
330
|
||||||
|
F000
|
||||||
|
100
|
||||||
|
AcDbDictionary
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
EOF
|
||||||
@@ -0,0 +1,922 @@
|
|||||||
|
999
|
||||||
|
FreeCAD v1.0 39319 (Git)
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
HEADER
|
||||||
|
9
|
||||||
|
$ACADVER
|
||||||
|
1
|
||||||
|
AC1014
|
||||||
|
9
|
||||||
|
$ACADMAINTVER
|
||||||
|
70
|
||||||
|
9
|
||||||
|
9
|
||||||
|
$DWGCODEPAGE
|
||||||
|
3
|
||||||
|
ANSI_1252
|
||||||
|
9
|
||||||
|
$TEXTSTYLE
|
||||||
|
7
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$DIMSTYLE
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$DIMTXSTY
|
||||||
|
7
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$CMLSTYLE
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
9
|
||||||
|
$LUNITS
|
||||||
|
70
|
||||||
|
2
|
||||||
|
9
|
||||||
|
$INSUNITS
|
||||||
|
70
|
||||||
|
4
|
||||||
|
9
|
||||||
|
$PEXTMAX
|
||||||
|
10
|
||||||
|
50
|
||||||
|
20
|
||||||
|
50
|
||||||
|
30
|
||||||
|
50
|
||||||
|
9
|
||||||
|
$PEXTMIN
|
||||||
|
10
|
||||||
|
0
|
||||||
|
20
|
||||||
|
0
|
||||||
|
30
|
||||||
|
0
|
||||||
|
9
|
||||||
|
$HANDSEED
|
||||||
|
5
|
||||||
|
FFFF
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
CLASSES
|
||||||
|
0
|
||||||
|
CLASS
|
||||||
|
1
|
||||||
|
ACDBDICTIONARYWDFLT
|
||||||
|
2
|
||||||
|
AcDbDictionaryWithDefault
|
||||||
|
3
|
||||||
|
ObjectDBX Classes
|
||||||
|
90
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
0
|
||||||
|
0
|
||||||
|
CLASS
|
||||||
|
1
|
||||||
|
XRECORD
|
||||||
|
2
|
||||||
|
AcDbXrecord
|
||||||
|
3
|
||||||
|
ObjectDBX Classes
|
||||||
|
90
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
0
|
||||||
|
0
|
||||||
|
CLASS
|
||||||
|
1
|
||||||
|
LWPOLYLINE
|
||||||
|
2
|
||||||
|
AcDbPolyline
|
||||||
|
3
|
||||||
|
ObjectDBX Classes
|
||||||
|
90
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
1
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
TABLES
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
VPORT
|
||||||
|
5
|
||||||
|
20
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
1
|
||||||
|
0
|
||||||
|
VPORT
|
||||||
|
5
|
||||||
|
21
|
||||||
|
330
|
||||||
|
20
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbViewportTableRecord
|
||||||
|
2
|
||||||
|
*ACTIVE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
22
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
1
|
||||||
|
0
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
23
|
||||||
|
330
|
||||||
|
21
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLinetypeTableRecord
|
||||||
|
2
|
||||||
|
BYBLOCK
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
|
||||||
|
72
|
||||||
|
65
|
||||||
|
73
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
0
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
24
|
||||||
|
330
|
||||||
|
21
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLinetypeTableRecord
|
||||||
|
2
|
||||||
|
BYLAYER
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
|
||||||
|
72
|
||||||
|
65
|
||||||
|
73
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
0
|
||||||
|
LTYPE
|
||||||
|
5
|
||||||
|
25
|
||||||
|
330
|
||||||
|
21
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLinetypeTableRecord
|
||||||
|
2
|
||||||
|
CONTINUOUS
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
Solid line
|
||||||
|
72
|
||||||
|
65
|
||||||
|
73
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A10
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
3
|
||||||
|
0
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A11
|
||||||
|
330
|
||||||
|
A10
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLayerTableRecord
|
||||||
|
2
|
||||||
|
0
|
||||||
|
70
|
||||||
|
0
|
||||||
|
62
|
||||||
|
7
|
||||||
|
6
|
||||||
|
CONTINUOUS
|
||||||
|
0
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A12
|
||||||
|
330
|
||||||
|
A10
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLayerTableRecord
|
||||||
|
2
|
||||||
|
none
|
||||||
|
70
|
||||||
|
0
|
||||||
|
62
|
||||||
|
7
|
||||||
|
6
|
||||||
|
CONTINUOUS
|
||||||
|
0
|
||||||
|
LAYER
|
||||||
|
5
|
||||||
|
A13
|
||||||
|
330
|
||||||
|
A10
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbLayerTableRecord
|
||||||
|
2
|
||||||
|
Sketch055
|
||||||
|
70
|
||||||
|
0
|
||||||
|
62
|
||||||
|
7
|
||||||
|
6
|
||||||
|
CONTINUOUS
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
STYLE
|
||||||
|
5
|
||||||
|
70
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
2
|
||||||
|
0
|
||||||
|
STYLE
|
||||||
|
5
|
||||||
|
71
|
||||||
|
330
|
||||||
|
70
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbTextStyleTableRecord
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
70
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
41
|
||||||
|
1.0
|
||||||
|
50
|
||||||
|
0.0
|
||||||
|
71
|
||||||
|
0
|
||||||
|
42
|
||||||
|
2.5
|
||||||
|
3
|
||||||
|
arial.ttf
|
||||||
|
4
|
||||||
|
|
||||||
|
0
|
||||||
|
STYLE
|
||||||
|
5
|
||||||
|
72
|
||||||
|
330
|
||||||
|
70
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbTextStyleTableRecord
|
||||||
|
2
|
||||||
|
ANNOTATIVE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
41
|
||||||
|
1.0
|
||||||
|
50
|
||||||
|
0.0
|
||||||
|
71
|
||||||
|
0
|
||||||
|
42
|
||||||
|
2.5
|
||||||
|
3
|
||||||
|
arial.ttf
|
||||||
|
4
|
||||||
|
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
VIEW
|
||||||
|
5
|
||||||
|
73
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
UCS
|
||||||
|
5
|
||||||
|
74
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
APPID
|
||||||
|
5
|
||||||
|
75
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
2
|
||||||
|
0
|
||||||
|
APPID
|
||||||
|
5
|
||||||
|
76
|
||||||
|
330
|
||||||
|
75
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbRegAppTableRecord
|
||||||
|
2
|
||||||
|
ACAD
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
APPID
|
||||||
|
5
|
||||||
|
77
|
||||||
|
330
|
||||||
|
75
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbRegAppTableRecord
|
||||||
|
2
|
||||||
|
ACADANNOTATIVE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
DIMSTYLE
|
||||||
|
5
|
||||||
|
78
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
2
|
||||||
|
0
|
||||||
|
DIMSTYLE
|
||||||
|
105
|
||||||
|
79
|
||||||
|
330
|
||||||
|
78
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbDimStyleTableRecord
|
||||||
|
2
|
||||||
|
STANDARD
|
||||||
|
70
|
||||||
|
0
|
||||||
|
3
|
||||||
|
|
||||||
|
4
|
||||||
|
|
||||||
|
5
|
||||||
|
|
||||||
|
6
|
||||||
|
|
||||||
|
7
|
||||||
|
|
||||||
|
40
|
||||||
|
0.0
|
||||||
|
41
|
||||||
|
2.5
|
||||||
|
42
|
||||||
|
0.625
|
||||||
|
43
|
||||||
|
3.75
|
||||||
|
44
|
||||||
|
1.25
|
||||||
|
45
|
||||||
|
0.0
|
||||||
|
46
|
||||||
|
0.0
|
||||||
|
47
|
||||||
|
0.0
|
||||||
|
48
|
||||||
|
0.0
|
||||||
|
140
|
||||||
|
2.5
|
||||||
|
141
|
||||||
|
2.5
|
||||||
|
142
|
||||||
|
0.0
|
||||||
|
143
|
||||||
|
0.03937007874016
|
||||||
|
144
|
||||||
|
1.0
|
||||||
|
145
|
||||||
|
0.0
|
||||||
|
146
|
||||||
|
1.0
|
||||||
|
147
|
||||||
|
0.625
|
||||||
|
71
|
||||||
|
0
|
||||||
|
72
|
||||||
|
0
|
||||||
|
73
|
||||||
|
0
|
||||||
|
74
|
||||||
|
0
|
||||||
|
75
|
||||||
|
0
|
||||||
|
76
|
||||||
|
0
|
||||||
|
77
|
||||||
|
1
|
||||||
|
78
|
||||||
|
8
|
||||||
|
170
|
||||||
|
0
|
||||||
|
171
|
||||||
|
3
|
||||||
|
172
|
||||||
|
1
|
||||||
|
173
|
||||||
|
0
|
||||||
|
174
|
||||||
|
0
|
||||||
|
175
|
||||||
|
0
|
||||||
|
176
|
||||||
|
0
|
||||||
|
177
|
||||||
|
0
|
||||||
|
178
|
||||||
|
0
|
||||||
|
270
|
||||||
|
2
|
||||||
|
271
|
||||||
|
2
|
||||||
|
272
|
||||||
|
2
|
||||||
|
273
|
||||||
|
2
|
||||||
|
274
|
||||||
|
3
|
||||||
|
340
|
||||||
|
71
|
||||||
|
275
|
||||||
|
0
|
||||||
|
280
|
||||||
|
0
|
||||||
|
281
|
||||||
|
0
|
||||||
|
282
|
||||||
|
0
|
||||||
|
283
|
||||||
|
0
|
||||||
|
284
|
||||||
|
8
|
||||||
|
285
|
||||||
|
0
|
||||||
|
286
|
||||||
|
0
|
||||||
|
287
|
||||||
|
3
|
||||||
|
288
|
||||||
|
0
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
BLOCK_RECORD
|
||||||
|
5
|
||||||
|
A01
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbSymbolTable
|
||||||
|
70
|
||||||
|
5
|
||||||
|
0
|
||||||
|
BLOCK_RECORD
|
||||||
|
5
|
||||||
|
A02
|
||||||
|
330
|
||||||
|
A01
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbBlockTableRecord
|
||||||
|
2
|
||||||
|
*MODEL_SPACE
|
||||||
|
0
|
||||||
|
BLOCK_RECORD
|
||||||
|
5
|
||||||
|
A03
|
||||||
|
330
|
||||||
|
A01
|
||||||
|
100
|
||||||
|
AcDbSymbolTableRecord
|
||||||
|
100
|
||||||
|
AcDbBlockTableRecord
|
||||||
|
2
|
||||||
|
*PAPER_SPACE
|
||||||
|
0
|
||||||
|
ENDTAB
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
BLOCKS
|
||||||
|
0
|
||||||
|
BLOCK
|
||||||
|
5
|
||||||
|
A04
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockBegin
|
||||||
|
2
|
||||||
|
*MODEL_SPACE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
10
|
||||||
|
0
|
||||||
|
20
|
||||||
|
0
|
||||||
|
30
|
||||||
|
0
|
||||||
|
3
|
||||||
|
*MODEL_SPACE
|
||||||
|
1
|
||||||
|
|
||||||
|
0
|
||||||
|
ENDBLK
|
||||||
|
5
|
||||||
|
A05
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockEnd
|
||||||
|
0
|
||||||
|
BLOCK
|
||||||
|
5
|
||||||
|
A06
|
||||||
|
330
|
||||||
|
A03
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
67
|
||||||
|
1
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockBegin
|
||||||
|
2
|
||||||
|
*PAPER_SPACE
|
||||||
|
70
|
||||||
|
0
|
||||||
|
10
|
||||||
|
0
|
||||||
|
20
|
||||||
|
0
|
||||||
|
30
|
||||||
|
0
|
||||||
|
3
|
||||||
|
*PAPER_SPACE
|
||||||
|
1
|
||||||
|
|
||||||
|
0
|
||||||
|
ENDBLK
|
||||||
|
5
|
||||||
|
A07
|
||||||
|
330
|
||||||
|
A03
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
67
|
||||||
|
1
|
||||||
|
8
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbBlockEnd
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
ENTITIES
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A08
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-11.500000000
|
||||||
|
20
|
||||||
|
-1.600000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-20.500000000
|
||||||
|
21
|
||||||
|
-1.600000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A09
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-20.500000000
|
||||||
|
20
|
||||||
|
-1.600000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-20.500000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0A
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-20.500000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-31.600000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0B
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-31.600000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-31.600000000
|
||||||
|
21
|
||||||
|
-30.350000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0C
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-31.600000000
|
||||||
|
20
|
||||||
|
-30.350000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-0.500000000
|
||||||
|
21
|
||||||
|
-30.350000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0D
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-0.500000000
|
||||||
|
20
|
||||||
|
-30.350000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-0.500000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0E
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-0.500000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-11.500000000
|
||||||
|
21
|
||||||
|
-6.100000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
LINE
|
||||||
|
5
|
||||||
|
A0F
|
||||||
|
330
|
||||||
|
A02
|
||||||
|
100
|
||||||
|
AcDbEntity
|
||||||
|
8
|
||||||
|
Sketch055
|
||||||
|
100
|
||||||
|
AcDbLine
|
||||||
|
10
|
||||||
|
-11.500000000
|
||||||
|
20
|
||||||
|
-6.100000000
|
||||||
|
30
|
||||||
|
0.000000000
|
||||||
|
11
|
||||||
|
-11.500000000
|
||||||
|
21
|
||||||
|
-1.600000000
|
||||||
|
31
|
||||||
|
0.000000000
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
SECTION
|
||||||
|
2
|
||||||
|
OBJECTS
|
||||||
|
0
|
||||||
|
DICTIONARY
|
||||||
|
5
|
||||||
|
F000
|
||||||
|
330
|
||||||
|
0
|
||||||
|
100
|
||||||
|
AcDbDictionary
|
||||||
|
3
|
||||||
|
ACAD_GROUP
|
||||||
|
350
|
||||||
|
F001
|
||||||
|
0
|
||||||
|
DICTIONARY
|
||||||
|
5
|
||||||
|
F001
|
||||||
|
330
|
||||||
|
F000
|
||||||
|
100
|
||||||
|
AcDbDictionary
|
||||||
|
0
|
||||||
|
ENDSEC
|
||||||
|
0
|
||||||
|
EOF
|
||||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 8.3 KiB |
@@ -0,0 +1,440 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="210mm"
|
||||||
|
height="297mm"
|
||||||
|
viewBox="0 0 210 297"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.3.2 (091e20e, 2023-11-25)"
|
||||||
|
sodipodi:docname="stickers.svg"
|
||||||
|
inkscape:export-filename="../../../Downloads/teststicker.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="2.1115924"
|
||||||
|
inkscape:cx="408.22272"
|
||||||
|
inkscape:cy="555.97851"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1381"
|
||||||
|
inkscape:window-x="1920"
|
||||||
|
inkscape:window-y="31"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false" /><defs
|
||||||
|
id="defs1"><marker
|
||||||
|
id="DistanceX"
|
||||||
|
orient="auto"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
style="overflow:visible"><path
|
||||||
|
d="M 3,-3 L -3,3 M 0,-5 L 0,5"
|
||||||
|
style="stroke:#000000; stroke-width:0.5"
|
||||||
|
id="path1" /></marker><pattern
|
||||||
|
id="Hatch"
|
||||||
|
patternUnits="userSpaceOnUse"
|
||||||
|
width="8"
|
||||||
|
height="8"
|
||||||
|
x="0"
|
||||||
|
y="0"><path
|
||||||
|
d="M8 4 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path2" /><path
|
||||||
|
d="M6 2 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path3" /><path
|
||||||
|
d="M4 0 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path4" /></pattern><symbol
|
||||||
|
id="*MODEL_SPACE" /><symbol
|
||||||
|
id="*PAPER_SPACE" /><marker
|
||||||
|
id="DistanceX-3"
|
||||||
|
orient="auto"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
style="overflow:visible"><path
|
||||||
|
d="M 3,-3 L -3,3 M 0,-5 L 0,5"
|
||||||
|
style="stroke:#000000; stroke-width:0.5"
|
||||||
|
id="path1-9" /></marker><pattern
|
||||||
|
id="Hatch-0"
|
||||||
|
patternUnits="userSpaceOnUse"
|
||||||
|
width="8"
|
||||||
|
height="8"
|
||||||
|
x="0"
|
||||||
|
y="0"><path
|
||||||
|
d="M8 4 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path2-5" /><path
|
||||||
|
d="M6 2 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path3-2" /><path
|
||||||
|
d="M4 0 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path4-2" /></pattern><symbol
|
||||||
|
id="*MODEL_SPACE-7" /><symbol
|
||||||
|
id="*PAPER_SPACE-3" /><marker
|
||||||
|
id="DistanceX-1"
|
||||||
|
orient="auto"
|
||||||
|
refX="0.0"
|
||||||
|
refY="0.0"
|
||||||
|
style="overflow:visible"><path
|
||||||
|
d="M 3,-3 L -3,3 M 0,-5 L 0,5"
|
||||||
|
style="stroke:#000000; stroke-width:0.5"
|
||||||
|
id="path1-4" /></marker><pattern
|
||||||
|
id="Hatch-7"
|
||||||
|
patternUnits="userSpaceOnUse"
|
||||||
|
width="8"
|
||||||
|
height="8"
|
||||||
|
x="0"
|
||||||
|
y="0"><path
|
||||||
|
d="M8 4 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path2-1" /><path
|
||||||
|
d="M6 2 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path3-3" /><path
|
||||||
|
d="M4 0 l-4,4"
|
||||||
|
stroke="#000000"
|
||||||
|
stroke-width="0.25"
|
||||||
|
linecap="square"
|
||||||
|
id="path4-8" /></pattern><symbol
|
||||||
|
id="*MODEL_SPACE-4" /><symbol
|
||||||
|
id="*PAPER_SPACE-8" /></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"><rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0999999;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect14"
|
||||||
|
width="65.372803"
|
||||||
|
height="67.136452"
|
||||||
|
x="94.512039"
|
||||||
|
y="128.87753"
|
||||||
|
inkscape:label="rect14" /><g
|
||||||
|
inkscape:label="0"
|
||||||
|
id="g4"
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:25.9022;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
transform="matrix(0,-0.01032805,0.01013448,0,85.391758,130.57663)" /><g
|
||||||
|
inkscape:label="none"
|
||||||
|
id="g5"
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:25.9022;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
transform="matrix(0,-0.01032805,0.01013448,0,85.391758,130.57663)" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:9.87778px;line-height:1.25;font-family:Figtree;-inkscape-font-specification:Figtree;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
x="109.86727"
|
||||||
|
y="147.89633"
|
||||||
|
id="text13"
|
||||||
|
inkscape:label="text13"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan13"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:9.87778px;font-family:Figtree;-inkscape-font-specification:'Figtree Semi-Bold';fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
x="109.86727"
|
||||||
|
y="147.89633">16</tspan></text><g
|
||||||
|
id="g15"
|
||||||
|
transform="rotate(180,98.47819,146.38071)"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect15"
|
||||||
|
width="3.0510385"
|
||||||
|
height="3.0510385"
|
||||||
|
x="97.520706"
|
||||||
|
y="144.85579"
|
||||||
|
rx="10" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect15-4"
|
||||||
|
width="3.0510385"
|
||||||
|
height="3.0510385"
|
||||||
|
x="96.063148"
|
||||||
|
y="144.85458"
|
||||||
|
inkscape:transform-center-x="-0.013707566"
|
||||||
|
inkscape:transform-center-y="0.013707619" /></g><g
|
||||||
|
id="g15-3"
|
||||||
|
transform="rotate(180,113.68335,146.61532)"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect15-8"
|
||||||
|
width="3.0510385"
|
||||||
|
height="3.0510385"
|
||||||
|
x="97.520706"
|
||||||
|
y="144.85579"
|
||||||
|
rx="10" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect15-4-1"
|
||||||
|
width="3.0510385"
|
||||||
|
height="3.0510385"
|
||||||
|
x="96.063148"
|
||||||
|
y="144.85458"
|
||||||
|
inkscape:transform-center-x="-0.013707566"
|
||||||
|
inkscape:transform-center-y="0.013707619" /></g><g
|
||||||
|
id="g16"
|
||||||
|
transform="translate(0.04102534,-1.6820389)"
|
||||||
|
inkscape:label="g16"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect13"
|
||||||
|
width="0.74058235"
|
||||||
|
height="2.7259381"
|
||||||
|
x="104.75137"
|
||||||
|
y="136.7804" /><path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 105.14794,135.13747 -1.10769,1.68203 2.13332,-0.0227 z"
|
||||||
|
id="path16" /></g><g
|
||||||
|
id="g16-5"
|
||||||
|
transform="matrix(1,0,0,-1,0.04147732,294.82331)"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect13-2"
|
||||||
|
width="0.74058235"
|
||||||
|
height="2.7259381"
|
||||||
|
x="104.75137"
|
||||||
|
y="136.7804" /><path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 105.14794,135.13747 -1.10769,1.68203 2.13332,-0.0227 z"
|
||||||
|
id="path16-1" /></g><g
|
||||||
|
id="g2"
|
||||||
|
transform="matrix(0,-0.01032805,0.01032109,0,85.099333,130.59694)"
|
||||||
|
style="stroke-width:25.6266;stroke:#ffffff;stroke-opacity:1"><g
|
||||||
|
inkscape:label="0"
|
||||||
|
id="g4-7"
|
||||||
|
style="stroke-width:25.6266;stroke:#ffffff;stroke-opacity:1" /><g
|
||||||
|
inkscape:label="none"
|
||||||
|
id="g5-9"
|
||||||
|
style="stroke-width:25.6266;stroke:#ffffff;stroke-opacity:1" /><g
|
||||||
|
inkscape:label="Sketch055"
|
||||||
|
id="g12-0"
|
||||||
|
style="stroke-width:25.6266;stroke:#ffffff;stroke-opacity:1"><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="m -1104,1276.12 h -864"
|
||||||
|
id="path5-2" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="m -1968,1276.12 v 432"
|
||||||
|
id="path6-3" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="M -1968,1708.12 H -3033.6"
|
||||||
|
id="path7-9" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="m -3033.6,1708.12 v 2328"
|
||||||
|
id="path8-9" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="M -3033.6,4036.12 H -48"
|
||||||
|
id="path9-7" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="m -48,4036.12 v -2328"
|
||||||
|
id="path10-0" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="M -48,1708.12 H -1104"
|
||||||
|
id="path11-3" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1"
|
||||||
|
d="m -1104,1708.12 v -432"
|
||||||
|
id="path12-9" /></g></g><g
|
||||||
|
id="g3"
|
||||||
|
transform="matrix(0.61327422,0,0,0.61327422,34.075145,83.676515)"
|
||||||
|
style="stroke-width:1.63059"><path
|
||||||
|
d="m 116.91091,141.17783 a 5.310432,5.310432 0 0 1 4.98223,4.98224 h 0.64682 v 0.63725 h -0.64682 a 5.310432,5.310432 0 0 1 -4.98223,4.98224 v 0.64682 h -0.63726 v -0.64682 a 5.310432,5.310432 0 0 1 -4.98223,-4.98224 h -0.64682 v -0.63725 h 0.64682 a 5.310432,5.310432 0 0 1 4.98223,-4.98224 v -0.64682 h 0.63726 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.431427"
|
||||||
|
id="path6" /><path
|
||||||
|
d="m 114.89294,146.79732 h -2.96297 a 4.6731802,4.6731802 0 0 0 4.34368,4.34368 v -1.05121 h 0.63726 v 1.05121 a 4.6731802,4.6731802 0 0 0 4.34368,-4.34368 h -1.05122 v -0.63725 h 1.05122 a 4.6731802,4.6731802 0 0 0 -4.34368,-4.34368 v 2.96297 h -0.63726 v -2.96297 a 4.6731802,4.6731802 0 0 0 -4.34368,4.34368 h 2.96297 z"
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.431427"
|
||||||
|
id="path5" /><path
|
||||||
|
d="m 116.91091,146.16007 h 0.74346 v 0.63725 h -0.74346 v 0.74346 h -0.63726 v -0.74346 h -0.74346 v -0.63725 h 0.74346 v -0.74346 h 0.63726 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.431427"
|
||||||
|
id="path7" /></g><g
|
||||||
|
id="g3-0"
|
||||||
|
transform="matrix(0.61327422,0,0,0.61327422,84.567562,78.815737)"
|
||||||
|
style="stroke-width:1.63059"><path
|
||||||
|
d="m 116.91091,141.17783 a 5.310432,5.310432 0 0 1 4.98223,4.98224 h 0.64682 v 0.63725 h -0.64682 a 5.310432,5.310432 0 0 1 -4.98223,4.98224 v 0.64682 h -0.63726 v -0.64682 a 5.310432,5.310432 0 0 1 -4.98223,-4.98224 h -0.64682 v -0.63725 h 0.64682 a 5.310432,5.310432 0 0 1 4.98223,-4.98224 v -0.64682 h 0.63726 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.431427"
|
||||||
|
id="path6-2" /><path
|
||||||
|
d="m 114.89294,146.79732 h -2.96297 a 4.6731802,4.6731802 0 0 0 4.34368,4.34368 v -1.05121 h 0.63726 v 1.05121 a 4.6731802,4.6731802 0 0 0 4.34368,-4.34368 h -1.05122 v -0.63725 h 1.05122 a 4.6731802,4.6731802 0 0 0 -4.34368,-4.34368 v 2.96297 h -0.63726 v -2.96297 a 4.6731802,4.6731802 0 0 0 -4.34368,4.34368 h 2.96297 z"
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.431427"
|
||||||
|
id="path5-3" /><path
|
||||||
|
d="m 116.91091,146.16007 h 0.74346 v 0.63725 h -0.74346 v 0.74346 h -0.63726 v -0.74346 h -0.74346 v -0.63725 h 0.74346 v -0.74346 h 0.63726 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.431427"
|
||||||
|
id="path7-99" /></g><g
|
||||||
|
id="g6"
|
||||||
|
transform="matrix(0.02194832,0,0,0.02194832,116.24045,171.50274)"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548"><path
|
||||||
|
d="M 240.06,67.75 C 239.62,106.83 191.8,126.07 164.7,97.58 148,80.93 148.73,51.63 166.23,35.82 194.01,9.27 240.07,29.3 240.06,67.75 Z m -43.83,-30.1 c -16.75,0.14 -29.36,13.24 -29.85,28.73 0.59,41.25 57.63,40.38 59.73,2.2 0.53,-17.61 -13.49,-30.9 -29.88,-30.93 z"
|
||||||
|
id="path109"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 248.69,99.76 c 0,-14.11 0,-43.09 0,-43.09 0,0 18.2,0.01 26.84,0 18.5,0 28.42,12.51 28.42,26.65 0,15.46 -9.98,27.38 -26.54,27.38 -2.84,0 -13.28,0 -13.28,0 l 0.02,32.45 -15.48,0.02 c 0,0 0.02,-29.23 0.02,-43.41 z M 264.15,83.3 c 0,4.38 0,13.84 0,13.84 0,0 6.89,-0.05 11.29,-0.05 7.82,0 15.29,-3.43 15.29,-13.49 0,-10.85 -6.49,-14.07 -15.49,-14.07 -3.42,-0.04 -11.1,-0.02 -11.1,-0.02 0,0 0.01,9.46 0.01,13.79 z"
|
||||||
|
id="path111"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 363.66,110.69 c -5.84,0 -25.88,0.03 -30.07,0.03 -13.35,0 -20.7,-10.65 -20.7,-23.35 0,-10 -0.02,-30.7 -0.02,-30.7 h 15.07 c 0,0 -0.02,20.23 -0.02,30.02 0,7.35 3.55,10.18 14.49,10.18 1.5,0 5.98,0 5.98,0 l -0.02,-40.2 h 15.28 c 0.01,0 0.01,47.69 0.01,54.02 z"
|
||||||
|
id="path113"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 424.82,110.71 c -14.74,0 -27.5,-12.05 -27.03,-27.99 0.41,-13.8 11.85,-26.55 28.08,-26.06 13.73,0.42 26.49,11.83 25.98,28.07 -0.46,13.94 -11.88,25.89 -27.03,25.98 z m 13.17,-26.96 c -0.07,-7.37 -5.89,-13.03 -12.83,-13.21 -7.77,-0.2 -13.47,5.94 -13.63,12.82 -0.19,7.74 5.95,13.44 12.85,13.61 7.66,0.19 13.58,-5.97 13.61,-13.22 z"
|
||||||
|
id="path115"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 373.64,23.94 h 15.46 c 0,28.32 0.01,58.47 0,86.77 -4.87,0.01 -15.48,0.02 -15.48,0.02 0.03,-14.16 0.02,-86.79 0.02,-86.79 z"
|
||||||
|
id="path117"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><g
|
||||||
|
id="Sketch_00000163793952748931256020000003875778274186330264_"
|
||||||
|
transform="matrix(1,0,0,-1,28.56,28.56)"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548">
|
||||||
|
<path
|
||||||
|
d="m 51,20.74 v -6.47 c 26.84,-1.61 48.25,-23.02 49.86,-49.86 h 6.47 v -6.38 h -6.47 C 99.25,-68.82 77.84,-90.23 51,-91.85 v -6.47 h -6.38 v 6.47 c -26.84,1.62 -48.25,23.03 -49.86,49.87 v 0 h -6.47 v 6.38 h 6.47 c 1.61,26.84 23.02,48.25 49.86,49.86 v 6.47 H 51 M 44.62,7.87 C 21.3,6.28 2.74,-12.28 1.15,-35.6 H 30.8 v -6.38 H 1.15 C 2.74,-65.3 21.3,-83.86 44.62,-85.45 v 10.52 H 51 v -10.52 c 23.32,1.59 41.88,20.16 43.47,43.47 H 83.95 v 6.38 H 94.47 C 92.88,-12.28 74.32,6.28 51,7.87 V -21.78 H 44.62 V 7.87"
|
||||||
|
id="path119"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" />
|
||||||
|
<path
|
||||||
|
id="Sketch_w0002_00000062871477408809884110000011827936560669940638_"
|
||||||
|
d="m 37.18,-35.6 v -6.38 h 7.44 v -7.44 H 51 v 7.44 h 7.44 v 6.38 H 51 v 7.44 h -6.38 v -7.44 h -7.44"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" />
|
||||||
|
</g><path
|
||||||
|
d="m 451.50118,52.563202 v 7.19 h -1.65 v -7.19 h -2.6 v -1.34 h 6.88 v 1.34 z"
|
||||||
|
id="path123"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 457.89118,54.423202 0.92,-3.21 h 2.04 v 8.53 h -1.51 v -2.53 l 0.07,-3.99 -1.12,3.7 h -0.81 l -1,-3.54 0.07,3.83 v 2.53 h -1.51 v -8.53 h 2.04 z"
|
||||||
|
id="path125"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /></g><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:9.87778px;line-height:1.25;font-family:Figtree;-inkscape-font-specification:Figtree;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
x="139.74637"
|
||||||
|
y="147.32704"
|
||||||
|
id="text13-4"
|
||||||
|
inkscape:label="text13"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan13-3"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:9.87778px;font-family:Figtree;-inkscape-font-specification:'Figtree Semi-Bold';fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
x="139.74637"
|
||||||
|
y="147.32704">24</tspan></text><g
|
||||||
|
id="g16-54"
|
||||||
|
transform="translate(30.16379,-1.3948638)"
|
||||||
|
inkscape:label="g16"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect13-9"
|
||||||
|
width="0.74058235"
|
||||||
|
height="2.7259381"
|
||||||
|
x="104.75137"
|
||||||
|
y="136.7804" /><path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 105.14794,135.13747 -1.10769,1.68203 2.13332,-0.0227 z"
|
||||||
|
id="path16-17" /></g><g
|
||||||
|
id="g16-5-5"
|
||||||
|
transform="matrix(1,0,0,-1,30.164242,295.11049)"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect13-2-5"
|
||||||
|
width="0.74058235"
|
||||||
|
height="2.7259381"
|
||||||
|
x="104.75137"
|
||||||
|
y="136.7804" /><path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 105.14794,135.13747 -1.10769,1.68203 2.13332,-0.0227 z"
|
||||||
|
id="path16-1-4" /></g><g
|
||||||
|
id="g2-1"
|
||||||
|
transform="matrix(0,-0.01032805,0.01032109,0,115.2221,130.88412)"
|
||||||
|
style="stroke:#ff00ed;stroke-width:25.6266;stroke-opacity:1"><g
|
||||||
|
inkscape:label="0"
|
||||||
|
id="g4-7-8"
|
||||||
|
style="stroke:#ff00ed;stroke-width:25.6266;stroke-opacity:1" /><g
|
||||||
|
inkscape:label="none"
|
||||||
|
id="g5-9-8"
|
||||||
|
style="stroke:#ff00ed;stroke-width:25.6266;stroke-opacity:1" /><g
|
||||||
|
inkscape:label="Sketch055"
|
||||||
|
id="g12-0-3"
|
||||||
|
style="stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill:none;fill-opacity:1"><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="m -1104,1276.12 h -864"
|
||||||
|
id="path5-2-5" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="m -1968,1276.12 v 432"
|
||||||
|
id="path6-3-2" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="M -1968,1708.12 H -3033.6"
|
||||||
|
id="path7-9-2" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="m -3033.6,1708.12 v 2328"
|
||||||
|
id="path8-9-6" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="M -3033.6,4036.12 H -48"
|
||||||
|
id="path9-7-6" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="m -48,4036.12 v -2328"
|
||||||
|
id="path10-0-7" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="M -48,1708.12 H -1104"
|
||||||
|
id="path11-3-8" /><path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:25.6266;stroke-opacity:1;fill-opacity:1"
|
||||||
|
d="m -1104,1708.12 v -432"
|
||||||
|
id="path12-9-4" /></g></g><g
|
||||||
|
id="g6-1"
|
||||||
|
transform="matrix(0.02194832,0,0,0.02194832,141.2244,175.35855)"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548"><path
|
||||||
|
d="M 240.06,67.75 C 239.62,106.83 191.8,126.07 164.7,97.58 148,80.93 148.73,51.63 166.23,35.82 194.01,9.27 240.07,29.3 240.06,67.75 Z m -43.83,-30.1 c -16.75,0.14 -29.36,13.24 -29.85,28.73 0.59,41.25 57.63,40.38 59.73,2.2 0.53,-17.61 -13.49,-30.9 -29.88,-30.93 z"
|
||||||
|
id="path109-7"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 248.69,99.76 c 0,-14.11 0,-43.09 0,-43.09 0,0 18.2,0.01 26.84,0 18.5,0 28.42,12.51 28.42,26.65 0,15.46 -9.98,27.38 -26.54,27.38 -2.84,0 -13.28,0 -13.28,0 l 0.02,32.45 -15.48,0.02 c 0,0 0.02,-29.23 0.02,-43.41 z M 264.15,83.3 c 0,4.38 0,13.84 0,13.84 0,0 6.89,-0.05 11.29,-0.05 7.82,0 15.29,-3.43 15.29,-13.49 0,-10.85 -6.49,-14.07 -15.49,-14.07 -3.42,-0.04 -11.1,-0.02 -11.1,-0.02 0,0 0.01,9.46 0.01,13.79 z"
|
||||||
|
id="path111-1"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 363.66,110.69 c -5.84,0 -25.88,0.03 -30.07,0.03 -13.35,0 -20.7,-10.65 -20.7,-23.35 0,-10 -0.02,-30.7 -0.02,-30.7 h 15.07 c 0,0 -0.02,20.23 -0.02,30.02 0,7.35 3.55,10.18 14.49,10.18 1.5,0 5.98,0 5.98,0 l -0.02,-40.2 h 15.28 c 0.01,0 0.01,47.69 0.01,54.02 z"
|
||||||
|
id="path113-8"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 424.82,110.71 c -14.74,0 -27.5,-12.05 -27.03,-27.99 0.41,-13.8 11.85,-26.55 28.08,-26.06 13.73,0.42 26.49,11.83 25.98,28.07 -0.46,13.94 -11.88,25.89 -27.03,25.98 z m 13.17,-26.96 c -0.07,-7.37 -5.89,-13.03 -12.83,-13.21 -7.77,-0.2 -13.47,5.94 -13.63,12.82 -0.19,7.74 5.95,13.44 12.85,13.61 7.66,0.19 13.58,-5.97 13.61,-13.22 z"
|
||||||
|
id="path115-7"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 373.64,23.94 h 15.46 c 0,28.32 0.01,58.47 0,86.77 -4.87,0.01 -15.48,0.02 -15.48,0.02 0.03,-14.16 0.02,-86.79 0.02,-86.79 z"
|
||||||
|
id="path117-8"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><g
|
||||||
|
id="Sketch_00000163793952748931256020000003875778274186330264_-7"
|
||||||
|
transform="matrix(1,0,0,-1,28.56,28.56)"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548">
|
||||||
|
<path
|
||||||
|
d="m 51,20.74 v -6.47 c 26.84,-1.61 48.25,-23.02 49.86,-49.86 h 6.47 v -6.38 h -6.47 C 99.25,-68.82 77.84,-90.23 51,-91.85 v -6.47 h -6.38 v 6.47 c -26.84,1.62 -48.25,23.03 -49.86,49.87 v 0 h -6.47 v 6.38 h 6.47 c 1.61,26.84 23.02,48.25 49.86,49.86 v 6.47 H 51 M 44.62,7.87 C 21.3,6.28 2.74,-12.28 1.15,-35.6 H 30.8 v -6.38 H 1.15 C 2.74,-65.3 21.3,-83.86 44.62,-85.45 v 10.52 H 51 v -10.52 c 23.32,1.59 41.88,20.16 43.47,43.47 H 83.95 v 6.38 H 94.47 C 92.88,-12.28 74.32,6.28 51,7.87 V -21.78 H 44.62 V 7.87"
|
||||||
|
id="path119-7"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" />
|
||||||
|
<path
|
||||||
|
id="Sketch_w0002_00000062871477408809884110000011827936560669940638_-4"
|
||||||
|
d="m 37.18,-35.6 v -6.38 h 7.44 v -7.44 H 51 v 7.44 h 7.44 v 6.38 H 51 v 7.44 h -6.38 v -7.44 h -7.44"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" />
|
||||||
|
</g><path
|
||||||
|
d="m 451.50118,52.563202 v 7.19 h -1.65 v -7.19 h -2.6 v -1.34 h 6.88 v 1.34 z"
|
||||||
|
id="path123-4"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /><path
|
||||||
|
d="m 457.89118,54.423202 0.92,-3.21 h 2.04 v 8.53 h -1.51 v -2.53 l 0.07,-3.99 -1.12,3.7 h -0.81 l -1,-3.54 0.07,3.83 v 2.53 h -1.51 v -8.53 h 2.04 z"
|
||||||
|
id="path125-9"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:12.0548" /></g><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:7.05556px;line-height:1.25;font-family:Figtree;-inkscape-font-specification:Figtree;stroke-width:0.264583"
|
||||||
|
x="139.31926"
|
||||||
|
y="152.73729"
|
||||||
|
id="text1"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan1"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:7.05556px;font-family:Figtree;-inkscape-font-specification:'Figtree Semi-Bold';fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
x="139.31926"
|
||||||
|
y="152.73729">mm</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:5.64444px;line-height:1.25;font-family:Figtree;-inkscape-font-specification:Figtree;stroke-width:0.264583"
|
||||||
|
x="110.2211"
|
||||||
|
y="152.23836"
|
||||||
|
id="text1-8"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan1-0"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.64444px;font-family:Figtree;-inkscape-font-specification:'Figtree Semi-Bold';fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
x="110.2211"
|
||||||
|
y="152.23836">mm</tspan></text></g></svg>
|
||||||
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-329
@@ -1,329 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
|
||||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.2123927809">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.2123927809" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.2123927809" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
|
|
||||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.2123927809." name="/" resourcePath="">
|
|
||||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.742156129" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1388565936" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32C051C6Tx" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.252839491" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.589816474" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.455796363" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.417545264" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32C051C6Tx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32C0xx/Include | ../Drivers/CMSIS/Include || || || USE_HAL_DRIVER | STM32C051xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1216937249" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="48" valueType="string"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.591428385" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
|
|
||||||
<builder buildPath="${workspace_loc:/feeder_mk2}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1512446835" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1681031685" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.361630091" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.371520687" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1275212645" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.288588021" name="MCU/MPU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1195911872" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.479801723" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.oz" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1746005180" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
|
||||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
|
||||||
<listOptionValue builtIn="false" value="STM32C051xx"/>
|
|
||||||
</option>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1853824475" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../Core/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32C0xx/Include"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1620160994" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1492629481" name="MCU/MPU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1993343380" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.2097082520" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.546898380" name="MCU/MPU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1886210733" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld}" valueType="string"/>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.261574862" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1968949857" name="MCU/MPU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1035873196" name="MCU/MPU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.479512980" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.150265153" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1700608086" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1252711542" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.257806696" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.997006273" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1753742789" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.749563602">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.749563602" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.749563602" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
|
|
||||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.749563602." name="/" resourcePath="">
|
|
||||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1719776956" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.95773864" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32C051C6Tx" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.337106446" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.2104311438" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1932361446" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.282411569" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32C051C6Tx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32C0xx/Include | ../Drivers/CMSIS/Include || || || USE_HAL_DRIVER | STM32C051xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.743590200" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="48" valueType="string"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1241986810" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
|
|
||||||
<builder buildPath="${workspace_loc:/feeder_mk2}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.189486637" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.469570881" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1409120056" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1350547342" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.833784897" name="MCU/MPU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1950948351" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.60763210" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2064160852" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
|
||||||
<listOptionValue builtIn="false" value="STM32C051xx"/>
|
|
||||||
</option>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.359433534" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../Core/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32C0xx/Include"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.865476332" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.937925286" name="MCU/MPU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1144563673" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.637665107" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.77660645" name="MCU/MPU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1452135767" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld}" valueType="string"/>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.376051529" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.645652288" name="MCU/MPU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.767039415" name="MCU/MPU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.281989519" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1770052718" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.42077702" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.2057677230" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1963644445" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1019997968" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.218538622" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1773838781">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1773838781" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1773838781" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
|
|
||||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1773838781." name="/" resourcePath="">
|
|
||||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.534348417" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.849888053" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32C051C6Tx" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.109976386" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1271013541" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1345114919" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1700257373" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32C051C6Tx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32C0xx/Include | ../Drivers/CMSIS/Include || || || USE_HAL_DRIVER | STM32C051xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.599884550" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
|
|
||||||
<builder buildPath="${workspace_loc:/feeder_mk2}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1109463696" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1289664662" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1121963870" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.1100620306" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.16753259" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.897816544" name="MCU/MPU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.2124147385" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.813582153" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.209402282" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
|
||||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
|
||||||
<listOptionValue builtIn="false" value="STM32C051xx"/>
|
|
||||||
</option>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.80289720" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../Core/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32C0xx/Include"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.861865851" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1336897310" name="MCU/MPU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1512288779" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1559001255" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.969750042" name="MCU/MPU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1802035541" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld}" valueType="string"/>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.936374392" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1101107984" name="MCU/MPU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1417240254" name="MCU/MPU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.939197912" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1966442015" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.738252076" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.160627994" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1964737266" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.894667566" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.820229172" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1813768786">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1813768786" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
|
||||||
<externalSettings/>
|
|
||||||
<extensions>
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
</extensions>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1813768786" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
|
|
||||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1813768786." name="/" resourcePath="">
|
|
||||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.594971184" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.631510249" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32C051C6Tx" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1777976030" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.71133310" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.992413084" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.116796964" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32C051C6Tx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc | ../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32C0xx/Include | ../Drivers/CMSIS/Include || || || USE_HAL_DRIVER | STM32C051xx || || Drivers | Core/Startup | Core || || || ${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1962359373" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
|
|
||||||
<builder buildPath="${workspace_loc:/feeder_mk2}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.649701287" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.121254354" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.615900473" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1576766624" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1690084034" name="MCU/MPU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1261288323" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.719313019" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1660359632" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
|
||||||
<listOptionValue builtIn="false" value="STM32C051xx"/>
|
|
||||||
</option>
|
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.328209715" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../Core/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32C0xx/Include"/>
|
|
||||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1727265949" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.844134411" name="MCU/MPU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1314731639" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.743635977" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1128945908" name="MCU/MPU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
|
|
||||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.108416306" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32C051C6TX_FLASH.ld}" valueType="string"/>
|
|
||||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1670379260" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.867981434" name="MCU/MPU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1631136431" name="MCU/MPU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1288403363" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1588691822" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1068439113" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.917191787" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1974550249" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.38306311" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
|
|
||||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.613648352" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
<sourceEntries>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
|
|
||||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
|
||||||
</sourceEntries>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
</cconfiguration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<project id="feeder_mk2.null.1318808794" name="feeder_mk2"/>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
|
||||||
<storageModule moduleId="scannerConfiguration">
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.2123927809;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.2123927809.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.288588021;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1620160994">
|
|
||||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.749563602;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.749563602.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.833784897;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.865476332">
|
|
||||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1813768786;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1813768786.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1690084034;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1727265949">
|
|
||||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1773838781;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1773838781.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.897816544;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.861865851">
|
|
||||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
|
||||||
</scannerConfigBuildInfo>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="refreshScope"/>
|
|
||||||
</cproject>
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,32 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>feeder_mk2</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
|
||||||
<triggers>clean,full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
|
||||||
<triggers>full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature>
|
|
||||||
<nature>com.st.stm32cube.ide.mcu.MCUCubeProjectNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
|
||||||
<nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
|
|
||||||
<nature>com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature</nature>
|
|
||||||
<nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
|
|
||||||
<nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
66BE74F758C12D739921AEA421D593D3=2
|
|
||||||
8DF89ED150041C4CBC7CB9A9CAA90856=D23DC690AD53E33F3DEB60F5E0B05235
|
|
||||||
DC22A860405A8BF2F2C095E5B6529F12=D23DC690AD53E33F3DEB60F5E0B05235
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* crc.h
|
|
||||||
*
|
|
||||||
* Created on: 19 Dec 2025
|
|
||||||
* Author: janik
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INC_CRC_H_
|
|
||||||
#define INC_CRC_H_
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint32_t crc;
|
|
||||||
} CRC8_107;
|
|
||||||
|
|
||||||
static inline void CRC8_107_init(CRC8_107 *ctx)
|
|
||||||
{
|
|
||||||
ctx->crc = 0x0u;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CRC8_107_add(CRC8_107 *ctx, uint8_t data);
|
|
||||||
uint8_t CRC8_107_getChecksum(const CRC8_107 *ctx);
|
|
||||||
|
|
||||||
#endif /* INC_CRC_H_ */
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
/* USER CODE BEGIN Header */
|
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file : main.h
|
|
||||||
* @brief : Header for main.c file.
|
|
||||||
* This file contains the common defines of the application.
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2025 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
/* USER CODE END Header */
|
|
||||||
|
|
||||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
||||||
#ifndef __MAIN_H
|
|
||||||
#define __MAIN_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
|
||||||
#include "stm32c0xx_hal.h"
|
|
||||||
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN Includes */
|
|
||||||
|
|
||||||
/* USER CODE END Includes */
|
|
||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN ET */
|
|
||||||
|
|
||||||
/* USER CODE END ET */
|
|
||||||
|
|
||||||
/* Exported constants --------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN EC */
|
|
||||||
|
|
||||||
/* USER CODE END EC */
|
|
||||||
|
|
||||||
/* Exported macro ------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN EM */
|
|
||||||
|
|
||||||
/* USER CODE END EM */
|
|
||||||
|
|
||||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
|
|
||||||
|
|
||||||
/* Exported functions prototypes ---------------------------------------------*/
|
|
||||||
void Error_Handler(void);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN EFP */
|
|
||||||
|
|
||||||
/* USER CODE END EFP */
|
|
||||||
|
|
||||||
/* Private defines -----------------------------------------------------------*/
|
|
||||||
#define USART2_NRE_Pin GPIO_PIN_0
|
|
||||||
#define USART2_NRE_GPIO_Port GPIOA
|
|
||||||
#define PEEL1_Pin GPIO_PIN_2
|
|
||||||
#define PEEL1_GPIO_Port GPIOA
|
|
||||||
#define PEEL2_Pin GPIO_PIN_3
|
|
||||||
#define PEEL2_GPIO_Port GPIOA
|
|
||||||
#define ONEWIRE_Pin GPIO_PIN_6
|
|
||||||
#define ONEWIRE_GPIO_Port GPIOA
|
|
||||||
#define IPROP_PEEL_Pin GPIO_PIN_7
|
|
||||||
#define IPROP_PEEL_GPIO_Port GPIOA
|
|
||||||
#define IPROP_DRIVE_Pin GPIO_PIN_12
|
|
||||||
#define IPROP_DRIVE_GPIO_Port GPIOB
|
|
||||||
#define DRIVE1_Pin GPIO_PIN_8
|
|
||||||
#define DRIVE1_GPIO_Port GPIOA
|
|
||||||
#define DRIVE2_Pin GPIO_PIN_9
|
|
||||||
#define DRIVE2_GPIO_Port GPIOA
|
|
||||||
#define QUAD_A_Pin GPIO_PIN_6
|
|
||||||
#define QUAD_A_GPIO_Port GPIOC
|
|
||||||
#define QUAD_B_Pin GPIO_PIN_7
|
|
||||||
#define QUAD_B_GPIO_Port GPIOC
|
|
||||||
#define LED_R_Pin GPIO_PIN_3
|
|
||||||
#define LED_R_GPIO_Port GPIOB
|
|
||||||
#define LED_B_Pin GPIO_PIN_4
|
|
||||||
#define LED_B_GPIO_Port GPIOB
|
|
||||||
#define LED_G_Pin GPIO_PIN_5
|
|
||||||
#define LED_G_GPIO_Port GPIOB
|
|
||||||
#define SW2_Pin GPIO_PIN_8
|
|
||||||
#define SW2_GPIO_Port GPIOB
|
|
||||||
#define SW2_EXTI_IRQn EXTI4_15_IRQn
|
|
||||||
#define SW1_Pin GPIO_PIN_9
|
|
||||||
#define SW1_GPIO_Port GPIOB
|
|
||||||
#define SW1_EXTI_IRQn EXTI4_15_IRQn
|
|
||||||
|
|
||||||
/* USER CODE BEGIN Private defines */
|
|
||||||
|
|
||||||
/* USER CODE END Private defines */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __MAIN_H */
|
|
||||||
@@ -1,140 +0,0 @@
|
|||||||
/*
|
|
||||||
* photon_protocol.h
|
|
||||||
*
|
|
||||||
* Created on: 19 Dec 2025
|
|
||||||
* Author: janik
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INC_PHOTON_PROTOCOL_H_
|
|
||||||
#define INC_PHOTON_PROTOCOL_H_
|
|
||||||
|
|
||||||
#define UUID_LENGTH 12 // 12 8bit values
|
|
||||||
#define PHOTON_NETWORK_CONTROLLER_ADDRESS 0x00
|
|
||||||
#define PHOTON_NETWORK_BROADCAST_ADDRESS 0xFF
|
|
||||||
#define VENDOR_SPECIFIC_OPTIONS_LENGTH 20
|
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
STATUS_OK = 0x00,
|
|
||||||
STATUS_WRONG_FEEDER_ID = 0x01,
|
|
||||||
STATUS_COULDNT_REACH = 0x02,
|
|
||||||
STATUS_UNINITIALIZED_FEEDER = 0x03,
|
|
||||||
STATUS_FEEDING_IN_PROGRESS = 0x04,
|
|
||||||
STATUS_FAIL = 0x05,
|
|
||||||
|
|
||||||
STATUS_TIMEOUT = 0xFE,
|
|
||||||
STATUS_UNKNOWN_ERROR = 0xFF
|
|
||||||
} FeederStatus;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
// Unicast Commands
|
|
||||||
GET_FEEDER_ID = 0x01,
|
|
||||||
INITIALIZE_FEEDER = 0x02,
|
|
||||||
GET_VERSION = 0x03,
|
|
||||||
MOVE_FEED_FORWARD = 0x04,
|
|
||||||
MOVE_FEED_BACKWARD = 0x05,
|
|
||||||
MOVE_FEED_STATUS = 0x06,
|
|
||||||
|
|
||||||
VENDOR_OPTIONS = 0xbf,
|
|
||||||
|
|
||||||
// Broadcast Commands
|
|
||||||
GET_FEEDER_ADDRESS = 0xc0,
|
|
||||||
IDENTIFY_FEEDER = 0xc1,
|
|
||||||
PROGRAM_FEEDER_FLOOR = 0xc2,
|
|
||||||
UNINITIALIZED_FEEDERS_RESPOND = 0xc3
|
|
||||||
// EXTENDED_COMMAND = 0xff, Unused, reserved for future use
|
|
||||||
} FeederCommand;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ---------- Packet Header ---------- */
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t toAddress;
|
|
||||||
uint8_t fromAddress;
|
|
||||||
uint8_t packetId;
|
|
||||||
uint8_t payloadLength;
|
|
||||||
uint8_t crc;
|
|
||||||
} PhotonPacketHeader;
|
|
||||||
|
|
||||||
/* ---------- Command Payloads ---------- */
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t distance;
|
|
||||||
} MoveCommand;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t uuid[UUID_LENGTH];
|
|
||||||
} GetFeederAddressCommand;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t uuid[UUID_LENGTH];
|
|
||||||
} InitializeFeederCommand;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t options[VENDOR_SPECIFIC_OPTIONS_LENGTH];
|
|
||||||
} VendorOptionsCommand;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t uuid[UUID_LENGTH];
|
|
||||||
uint8_t address;
|
|
||||||
} ProgramFeederFloorAddressCommand;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t uuid[UUID_LENGTH];
|
|
||||||
} IdentifyFeederCommand;
|
|
||||||
|
|
||||||
/* ---------- Full Command Packet ---------- */
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
PhotonPacketHeader header;
|
|
||||||
uint8_t commandId;
|
|
||||||
union {
|
|
||||||
MoveCommand move;
|
|
||||||
GetFeederAddressCommand getFeederAddress;
|
|
||||||
InitializeFeederCommand initializeFeeder;
|
|
||||||
VendorOptionsCommand vendorOptions;
|
|
||||||
ProgramFeederFloorAddressCommand programFeederFloorAddress;
|
|
||||||
IdentifyFeederCommand identifyFeeder;
|
|
||||||
} payload;
|
|
||||||
} PhotonCommand;
|
|
||||||
|
|
||||||
/* ---------- Response Payloads ---------- */
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t uuid[UUID_LENGTH];
|
|
||||||
} GetFeederIdResponse;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t uuid[UUID_LENGTH];
|
|
||||||
} InitializeFeederResponse;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t version;
|
|
||||||
} GetProtocolVersionResponse;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint16_t expectedFeedTime;
|
|
||||||
} FeedDistanceResponse;
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
uint8_t options[VENDOR_SPECIFIC_OPTIONS_LENGTH];
|
|
||||||
} VendorOptionsResponse;
|
|
||||||
|
|
||||||
/* ---------- Full Response Packet ---------- */
|
|
||||||
|
|
||||||
typedef struct __attribute__((packed)) {
|
|
||||||
PhotonPacketHeader header;
|
|
||||||
uint8_t status;
|
|
||||||
union {
|
|
||||||
GetFeederIdResponse getFeederId;
|
|
||||||
InitializeFeederResponse initializeFeeder;
|
|
||||||
GetProtocolVersionResponse protocolVersion;
|
|
||||||
FeedDistanceResponse expectedTimeToFeed;
|
|
||||||
VendorOptionsResponse vendorOptions;
|
|
||||||
} payload;
|
|
||||||
} PhotonResponse;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* INC_PHOTON_PROTOCOL_H_ */
|
|
||||||
@@ -1,146 +0,0 @@
|
|||||||
/*
|
|
||||||
* pid.h
|
|
||||||
*
|
|
||||||
* Created on: 19 Dec 2025
|
|
||||||
* Author: janik
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INC_PID_H_
|
|
||||||
#define INC_PID_H_
|
|
||||||
|
|
||||||
// pid_motor_wrap_i32.h
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
// Gains
|
|
||||||
int32_t kp;
|
|
||||||
int32_t ki;
|
|
||||||
int32_t kd;
|
|
||||||
|
|
||||||
// State
|
|
||||||
int32_t integrator;
|
|
||||||
int32_t prev_error;
|
|
||||||
|
|
||||||
// Limits
|
|
||||||
int32_t integrator_min;
|
|
||||||
int32_t integrator_max;
|
|
||||||
int32_t out_max; // max |u|, e.g. 2400
|
|
||||||
|
|
||||||
// Slew limit
|
|
||||||
int32_t max_output_step; // max |u(k) - u(k-1)| per control step
|
|
||||||
int32_t last_output; // u(k-1)
|
|
||||||
} pid_i32_t;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
uint16_t pwm; // 0..out_max
|
|
||||||
uint8_t dir; // 0 or 1
|
|
||||||
} pid_motor_cmd_t;
|
|
||||||
|
|
||||||
static inline int32_t clamp_i32(int32_t x, int32_t lo, int32_t hi)
|
|
||||||
{
|
|
||||||
if (x < lo) return lo;
|
|
||||||
if (x > hi) return hi;
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void pid_init(pid_i32_t *pid,
|
|
||||||
int32_t kp,
|
|
||||||
int32_t ki,
|
|
||||||
int32_t kd,
|
|
||||||
int32_t integrator_min,
|
|
||||||
int32_t integrator_max,
|
|
||||||
int32_t out_max,
|
|
||||||
int32_t max_output_step)
|
|
||||||
{
|
|
||||||
pid->kp = kp;
|
|
||||||
pid->ki = ki;
|
|
||||||
pid->kd = kd;
|
|
||||||
|
|
||||||
pid->integrator = 0;
|
|
||||||
pid->prev_error = 0;
|
|
||||||
|
|
||||||
pid->integrator_min = integrator_min;
|
|
||||||
pid->integrator_max = integrator_max;
|
|
||||||
pid->out_max = out_max;
|
|
||||||
|
|
||||||
pid->max_output_step = max_output_step;
|
|
||||||
pid->last_output = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void pid_reset(pid_i32_t *pid)
|
|
||||||
{
|
|
||||||
pid->integrator = 0;
|
|
||||||
pid->prev_error = 0;
|
|
||||||
pid->last_output = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline pid_motor_cmd_t pid_update_motor(pid_i32_t *pid,
|
|
||||||
int32_t setpoint,
|
|
||||||
int32_t position)
|
|
||||||
{
|
|
||||||
pid_motor_cmd_t cmd;
|
|
||||||
|
|
||||||
int32_t error = setpoint - position;
|
|
||||||
|
|
||||||
// Deadband: if within ±1 count (~0.005mm), hold position and reset integrator
|
|
||||||
if (error >= -1 && error <= 1) {
|
|
||||||
pid->integrator = 0;
|
|
||||||
pid->prev_error = 0;
|
|
||||||
pid->last_output = 0;
|
|
||||||
cmd.pwm = 0;
|
|
||||||
cmd.dir = 1;
|
|
||||||
return cmd;
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t p = pid->kp * error;
|
|
||||||
|
|
||||||
int32_t i = pid->integrator + pid->ki * error;
|
|
||||||
i = clamp_i32(i, pid->integrator_min, pid->integrator_max);
|
|
||||||
pid->integrator = i;
|
|
||||||
|
|
||||||
int32_t d_error = error - pid->prev_error;
|
|
||||||
int32_t d = pid->kd * d_error;
|
|
||||||
pid->prev_error = error;
|
|
||||||
|
|
||||||
// Raw control effort
|
|
||||||
int32_t u_raw = p + i + d;
|
|
||||||
|
|
||||||
// Clamp to [-out_max, +out_max]
|
|
||||||
if (u_raw > pid->out_max) u_raw = pid->out_max;
|
|
||||||
if (u_raw < -pid->out_max) u_raw = -pid->out_max;
|
|
||||||
|
|
||||||
// ---------- Slew limit: avoid instant full reverse ----------
|
|
||||||
int32_t u_prev = pid->last_output;
|
|
||||||
int32_t u = u_raw;
|
|
||||||
|
|
||||||
int32_t max_step = pid->max_output_step;
|
|
||||||
if (max_step > 0) {
|
|
||||||
int32_t du = u_raw - u_prev;
|
|
||||||
|
|
||||||
if (du > max_step) {
|
|
||||||
u = u_prev + max_step;
|
|
||||||
} else if (du < -max_step) {
|
|
||||||
u = u_prev - max_step;
|
|
||||||
} else {
|
|
||||||
u = u_raw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save for next time
|
|
||||||
pid->last_output = u;
|
|
||||||
|
|
||||||
// Map signed u to dir + pwm
|
|
||||||
if (u >= 0) {
|
|
||||||
cmd.dir = 1;
|
|
||||||
cmd.pwm = (uint16_t)u;
|
|
||||||
} else {
|
|
||||||
cmd.dir = 0;
|
|
||||||
cmd.pwm = (uint16_t)(-u);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cmd.pwm > pid->out_max)
|
|
||||||
cmd.pwm = (uint16_t)pid->out_max;
|
|
||||||
|
|
||||||
return cmd;
|
|
||||||
}
|
|
||||||
#endif /* INC_PID_H_ */
|
|
||||||
@@ -1,274 +0,0 @@
|
|||||||
/* USER CODE BEGIN Header */
|
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file stm32c0xx_hal_conf.h
|
|
||||||
* @author MCD Application Team
|
|
||||||
* @brief HAL configuration template file.
|
|
||||||
* This file should be copied to the application folder and renamed
|
|
||||||
* to stm32c0xx_hal_conf.h.
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2021 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
/* USER CODE END Header */
|
|
||||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
||||||
#ifndef STM32C0xx_HAL_CONF_H
|
|
||||||
#define STM32C0xx_HAL_CONF_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
|
||||||
/* Exported constants --------------------------------------------------------*/
|
|
||||||
|
|
||||||
/* ########################## Module Selection ############################## */
|
|
||||||
/**
|
|
||||||
* @brief This is the list of modules to be used in the HAL driver
|
|
||||||
*/
|
|
||||||
#define HAL_MODULE_ENABLED
|
|
||||||
#define HAL_ADC_MODULE_ENABLED
|
|
||||||
/* #define HAL_CRC_MODULE_ENABLED */
|
|
||||||
/* #define HAL_CRYP_MODULE_ENABLED */
|
|
||||||
/* #define HAL_I2C_MODULE_ENABLED */
|
|
||||||
/* #define HAL_I2S_MODULE_ENABLED */
|
|
||||||
/* #define HAL_IWDG_MODULE_ENABLED */
|
|
||||||
/* #define HAL_IRDA_MODULE_ENABLED */
|
|
||||||
/* #define HAL_PCD_MODULE_ENABLED */
|
|
||||||
/* #define HAL_RNG_MODULE_ENABLED */
|
|
||||||
/* #define HAL_RTC_MODULE_ENABLED */
|
|
||||||
/* #define HAL_SMARTCARD_MODULE_ENABLED */
|
|
||||||
/* #define HAL_SMBUS_MODULE_ENABLED */
|
|
||||||
/* #define HAL_SPI_MODULE_ENABLED */
|
|
||||||
#define HAL_TIM_MODULE_ENABLED
|
|
||||||
#define HAL_UART_MODULE_ENABLED
|
|
||||||
/* #define HAL_USART_MODULE_ENABLED */
|
|
||||||
/* #define HAL_WWDG_MODULE_ENABLED */
|
|
||||||
#define HAL_GPIO_MODULE_ENABLED
|
|
||||||
#define HAL_EXTI_MODULE_ENABLED
|
|
||||||
#define HAL_DMA_MODULE_ENABLED
|
|
||||||
#define HAL_RCC_MODULE_ENABLED
|
|
||||||
#define HAL_FLASH_MODULE_ENABLED
|
|
||||||
#define HAL_PWR_MODULE_ENABLED
|
|
||||||
#define HAL_CORTEX_MODULE_ENABLED
|
|
||||||
/* ########################## Register Callbacks selection ############################## */
|
|
||||||
/**
|
|
||||||
* @brief Set below the peripheral configuration to "1U" to add the support
|
|
||||||
* of HAL callback registration/unregistration feature for the HAL
|
|
||||||
* driver(s). This allows user application to provide specific callback
|
|
||||||
* functions thanks to HAL_PPP_RegisterCallback() rather than overwriting
|
|
||||||
* the default weak callback functions (see each stm32c0xx_hal_ppp.h file
|
|
||||||
* for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef
|
|
||||||
* for each PPP peripheral).
|
|
||||||
*/
|
|
||||||
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
|
|
||||||
#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
|
|
||||||
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
|
|
||||||
#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
|
|
||||||
#define USE_HAL_IWDG_REGISTER_CALLBACKS 0U /* IWDG register callback disabled */
|
|
||||||
#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
|
|
||||||
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
|
|
||||||
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
|
|
||||||
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
|
|
||||||
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
|
|
||||||
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
|
|
||||||
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
|
|
||||||
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
|
|
||||||
|
|
||||||
/* ########################## Oscillator Values adaptation ####################*/
|
|
||||||
/**
|
|
||||||
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
|
|
||||||
* This value is used by the RCC HAL module to compute the system frequency
|
|
||||||
* (when HSE is used as system clock source, directly or through the PLL).
|
|
||||||
*/
|
|
||||||
#if !defined (HSE_VALUE)
|
|
||||||
#define HSE_VALUE (8000000U) /*!< Value of the External oscillator in Hz */
|
|
||||||
#endif /* HSE_VALUE */
|
|
||||||
|
|
||||||
#if !defined (HSE_STARTUP_TIMEOUT)
|
|
||||||
#define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */
|
|
||||||
#endif /* HSE_STARTUP_TIMEOUT */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Internal High Speed oscillator (HSI) value.
|
|
||||||
* This value is used by the RCC HAL module to compute the system frequency
|
|
||||||
* (when HSI is used as system clock source, directly or through the PLL).
|
|
||||||
*/
|
|
||||||
#if !defined (HSI_VALUE)
|
|
||||||
#define HSI_VALUE (48000000UL) /*!< Value of the Internal oscillator in Hz*/
|
|
||||||
#endif /* HSI_VALUE */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Internal Low Speed oscillator (LSI) value.
|
|
||||||
*/
|
|
||||||
#if !defined (LSI_VALUE)
|
|
||||||
#define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
|
|
||||||
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
|
|
||||||
The real value may vary depending on the variations
|
|
||||||
in voltage and temperature.*/
|
|
||||||
#if !defined (LSI_STARTUP_TIME)
|
|
||||||
#define LSI_STARTUP_TIME 130UL /*!< Time out for LSI start up, in ms */
|
|
||||||
#endif /* LSI_STARTUP_TIME */
|
|
||||||
/**
|
|
||||||
* @brief External Low Speed oscillator (LSE) value.
|
|
||||||
* This value is used by the UART, RTC HAL module to compute the system frequency
|
|
||||||
*/
|
|
||||||
#if !defined (LSE_VALUE)
|
|
||||||
#define LSE_VALUE (32768UL) /*!< Value of the External oscillator in Hz*/
|
|
||||||
#endif /* LSE_VALUE */
|
|
||||||
|
|
||||||
#if !defined (LSE_STARTUP_TIMEOUT)
|
|
||||||
#define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */
|
|
||||||
#endif /* LSE_STARTUP_TIMEOUT */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief External clock source for I2S1 peripheral
|
|
||||||
* This value is used by the RCC HAL module to compute the I2S1 clock source
|
|
||||||
* frequency.
|
|
||||||
*/
|
|
||||||
#if !defined (EXTERNAL_I2S1_CLOCK_VALUE)
|
|
||||||
#define EXTERNAL_I2S1_CLOCK_VALUE (12288000UL) /*!< Value of the I2S1 External clock source in Hz*/
|
|
||||||
#endif /* EXTERNAL_I2S1_CLOCK_VALUE */
|
|
||||||
|
|
||||||
/* Tip: To avoid modifying this file each time you need to use different HSE,
|
|
||||||
=== you can define the HSE value in your toolchain compiler preprocessor. */
|
|
||||||
|
|
||||||
/* ########################### System Configuration ######################### */
|
|
||||||
/**
|
|
||||||
* @brief This is the HAL system configuration section
|
|
||||||
*/
|
|
||||||
#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */
|
|
||||||
#define TICK_INT_PRIORITY 3U /*!< tick interrupt priority */
|
|
||||||
#define USE_RTOS 0U
|
|
||||||
#define PREFETCH_ENABLE 0U
|
|
||||||
#define INSTRUCTION_CACHE_ENABLE 1U
|
|
||||||
|
|
||||||
/* ########################## Assert Selection ############################## */
|
|
||||||
/**
|
|
||||||
* @brief Uncomment the line below to expanse the "assert_param" macro in the
|
|
||||||
* HAL drivers code
|
|
||||||
*/
|
|
||||||
/* #define USE_FULL_ASSERT 1U */
|
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
|
||||||
/**
|
|
||||||
* @brief Include modules header file
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAL_RCC_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_rcc.h"
|
|
||||||
#endif /* HAL_RCC_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_GPIO_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_gpio.h"
|
|
||||||
#endif /* HAL_GPIO_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_DMA_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_dma.h"
|
|
||||||
#endif /* HAL_DMA_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_CORTEX_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_cortex.h"
|
|
||||||
#endif /* HAL_CORTEX_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_ADC_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_adc.h"
|
|
||||||
#include "stm32c0xx_hal_adc_ex.h"
|
|
||||||
#endif /* HAL_ADC_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_CRC_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_crc.h"
|
|
||||||
#endif /* HAL_CRC_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_EXTI_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_exti.h"
|
|
||||||
#endif /* HAL_EXTI_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_FLASH_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_flash.h"
|
|
||||||
#endif /* HAL_FLASH_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_I2C_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_i2c.h"
|
|
||||||
#endif /* HAL_I2C_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_I2S_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_i2s.h"
|
|
||||||
#endif /* HAL_I2S_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_IRDA_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_irda.h"
|
|
||||||
#endif /* HAL_IRDA_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_IWDG_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_iwdg.h"
|
|
||||||
#endif /* HAL_IWDG_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_PWR_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_pwr.h"
|
|
||||||
#endif /* HAL_PWR_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_RTC_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_rtc.h"
|
|
||||||
#endif /* HAL_RTC_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_SMARTCARD_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_smartcard.h"
|
|
||||||
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_SMBUS_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_smbus.h"
|
|
||||||
#endif /* HAL_SMBUS_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_SPI_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_spi.h"
|
|
||||||
#endif /* HAL_SPI_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_TIM_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_tim.h"
|
|
||||||
#endif /* HAL_TIM_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_UART_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_uart.h"
|
|
||||||
#endif /* HAL_UART_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_USART_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_usart.h"
|
|
||||||
#endif /* HAL_USART_MODULE_ENABLED */
|
|
||||||
|
|
||||||
#ifdef HAL_WWDG_MODULE_ENABLED
|
|
||||||
#include "stm32c0xx_hal_wwdg.h"
|
|
||||||
#endif /* HAL_WWDG_MODULE_ENABLED */
|
|
||||||
|
|
||||||
/* Exported macro ------------------------------------------------------------*/
|
|
||||||
#ifdef USE_FULL_ASSERT
|
|
||||||
/**
|
|
||||||
* @brief The assert_param macro is used for functions parameters check.
|
|
||||||
* @param expr If expr is false, it calls assert_failed function
|
|
||||||
* which reports the name of the source file and the source
|
|
||||||
* line number of the call that failed.
|
|
||||||
* If expr is true, it returns no value.
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
|
|
||||||
/* Exported functions ------------------------------------------------------- */
|
|
||||||
void assert_failed(uint8_t *file, uint32_t line);
|
|
||||||
#else
|
|
||||||
#define assert_param(expr) ((void)0U)
|
|
||||||
#endif /* USE_FULL_ASSERT */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* STM32C0xx_HAL_CONF_H */
|
|
||||||
|
|
||||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
/* USER CODE BEGIN Header */
|
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file stm32c0xx_it.h
|
|
||||||
* @brief This file contains the headers of the interrupt handlers.
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2025 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
/* USER CODE END Header */
|
|
||||||
|
|
||||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
||||||
#ifndef __STM32C0xx_IT_H
|
|
||||||
#define __STM32C0xx_IT_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN Includes */
|
|
||||||
|
|
||||||
/* USER CODE END Includes */
|
|
||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN ET */
|
|
||||||
|
|
||||||
/* USER CODE END ET */
|
|
||||||
|
|
||||||
/* Exported constants --------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN EC */
|
|
||||||
|
|
||||||
/* USER CODE END EC */
|
|
||||||
|
|
||||||
/* Exported macro ------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN EM */
|
|
||||||
|
|
||||||
/* USER CODE END EM */
|
|
||||||
|
|
||||||
/* Exported functions prototypes ---------------------------------------------*/
|
|
||||||
void NMI_Handler(void);
|
|
||||||
void HardFault_Handler(void);
|
|
||||||
void SVC_Handler(void);
|
|
||||||
void PendSV_Handler(void);
|
|
||||||
void SysTick_Handler(void);
|
|
||||||
void EXTI4_15_IRQHandler(void);
|
|
||||||
void DMA1_Channel1_IRQHandler(void);
|
|
||||||
void DMA1_Channel2_3_IRQHandler(void);
|
|
||||||
void TIM14_IRQHandler(void);
|
|
||||||
void TIM16_IRQHandler(void);
|
|
||||||
void TIM17_IRQHandler(void);
|
|
||||||
void USART2_IRQHandler(void);
|
|
||||||
/* USER CODE BEGIN EFP */
|
|
||||||
|
|
||||||
/* USER CODE END EFP */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __STM32C0xx_IT_H */
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* crc.c
|
|
||||||
*
|
|
||||||
* Created on: 19 Dec 2025
|
|
||||||
* Author: janik
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "crc.h"
|
|
||||||
|
|
||||||
void CRC8_107_add(CRC8_107 *ctx, uint8_t data)
|
|
||||||
{
|
|
||||||
ctx->crc ^= ((uint32_t)data << 8);
|
|
||||||
for (size_t bit_n = 0; bit_n < 8; bit_n++) {
|
|
||||||
if (ctx->crc & 0x8000u) {
|
|
||||||
ctx->crc ^= ((uint32_t)0x1070u << 3); // same as 0x8380
|
|
||||||
}
|
|
||||||
ctx->crc <<= 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t CRC8_107_getChecksum(const CRC8_107 *ctx)
|
|
||||||
{
|
|
||||||
return (uint8_t)(ctx->crc >> 8);
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,565 +0,0 @@
|
|||||||
/* USER CODE BEGIN Header */
|
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file stm32c0xx_hal_msp.c
|
|
||||||
* @brief This file provides code for the MSP Initialization
|
|
||||||
* and de-Initialization codes.
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2025 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
/* USER CODE END Header */
|
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
|
||||||
#include "main.h"
|
|
||||||
/* USER CODE BEGIN Includes */
|
|
||||||
|
|
||||||
/* USER CODE END Includes */
|
|
||||||
extern DMA_HandleTypeDef hdma_usart2_rx;
|
|
||||||
|
|
||||||
extern DMA_HandleTypeDef hdma_usart2_tx;
|
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN TD */
|
|
||||||
|
|
||||||
/* USER CODE END TD */
|
|
||||||
|
|
||||||
/* Private define ------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN Define */
|
|
||||||
|
|
||||||
/* USER CODE END Define */
|
|
||||||
|
|
||||||
/* Private macro -------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN Macro */
|
|
||||||
|
|
||||||
/* USER CODE END Macro */
|
|
||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN PV */
|
|
||||||
|
|
||||||
/* USER CODE END PV */
|
|
||||||
|
|
||||||
/* Private function prototypes -----------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN PFP */
|
|
||||||
|
|
||||||
/* USER CODE END PFP */
|
|
||||||
|
|
||||||
/* External functions --------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN ExternalFunctions */
|
|
||||||
|
|
||||||
/* USER CODE END ExternalFunctions */
|
|
||||||
|
|
||||||
/* USER CODE BEGIN 0 */
|
|
||||||
|
|
||||||
/* USER CODE END 0 */
|
|
||||||
|
|
||||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
|
|
||||||
/**
|
|
||||||
* Initializes the Global MSP.
|
|
||||||
*/
|
|
||||||
void HAL_MspInit(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
/* USER CODE BEGIN MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END MspInit 0 */
|
|
||||||
|
|
||||||
__HAL_RCC_SYSCFG_CLK_ENABLE();
|
|
||||||
__HAL_RCC_PWR_CLK_ENABLE();
|
|
||||||
|
|
||||||
/* System interrupt init*/
|
|
||||||
|
|
||||||
/* USER CODE BEGIN MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END MspInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief ADC MSP Initialization
|
|
||||||
* This function configures the hardware resources used in this example
|
|
||||||
* @param hadc: ADC handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
|
|
||||||
{
|
|
||||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
||||||
RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
|
|
||||||
if(hadc->Instance==ADC1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN ADC1_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END ADC1_MspInit 0 */
|
|
||||||
|
|
||||||
/** Initializes the peripherals clocks
|
|
||||||
*/
|
|
||||||
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
|
|
||||||
PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK;
|
|
||||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
|
|
||||||
{
|
|
||||||
Error_Handler();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_ADC_CLK_ENABLE();
|
|
||||||
|
|
||||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
||||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
|
||||||
/**ADC1 GPIO Configuration
|
|
||||||
PA7 ------> ADC1_IN7
|
|
||||||
PB12 ------> ADC1_IN22
|
|
||||||
*/
|
|
||||||
GPIO_InitStruct.Pin = IPROP_PEEL_Pin;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
HAL_GPIO_Init(IPROP_PEEL_GPIO_Port, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = IPROP_DRIVE_Pin;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
HAL_GPIO_Init(IPROP_DRIVE_GPIO_Port, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN ADC1_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END ADC1_MspInit 1 */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief ADC MSP De-Initialization
|
|
||||||
* This function freeze the hardware resources used in this example
|
|
||||||
* @param hadc: ADC handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
|
|
||||||
{
|
|
||||||
if(hadc->Instance==ADC1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN ADC1_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END ADC1_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_ADC_CLK_DISABLE();
|
|
||||||
|
|
||||||
/**ADC1 GPIO Configuration
|
|
||||||
PA7 ------> ADC1_IN7
|
|
||||||
PB12 ------> ADC1_IN22
|
|
||||||
*/
|
|
||||||
HAL_GPIO_DeInit(IPROP_PEEL_GPIO_Port, IPROP_PEEL_Pin);
|
|
||||||
|
|
||||||
HAL_GPIO_DeInit(IPROP_DRIVE_GPIO_Port, IPROP_DRIVE_Pin);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN ADC1_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END ADC1_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief TIM_Base MSP Initialization
|
|
||||||
* This function configures the hardware resources used in this example
|
|
||||||
* @param htim_base: TIM_Base handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
|
|
||||||
{
|
|
||||||
if(htim_base->Instance==TIM1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM1_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM1_MspInit 0 */
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_TIM1_CLK_ENABLE();
|
|
||||||
/* USER CODE BEGIN TIM1_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM1_MspInit 1 */
|
|
||||||
}
|
|
||||||
else if(htim_base->Instance==TIM14)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM14_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM14_MspInit 0 */
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_TIM14_CLK_ENABLE();
|
|
||||||
/* TIM14 interrupt Init */
|
|
||||||
HAL_NVIC_SetPriority(TIM14_IRQn, 0, 0);
|
|
||||||
HAL_NVIC_EnableIRQ(TIM14_IRQn);
|
|
||||||
/* USER CODE BEGIN TIM14_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM14_MspInit 1 */
|
|
||||||
}
|
|
||||||
else if(htim_base->Instance==TIM16)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM16_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM16_MspInit 0 */
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_TIM16_CLK_ENABLE();
|
|
||||||
/* TIM16 interrupt Init */
|
|
||||||
HAL_NVIC_SetPriority(TIM16_IRQn, 0, 0);
|
|
||||||
HAL_NVIC_EnableIRQ(TIM16_IRQn);
|
|
||||||
/* USER CODE BEGIN TIM16_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM16_MspInit 1 */
|
|
||||||
}
|
|
||||||
else if(htim_base->Instance==TIM17)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM17_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM17_MspInit 0 */
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_TIM17_CLK_ENABLE();
|
|
||||||
/* TIM17 interrupt Init */
|
|
||||||
HAL_NVIC_SetPriority(TIM17_IRQn, 0, 0);
|
|
||||||
HAL_NVIC_EnableIRQ(TIM17_IRQn);
|
|
||||||
/* USER CODE BEGIN TIM17_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM17_MspInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief TIM_Encoder MSP Initialization
|
|
||||||
* This function configures the hardware resources used in this example
|
|
||||||
* @param htim_encoder: TIM_Encoder handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder)
|
|
||||||
{
|
|
||||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
||||||
if(htim_encoder->Instance==TIM3)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM3_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM3_MspInit 0 */
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_TIM3_CLK_ENABLE();
|
|
||||||
|
|
||||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
|
||||||
/**TIM3 GPIO Configuration
|
|
||||||
PC6 ------> TIM3_CH1
|
|
||||||
PC7 ------> TIM3_CH2
|
|
||||||
*/
|
|
||||||
GPIO_InitStruct.Pin = QUAD_A_Pin|QUAD_B_Pin;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
|
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN TIM3_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM3_MspInit 1 */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
|
|
||||||
{
|
|
||||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
||||||
if(htim->Instance==TIM1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM1_MspPostInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM1_MspPostInit 0 */
|
|
||||||
|
|
||||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
||||||
/**TIM1 GPIO Configuration
|
|
||||||
PA2 ------> TIM1_CH3
|
|
||||||
PA3 ------> TIM1_CH4
|
|
||||||
PA8 ------> TIM1_CH1
|
|
||||||
PA9 ------> TIM1_CH2
|
|
||||||
*/
|
|
||||||
GPIO_InitStruct.Pin = PEEL1_Pin|PEEL2_Pin;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF5_TIM1;
|
|
||||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = DRIVE1_Pin|DRIVE2_Pin;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF2_TIM1;
|
|
||||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN TIM1_MspPostInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM1_MspPostInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @brief TIM_Base MSP De-Initialization
|
|
||||||
* This function freeze the hardware resources used in this example
|
|
||||||
* @param htim_base: TIM_Base handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
|
|
||||||
{
|
|
||||||
if(htim_base->Instance==TIM1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM1_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM1_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_TIM1_CLK_DISABLE();
|
|
||||||
/* USER CODE BEGIN TIM1_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM1_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
else if(htim_base->Instance==TIM14)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM14_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM14_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_TIM14_CLK_DISABLE();
|
|
||||||
|
|
||||||
/* TIM14 interrupt DeInit */
|
|
||||||
HAL_NVIC_DisableIRQ(TIM14_IRQn);
|
|
||||||
/* USER CODE BEGIN TIM14_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM14_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
else if(htim_base->Instance==TIM16)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM16_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM16_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_TIM16_CLK_DISABLE();
|
|
||||||
|
|
||||||
/* TIM16 interrupt DeInit */
|
|
||||||
HAL_NVIC_DisableIRQ(TIM16_IRQn);
|
|
||||||
/* USER CODE BEGIN TIM16_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM16_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
else if(htim_base->Instance==TIM17)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM17_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM17_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_TIM17_CLK_DISABLE();
|
|
||||||
|
|
||||||
/* TIM17 interrupt DeInit */
|
|
||||||
HAL_NVIC_DisableIRQ(TIM17_IRQn);
|
|
||||||
/* USER CODE BEGIN TIM17_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM17_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief TIM_Encoder MSP De-Initialization
|
|
||||||
* This function freeze the hardware resources used in this example
|
|
||||||
* @param htim_encoder: TIM_Encoder handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* htim_encoder)
|
|
||||||
{
|
|
||||||
if(htim_encoder->Instance==TIM3)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM3_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM3_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_TIM3_CLK_DISABLE();
|
|
||||||
|
|
||||||
/**TIM3 GPIO Configuration
|
|
||||||
PC6 ------> TIM3_CH1
|
|
||||||
PC7 ------> TIM3_CH2
|
|
||||||
*/
|
|
||||||
HAL_GPIO_DeInit(GPIOC, QUAD_A_Pin|QUAD_B_Pin);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN TIM3_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM3_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief UART MSP Initialization
|
|
||||||
* This function configures the hardware resources used in this example
|
|
||||||
* @param huart: UART handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
|
||||||
{
|
|
||||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
||||||
RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
|
|
||||||
if(huart->Instance==USART1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN USART1_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END USART1_MspInit 0 */
|
|
||||||
|
|
||||||
/** Initializes the peripherals clocks
|
|
||||||
*/
|
|
||||||
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1;
|
|
||||||
PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1;
|
|
||||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
|
|
||||||
{
|
|
||||||
Error_Handler();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_USART1_CLK_ENABLE();
|
|
||||||
|
|
||||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
|
||||||
/**USART1 GPIO Configuration
|
|
||||||
PB6 ------> USART1_TX
|
|
||||||
PB7 ------> USART1_RX
|
|
||||||
*/
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF0_USART1;
|
|
||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END USART1_MspInit 1 */
|
|
||||||
}
|
|
||||||
else if(huart->Instance==USART2)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN USART2_MspInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END USART2_MspInit 0 */
|
|
||||||
|
|
||||||
/* Peripheral clock enable */
|
|
||||||
__HAL_RCC_USART2_CLK_ENABLE();
|
|
||||||
|
|
||||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
||||||
/**USART2 GPIO Configuration
|
|
||||||
PA1 ------> USART2_DE
|
|
||||||
PA4 ------> USART2_TX
|
|
||||||
PA5 ------> USART2_RX
|
|
||||||
*/
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF1_USART2;
|
|
||||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/* USART2 DMA Init */
|
|
||||||
/* USART2_RX Init */
|
|
||||||
hdma_usart2_rx.Instance = DMA1_Channel2;
|
|
||||||
hdma_usart2_rx.Init.Request = DMA_REQUEST_USART2_RX;
|
|
||||||
hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
|
||||||
hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE;
|
|
||||||
hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE;
|
|
||||||
hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
|
||||||
hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
|
||||||
hdma_usart2_rx.Init.Mode = DMA_NORMAL;
|
|
||||||
hdma_usart2_rx.Init.Priority = DMA_PRIORITY_MEDIUM;
|
|
||||||
if (HAL_DMA_Init(&hdma_usart2_rx) != HAL_OK)
|
|
||||||
{
|
|
||||||
Error_Handler();
|
|
||||||
}
|
|
||||||
|
|
||||||
__HAL_LINKDMA(huart,hdmarx,hdma_usart2_rx);
|
|
||||||
|
|
||||||
/* USART2_TX Init */
|
|
||||||
hdma_usart2_tx.Instance = DMA1_Channel1;
|
|
||||||
hdma_usart2_tx.Init.Request = DMA_REQUEST_USART2_TX;
|
|
||||||
hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
|
||||||
hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
|
||||||
hdma_usart2_tx.Init.MemInc = DMA_MINC_ENABLE;
|
|
||||||
hdma_usart2_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
|
||||||
hdma_usart2_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
|
||||||
hdma_usart2_tx.Init.Mode = DMA_NORMAL;
|
|
||||||
hdma_usart2_tx.Init.Priority = DMA_PRIORITY_HIGH;
|
|
||||||
if (HAL_DMA_Init(&hdma_usart2_tx) != HAL_OK)
|
|
||||||
{
|
|
||||||
Error_Handler();
|
|
||||||
}
|
|
||||||
|
|
||||||
__HAL_LINKDMA(huart,hdmatx,hdma_usart2_tx);
|
|
||||||
|
|
||||||
/* USART2 interrupt Init */
|
|
||||||
HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
|
|
||||||
HAL_NVIC_EnableIRQ(USART2_IRQn);
|
|
||||||
/* USER CODE BEGIN USART2_MspInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END USART2_MspInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief UART MSP De-Initialization
|
|
||||||
* This function freeze the hardware resources used in this example
|
|
||||||
* @param huart: UART handle pointer
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
|
||||||
{
|
|
||||||
if(huart->Instance==USART1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN USART1_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END USART1_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_USART1_CLK_DISABLE();
|
|
||||||
|
|
||||||
/**USART1 GPIO Configuration
|
|
||||||
PB6 ------> USART1_TX
|
|
||||||
PB7 ------> USART1_RX
|
|
||||||
*/
|
|
||||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN USART1_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END USART1_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
else if(huart->Instance==USART2)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN USART2_MspDeInit 0 */
|
|
||||||
|
|
||||||
/* USER CODE END USART2_MspDeInit 0 */
|
|
||||||
/* Peripheral clock disable */
|
|
||||||
__HAL_RCC_USART2_CLK_DISABLE();
|
|
||||||
|
|
||||||
/**USART2 GPIO Configuration
|
|
||||||
PA1 ------> USART2_DE
|
|
||||||
PA4 ------> USART2_TX
|
|
||||||
PA5 ------> USART2_RX
|
|
||||||
*/
|
|
||||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
|
|
||||||
|
|
||||||
/* USART2 DMA DeInit */
|
|
||||||
HAL_DMA_DeInit(huart->hdmarx);
|
|
||||||
HAL_DMA_DeInit(huart->hdmatx);
|
|
||||||
|
|
||||||
/* USART2 interrupt DeInit */
|
|
||||||
HAL_NVIC_DisableIRQ(USART2_IRQn);
|
|
||||||
/* USER CODE BEGIN USART2_MspDeInit 1 */
|
|
||||||
|
|
||||||
/* USER CODE END USART2_MspDeInit 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USER CODE BEGIN 1 */
|
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
|
||||||
@@ -1,249 +0,0 @@
|
|||||||
/* USER CODE BEGIN Header */
|
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file stm32c0xx_it.c
|
|
||||||
* @brief Interrupt Service Routines.
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2025 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
/* USER CODE END Header */
|
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
|
||||||
#include "main.h"
|
|
||||||
#include "stm32c0xx_it.h"
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN Includes */
|
|
||||||
/* USER CODE END Includes */
|
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN TD */
|
|
||||||
|
|
||||||
/* USER CODE END TD */
|
|
||||||
|
|
||||||
/* Private define ------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN PD */
|
|
||||||
|
|
||||||
/* USER CODE END PD */
|
|
||||||
|
|
||||||
/* Private macro -------------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN PM */
|
|
||||||
|
|
||||||
/* USER CODE END PM */
|
|
||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN PV */
|
|
||||||
|
|
||||||
/* USER CODE END PV */
|
|
||||||
|
|
||||||
/* Private function prototypes -----------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN PFP */
|
|
||||||
|
|
||||||
/* USER CODE END PFP */
|
|
||||||
|
|
||||||
/* Private user code ---------------------------------------------------------*/
|
|
||||||
/* USER CODE BEGIN 0 */
|
|
||||||
|
|
||||||
/* USER CODE END 0 */
|
|
||||||
|
|
||||||
/* External variables --------------------------------------------------------*/
|
|
||||||
extern TIM_HandleTypeDef htim14;
|
|
||||||
extern TIM_HandleTypeDef htim16;
|
|
||||||
extern TIM_HandleTypeDef htim17;
|
|
||||||
extern DMA_HandleTypeDef hdma_usart2_rx;
|
|
||||||
extern DMA_HandleTypeDef hdma_usart2_tx;
|
|
||||||
extern UART_HandleTypeDef huart2;
|
|
||||||
/* USER CODE BEGIN EV */
|
|
||||||
|
|
||||||
/* USER CODE END EV */
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
/* Cortex Processor Interruption and Exception Handlers */
|
|
||||||
/******************************************************************************/
|
|
||||||
/**
|
|
||||||
* @brief This function handles Non maskable interrupt.
|
|
||||||
*/
|
|
||||||
void NMI_Handler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END NonMaskableInt_IRQn 0 */
|
|
||||||
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
|
|
||||||
while (1)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
/* USER CODE END NonMaskableInt_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles Hard fault interrupt.
|
|
||||||
*/
|
|
||||||
void HardFault_Handler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN HardFault_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END HardFault_IRQn 0 */
|
|
||||||
while (1)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN W1_HardFault_IRQn 0 */
|
|
||||||
/* USER CODE END W1_HardFault_IRQn 0 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles System service call via SWI instruction.
|
|
||||||
*/
|
|
||||||
void SVC_Handler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN SVCall_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END SVCall_IRQn 0 */
|
|
||||||
/* USER CODE BEGIN SVCall_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END SVCall_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles Pendable request for system service.
|
|
||||||
*/
|
|
||||||
void PendSV_Handler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN PendSV_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END PendSV_IRQn 0 */
|
|
||||||
/* USER CODE BEGIN PendSV_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END PendSV_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles System tick timer.
|
|
||||||
*/
|
|
||||||
void SysTick_Handler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN SysTick_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END SysTick_IRQn 0 */
|
|
||||||
HAL_IncTick();
|
|
||||||
/* USER CODE BEGIN SysTick_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END SysTick_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
/* STM32C0xx Peripheral Interrupt Handlers */
|
|
||||||
/* Add here the Interrupt Handlers for the used peripherals. */
|
|
||||||
/* For the available peripheral interrupt handler names, */
|
|
||||||
/* please refer to the startup file (startup_stm32c0xx.s). */
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles EXTI line 4 to 15 interrupts.
|
|
||||||
*/
|
|
||||||
void EXTI4_15_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN EXTI4_15_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END EXTI4_15_IRQn 0 */
|
|
||||||
HAL_GPIO_EXTI_IRQHandler(SW2_Pin);
|
|
||||||
HAL_GPIO_EXTI_IRQHandler(SW1_Pin);
|
|
||||||
/* USER CODE BEGIN EXTI4_15_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END EXTI4_15_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles DMA1 channel 1 interrupt.
|
|
||||||
*/
|
|
||||||
void DMA1_Channel1_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN DMA1_Channel1_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel1_IRQn 0 */
|
|
||||||
HAL_DMA_IRQHandler(&hdma_usart2_tx);
|
|
||||||
/* USER CODE BEGIN DMA1_Channel1_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel1_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles DMA1 channel 2 and channel 3 interrupts.
|
|
||||||
*/
|
|
||||||
void DMA1_Channel2_3_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel2_3_IRQn 0 */
|
|
||||||
HAL_DMA_IRQHandler(&hdma_usart2_rx);
|
|
||||||
/* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel2_3_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles TIM14 global interrupt.
|
|
||||||
*/
|
|
||||||
void TIM14_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM14_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM14_IRQn 0 */
|
|
||||||
HAL_TIM_IRQHandler(&htim14);
|
|
||||||
/* USER CODE BEGIN TIM14_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM14_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles TIM16 global interrupt.
|
|
||||||
*/
|
|
||||||
void TIM16_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM16_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM16_IRQn 0 */
|
|
||||||
HAL_TIM_IRQHandler(&htim16);
|
|
||||||
/* USER CODE BEGIN TIM16_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM16_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles TIM17 global interrupt.
|
|
||||||
*/
|
|
||||||
void TIM17_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN TIM17_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM17_IRQn 0 */
|
|
||||||
HAL_TIM_IRQHandler(&htim17);
|
|
||||||
/* USER CODE BEGIN TIM17_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END TIM17_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function handles USART2 interrupt.
|
|
||||||
*/
|
|
||||||
void USART2_IRQHandler(void)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN USART2_IRQn 0 */
|
|
||||||
|
|
||||||
/* USER CODE END USART2_IRQn 0 */
|
|
||||||
HAL_UART_IRQHandler(&huart2);
|
|
||||||
/* USER CODE BEGIN USART2_IRQn 1 */
|
|
||||||
|
|
||||||
/* USER CODE END USART2_IRQn 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USER CODE BEGIN 1 */
|
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
|
||||||
@@ -1,176 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file syscalls.c
|
|
||||||
* @author Auto-generated by STM32CubeIDE
|
|
||||||
* @brief STM32CubeIDE Minimal System calls file
|
|
||||||
*
|
|
||||||
* For more information about which c-functions
|
|
||||||
* need which of these lowlevel functions
|
|
||||||
* please consult the Newlib libc-manual
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2020-2025 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Includes */
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <signal.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/times.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* Variables */
|
|
||||||
extern int __io_putchar(int ch) __attribute__((weak));
|
|
||||||
extern int __io_getchar(void) __attribute__((weak));
|
|
||||||
|
|
||||||
|
|
||||||
char *__env[1] = { 0 };
|
|
||||||
char **environ = __env;
|
|
||||||
|
|
||||||
|
|
||||||
/* Functions */
|
|
||||||
void initialise_monitor_handles()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
int _getpid(void)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _kill(int pid, int sig)
|
|
||||||
{
|
|
||||||
(void)pid;
|
|
||||||
(void)sig;
|
|
||||||
errno = EINVAL;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _exit (int status)
|
|
||||||
{
|
|
||||||
_kill(status, -1);
|
|
||||||
while (1) {} /* Make sure we hang here */
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__((weak)) int _read(int file, char *ptr, int len)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
int DataIdx;
|
|
||||||
|
|
||||||
for (DataIdx = 0; DataIdx < len; DataIdx++)
|
|
||||||
{
|
|
||||||
*ptr++ = __io_getchar();
|
|
||||||
}
|
|
||||||
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__((weak)) int _write(int file, char *ptr, int len)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
int DataIdx;
|
|
||||||
|
|
||||||
for (DataIdx = 0; DataIdx < len; DataIdx++)
|
|
||||||
{
|
|
||||||
__io_putchar(*ptr++);
|
|
||||||
}
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _close(int file)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int _fstat(int file, struct stat *st)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
st->st_mode = S_IFCHR;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _isatty(int file)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _lseek(int file, int ptr, int dir)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
(void)ptr;
|
|
||||||
(void)dir;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _open(char *path, int flags, ...)
|
|
||||||
{
|
|
||||||
(void)path;
|
|
||||||
(void)flags;
|
|
||||||
/* Pretend like we always fail */
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _wait(int *status)
|
|
||||||
{
|
|
||||||
(void)status;
|
|
||||||
errno = ECHILD;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _unlink(char *name)
|
|
||||||
{
|
|
||||||
(void)name;
|
|
||||||
errno = ENOENT;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _times(struct tms *buf)
|
|
||||||
{
|
|
||||||
(void)buf;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _stat(char *file, struct stat *st)
|
|
||||||
{
|
|
||||||
(void)file;
|
|
||||||
st->st_mode = S_IFCHR;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _link(char *old, char *new)
|
|
||||||
{
|
|
||||||
(void)old;
|
|
||||||
(void)new;
|
|
||||||
errno = EMLINK;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _fork(void)
|
|
||||||
{
|
|
||||||
errno = EAGAIN;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int _execve(char *name, char **argv, char **env)
|
|
||||||
{
|
|
||||||
(void)name;
|
|
||||||
(void)argv;
|
|
||||||
(void)env;
|
|
||||||
errno = ENOMEM;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file sysmem.c
|
|
||||||
* @author Generated by STM32CubeIDE
|
|
||||||
* @brief STM32CubeIDE System Memory calls file
|
|
||||||
*
|
|
||||||
* For more information about which C functions
|
|
||||||
* need which of these lowlevel functions
|
|
||||||
* please consult the newlib libc manual
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2025 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Includes */
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pointer to the current high watermark of the heap usage
|
|
||||||
*/
|
|
||||||
static uint8_t *__sbrk_heap_end = NULL;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief _sbrk() allocates memory to the newlib heap and is used by malloc
|
|
||||||
* and others from the C library
|
|
||||||
*
|
|
||||||
* @verbatim
|
|
||||||
* ############################################################################
|
|
||||||
* # .data # .bss # newlib heap # MSP stack #
|
|
||||||
* # # # # Reserved by _Min_Stack_Size #
|
|
||||||
* ############################################################################
|
|
||||||
* ^-- RAM start ^-- _end _estack, RAM end --^
|
|
||||||
* @endverbatim
|
|
||||||
*
|
|
||||||
* This implementation starts allocating at the '_end' linker symbol
|
|
||||||
* The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
|
|
||||||
* The implementation considers '_estack' linker symbol to be RAM end
|
|
||||||
* NOTE: If the MSP stack, at any point during execution, grows larger than the
|
|
||||||
* reserved size, please increase the '_Min_Stack_Size'.
|
|
||||||
*
|
|
||||||
* @param incr Memory size
|
|
||||||
* @return Pointer to allocated memory
|
|
||||||
*/
|
|
||||||
void *_sbrk(ptrdiff_t incr)
|
|
||||||
{
|
|
||||||
extern uint8_t _end; /* Symbol defined in the linker script */
|
|
||||||
extern uint8_t _estack; /* Symbol defined in the linker script */
|
|
||||||
extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
|
|
||||||
const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
|
|
||||||
const uint8_t *max_heap = (uint8_t *)stack_limit;
|
|
||||||
uint8_t *prev_heap_end;
|
|
||||||
|
|
||||||
/* Initialize heap end at first call */
|
|
||||||
if (NULL == __sbrk_heap_end)
|
|
||||||
{
|
|
||||||
__sbrk_heap_end = &_end;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Protect heap from growing into the reserved MSP stack */
|
|
||||||
if (__sbrk_heap_end + incr > max_heap)
|
|
||||||
{
|
|
||||||
errno = ENOMEM;
|
|
||||||
return (void *)-1;
|
|
||||||
}
|
|
||||||
|
|
||||||
prev_heap_end = __sbrk_heap_end;
|
|
||||||
__sbrk_heap_end += incr;
|
|
||||||
|
|
||||||
return (void *)prev_heap_end;
|
|
||||||
}
|
|
||||||
@@ -1,246 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file system_stm32c0xx.c
|
|
||||||
* @author MCD Application Team
|
|
||||||
* @brief CMSIS Cortex-M0+ Device Peripheral Access Layer System Source File
|
|
||||||
*
|
|
||||||
* This file provides two functions and one global variable to be called from
|
|
||||||
* user application:
|
|
||||||
* - SystemInit(): This function is called at startup just after reset and
|
|
||||||
* before branch to main program. This call is made inside
|
|
||||||
* the "startup_stm32c0xx.s" file.
|
|
||||||
*
|
|
||||||
* - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
|
|
||||||
* by the user application to setup the SysTick
|
|
||||||
* timer or configure other parameters.
|
|
||||||
*
|
|
||||||
* - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
|
|
||||||
* be called whenever the core clock is changed
|
|
||||||
* during program execution.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2022 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup CMSIS
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup stm32c0xx_system
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_Includes
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "stm32c0xx.h"
|
|
||||||
|
|
||||||
#if !defined (HSE_VALUE)
|
|
||||||
#define HSE_VALUE (48000000UL) /*!< Value of the External oscillator in Hz */
|
|
||||||
#endif /* HSE_VALUE */
|
|
||||||
|
|
||||||
#if !defined (HSI_VALUE)
|
|
||||||
#define HSI_VALUE (48000000UL) /*!< Value of the Internal oscillator in Hz*/
|
|
||||||
#endif /* HSI_VALUE */
|
|
||||||
|
|
||||||
#if !defined (LSI_VALUE)
|
|
||||||
#define LSI_VALUE (32000UL) /*!< Value of LSI in Hz*/
|
|
||||||
#endif /* LSI_VALUE */
|
|
||||||
|
|
||||||
#if !defined (LSE_VALUE)
|
|
||||||
#define LSE_VALUE (32768UL) /*!< Value of LSE in Hz*/
|
|
||||||
#endif /* LSE_VALUE */
|
|
||||||
|
|
||||||
#if defined(RCC_HSI48_SUPPORT)
|
|
||||||
#if !defined (HSI48_VALUE)
|
|
||||||
#define HSI48_VALUE 48000000U /*!< Value of the HSI48 oscillator in Hz */
|
|
||||||
#endif /* HSI48_VALUE */
|
|
||||||
#endif /* RCC_HSI48_SUPPORT */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_TypesDefinitions
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_Defines
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/************************* Miscellaneous Configuration ************************/
|
|
||||||
/*!< Uncomment the following line if you need to relocate your vector Table in
|
|
||||||
Internal SRAM. */
|
|
||||||
//#define VECT_TAB_SRAM
|
|
||||||
#define VECT_TAB_OFFSET 0x0U /*!< Vector Table base offset field.
|
|
||||||
This value must be a multiple of 0x100. */
|
|
||||||
/******************************************************************************/
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_Macros
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_Variables
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
/* The SystemCoreClock variable is updated in three ways:
|
|
||||||
1) by calling CMSIS function SystemCoreClockUpdate()
|
|
||||||
2) by calling HAL API function HAL_RCC_GetHCLKFreq()
|
|
||||||
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
|
|
||||||
Note: If you use this function to configure the system clock; then there
|
|
||||||
is no need to call the 2 first functions listed above, since SystemCoreClock
|
|
||||||
variable is updated automatically.
|
|
||||||
*/
|
|
||||||
uint32_t SystemCoreClock = 12000000UL;
|
|
||||||
|
|
||||||
const uint32_t AHBPrescTable[16UL] = {0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL, 6UL, 7UL, 8UL, 9UL};
|
|
||||||
const uint32_t APBPrescTable[8UL] = {0UL, 0UL, 0UL, 0UL, 1UL, 2UL, 3UL, 4UL};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_FunctionPrototypes
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @addtogroup STM32C0xx_System_Private_Functions
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Setup the microcontroller system.
|
|
||||||
* @param None
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void SystemInit(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
/* Configure the Vector Table location add offset address ------------------*/
|
|
||||||
#ifdef VECT_TAB_SRAM
|
|
||||||
SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
|
|
||||||
#else
|
|
||||||
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Update SystemCoreClock variable according to Clock Register Values.
|
|
||||||
* The SystemCoreClock variable contains the core clock (HCLK), it can
|
|
||||||
* be used by the user application to setup the SysTick timer or configure
|
|
||||||
* other parameters.
|
|
||||||
*
|
|
||||||
* @note Each time the core clock (HCLK) changes, this function must be called
|
|
||||||
* to update SystemCoreClock variable value. Otherwise, any configuration
|
|
||||||
* based on this variable will be incorrect.
|
|
||||||
*
|
|
||||||
* @note - The system frequency computed by this function is not the real
|
|
||||||
* frequency in the chip. It is calculated based on the predefined
|
|
||||||
* constant and the selected clock source:
|
|
||||||
*
|
|
||||||
* - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**) / HSI division factor
|
|
||||||
*
|
|
||||||
* - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
|
|
||||||
*
|
|
||||||
* - If SYSCLK source is LSI, SystemCoreClock will contain the LSI_VALUE
|
|
||||||
*
|
|
||||||
* - If SYSCLK source is LSE, SystemCoreClock will contain the LSE_VALUE
|
|
||||||
*
|
|
||||||
* (**) HSI_VALUE is a constant defined in stm32c0xx_hal_conf.h file (default value
|
|
||||||
* 48 MHz) but the real value may vary depending on the variations
|
|
||||||
* in voltage and temperature.
|
|
||||||
*
|
|
||||||
* (***) HSE_VALUE is a constant defined in stm32c0xx_hal_conf.h file (default value
|
|
||||||
* 48 MHz), user has to ensure that HSE_VALUE is same as the real
|
|
||||||
* frequency of the crystal used. Otherwise, this function may
|
|
||||||
* have wrong result.
|
|
||||||
*
|
|
||||||
* - The result of this function could be not correct when using fractional
|
|
||||||
* value for HSE crystal.
|
|
||||||
*
|
|
||||||
* @param None
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void SystemCoreClockUpdate(void)
|
|
||||||
{
|
|
||||||
uint32_t tmp;
|
|
||||||
uint32_t hsidiv;
|
|
||||||
uint32_t sysdiv;
|
|
||||||
#if defined(RCC_CR_SYSDIV)
|
|
||||||
sysdiv = (uint32_t)(((RCC->CR & RCC_CR_SYSDIV) >> RCC_CR_SYSDIV_Pos) + 1U);
|
|
||||||
#else
|
|
||||||
sysdiv = 1U;
|
|
||||||
#endif /* RCC_CR_SYSDIV */
|
|
||||||
|
|
||||||
/* Get SYSCLK source -------------------------------------------------------*/
|
|
||||||
switch (RCC->CFGR & RCC_CFGR_SWS)
|
|
||||||
{
|
|
||||||
case RCC_CFGR_SWS_0: /* HSE used as system clock */
|
|
||||||
SystemCoreClock = (HSE_VALUE / sysdiv);
|
|
||||||
break;
|
|
||||||
|
|
||||||
#if defined(RCC_HSI48_SUPPORT)
|
|
||||||
case RCC_CFGR_SW_1: /* HSI48 used as system clock */
|
|
||||||
SystemCoreClock = (HSI48_VALUE / sysdiv);
|
|
||||||
break;
|
|
||||||
#endif /* RCC_HSI48_SUPPORT */
|
|
||||||
|
|
||||||
case (RCC_CFGR_SWS_1 | RCC_CFGR_SWS_0): /* LSI used as system clock */
|
|
||||||
SystemCoreClock = (LSI_VALUE / sysdiv);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RCC_CFGR_SWS_2: /* LSE used as system clock */
|
|
||||||
SystemCoreClock = (LSE_VALUE / sysdiv);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0x00000000U: /* HSI used as system clock */
|
|
||||||
default: /* HSI used as system clock */
|
|
||||||
hsidiv = (1UL << ((READ_BIT(RCC->CR, RCC_CR_HSIDIV))>> RCC_CR_HSIDIV_Pos));
|
|
||||||
SystemCoreClock = ((HSI_VALUE / sysdiv) / hsidiv);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* Compute HCLK clock frequency --------------------------------------------*/
|
|
||||||
/* Get HCLK prescaler */
|
|
||||||
tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos)];
|
|
||||||
/* HCLK clock frequency */
|
|
||||||
SystemCoreClock >>= tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
@@ -1,268 +0,0 @@
|
|||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file startup_stm32c051xx.s
|
|
||||||
* @author MCD Application Team
|
|
||||||
* @brief STM32C051xx devices vector table GCC toolchain.
|
|
||||||
* This module performs:
|
|
||||||
* - Set the initial SP
|
|
||||||
* - Set the initial PC == Reset_Handler,
|
|
||||||
* - Set the vector table entries with the exceptions ISR address,
|
|
||||||
* - Configure the clock system
|
|
||||||
* - Branches to main in the C library (which eventually
|
|
||||||
* calls main()).
|
|
||||||
* After Reset the Cortex-M0+ processor is in Thread mode,
|
|
||||||
* priority is Privileged, and the Stack is set to Main.
|
|
||||||
*******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* Copyright (c) 2022 STMicroelectronics.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under terms that can be found in the LICENSE file
|
|
||||||
* in the root directory of this software component.
|
|
||||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
||||||
*
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
.cpu cortex-m0plus
|
|
||||||
.fpu softvfp
|
|
||||||
.thumb
|
|
||||||
|
|
||||||
.global g_pfnVectors
|
|
||||||
.global Default_Handler
|
|
||||||
|
|
||||||
/* start address for the initialization values of the .data section.
|
|
||||||
defined in linker script */
|
|
||||||
.word _sidata
|
|
||||||
/* start address for the .data section. defined in linker script */
|
|
||||||
.word _sdata
|
|
||||||
/* end address for the .data section. defined in linker script */
|
|
||||||
.word _edata
|
|
||||||
/* start address for the .bss section. defined in linker script */
|
|
||||||
.word _sbss
|
|
||||||
/* end address for the .bss section. defined in linker script */
|
|
||||||
.word _ebss
|
|
||||||
|
|
||||||
.section .text.Reset_Handler
|
|
||||||
.weak Reset_Handler
|
|
||||||
.type Reset_Handler, %function
|
|
||||||
Reset_Handler:
|
|
||||||
ldr r0, =_estack
|
|
||||||
mov sp, r0 /* set stack pointer */
|
|
||||||
/* Call the clock system initialization function.*/
|
|
||||||
bl SystemInit
|
|
||||||
|
|
||||||
/* Copy the data segment initializers from flash to SRAM */
|
|
||||||
movs r1, #0
|
|
||||||
b LoopCopyDataInit
|
|
||||||
|
|
||||||
CopyDataInit:
|
|
||||||
ldr r3, =_sidata
|
|
||||||
ldr r3, [r3, r1]
|
|
||||||
str r3, [r0, r1]
|
|
||||||
adds r1, r1, #4
|
|
||||||
|
|
||||||
LoopCopyDataInit:
|
|
||||||
ldr r0, =_sdata
|
|
||||||
ldr r3, =_edata
|
|
||||||
adds r2, r0, r1
|
|
||||||
cmp r2, r3
|
|
||||||
bcc CopyDataInit
|
|
||||||
ldr r2, =_sbss
|
|
||||||
b LoopFillZerobss
|
|
||||||
/* Zero fill the bss segment. */
|
|
||||||
FillZerobss:
|
|
||||||
movs r3, #0
|
|
||||||
str r3, [r2]
|
|
||||||
adds r2, r2, #4
|
|
||||||
|
|
||||||
|
|
||||||
LoopFillZerobss:
|
|
||||||
ldr r3, = _ebss
|
|
||||||
cmp r2, r3
|
|
||||||
bcc FillZerobss
|
|
||||||
|
|
||||||
|
|
||||||
/* Call static constructors */
|
|
||||||
bl __libc_init_array
|
|
||||||
/* Call the application's entry point.*/
|
|
||||||
bl main
|
|
||||||
|
|
||||||
LoopForever:
|
|
||||||
b LoopForever
|
|
||||||
|
|
||||||
|
|
||||||
.size Reset_Handler, .-Reset_Handler
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This is the code that gets called when the processor receives an
|
|
||||||
* unexpected interrupt. This simply enters an infinite loop, preserving
|
|
||||||
* the system state for examination by a debugger.
|
|
||||||
*
|
|
||||||
* @param None
|
|
||||||
* @retval : None
|
|
||||||
*/
|
|
||||||
.section .text.Default_Handler,"ax",%progbits
|
|
||||||
Default_Handler:
|
|
||||||
Infinite_Loop:
|
|
||||||
b Infinite_Loop
|
|
||||||
.size Default_Handler, .-Default_Handler
|
|
||||||
/******************************************************************************
|
|
||||||
*
|
|
||||||
* The minimal vector table for a Cortex M0. Note that the proper constructs
|
|
||||||
* must be placed on this to ensure that it ends up at physical address
|
|
||||||
* 0x0000.0000.
|
|
||||||
*
|
|
||||||
******************************************************************************/
|
|
||||||
.section .isr_vector,"a",%progbits
|
|
||||||
.type g_pfnVectors, %object
|
|
||||||
|
|
||||||
|
|
||||||
g_pfnVectors:
|
|
||||||
.word _estack
|
|
||||||
.word Reset_Handler
|
|
||||||
.word NMI_Handler
|
|
||||||
.word HardFault_Handler
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word SVC_Handler
|
|
||||||
.word 0
|
|
||||||
.word 0
|
|
||||||
.word PendSV_Handler
|
|
||||||
.word SysTick_Handler
|
|
||||||
.word WWDG_IRQHandler /* Window WatchDog */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word RTC_IRQHandler /* RTC through the EXTI line */
|
|
||||||
.word FLASH_IRQHandler /* FLASH */
|
|
||||||
.word RCC_IRQHandler /* RCC */
|
|
||||||
.word EXTI0_1_IRQHandler /* EXTI Line 0 and 1 */
|
|
||||||
.word EXTI2_3_IRQHandler /* EXTI Line 2 and 3 */
|
|
||||||
.word EXTI4_15_IRQHandler /* EXTI Line 4 to 15 */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word DMA1_Channel1_IRQHandler /* DMA1 Channel 1 */
|
|
||||||
.word DMA1_Channel2_3_IRQHandler /* DMA1 Channel 2 and Channel 3 */
|
|
||||||
.word DMAMUX1_DMA1_CH4_5_IRQHandler /* DMAMUX1, DMA1 Channel 4 and 5 */
|
|
||||||
.word ADC1_IRQHandler /* ADC1 */
|
|
||||||
.word TIM1_BRK_UP_TRG_COM_IRQHandler /* TIM1 Break, Update, Trigger and Commutation */
|
|
||||||
.word TIM1_CC_IRQHandler /* TIM1 Capture Compare */
|
|
||||||
.word TIM2_IRQHandler /* TIM2 */
|
|
||||||
.word TIM3_IRQHandler /* TIM3 */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word TIM14_IRQHandler /* TIM14 */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word TIM16_IRQHandler /* TIM16 */
|
|
||||||
.word TIM17_IRQHandler /* TIM17 */
|
|
||||||
.word I2C1_IRQHandler /* I2C1 */
|
|
||||||
.word I2C2_IRQHandler /* I2C1 */
|
|
||||||
.word SPI1_IRQHandler /* SPI1 */
|
|
||||||
.word SPI2_IRQHandler /* SPI1 */
|
|
||||||
.word USART1_IRQHandler /* USART1 */
|
|
||||||
.word USART2_IRQHandler /* USART2 */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
.word 0 /* reserved */
|
|
||||||
|
|
||||||
.size g_pfnVectors, .-g_pfnVectors
|
|
||||||
/*******************************************************************************
|
|
||||||
*
|
|
||||||
* Provide weak aliases for each Exception handler to the Default_Handler.
|
|
||||||
* As they are weak aliases, any function with the same name will override
|
|
||||||
* this definition.
|
|
||||||
*
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
.weak NMI_Handler
|
|
||||||
.thumb_set NMI_Handler,Default_Handler
|
|
||||||
|
|
||||||
.weak HardFault_Handler
|
|
||||||
.thumb_set HardFault_Handler,Default_Handler
|
|
||||||
|
|
||||||
.weak SVC_Handler
|
|
||||||
.thumb_set SVC_Handler,Default_Handler
|
|
||||||
|
|
||||||
.weak PendSV_Handler
|
|
||||||
.thumb_set PendSV_Handler,Default_Handler
|
|
||||||
|
|
||||||
.weak SysTick_Handler
|
|
||||||
.thumb_set SysTick_Handler,Default_Handler
|
|
||||||
|
|
||||||
.weak WWDG_IRQHandler
|
|
||||||
.thumb_set WWDG_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak RTC_IRQHandler
|
|
||||||
.thumb_set RTC_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak FLASH_IRQHandler
|
|
||||||
.thumb_set FLASH_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak RCC_IRQHandler
|
|
||||||
.thumb_set RCC_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak EXTI0_1_IRQHandler
|
|
||||||
.thumb_set EXTI0_1_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak EXTI2_3_IRQHandler
|
|
||||||
.thumb_set EXTI2_3_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak EXTI4_15_IRQHandler
|
|
||||||
.thumb_set EXTI4_15_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak DMA1_Channel1_IRQHandler
|
|
||||||
.thumb_set DMA1_Channel1_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak DMA1_Channel2_3_IRQHandler
|
|
||||||
.thumb_set DMA1_Channel2_3_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak DMAMUX1_DMA1_CH4_5_IRQHandler
|
|
||||||
.thumb_set DMAMUX1_DMA1_CH4_5_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak ADC1_IRQHandler
|
|
||||||
.thumb_set ADC1_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM1_BRK_UP_TRG_COM_IRQHandler
|
|
||||||
.thumb_set TIM1_BRK_UP_TRG_COM_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM1_CC_IRQHandler
|
|
||||||
.thumb_set TIM1_CC_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM2_IRQHandler
|
|
||||||
.thumb_set TIM2_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM3_IRQHandler
|
|
||||||
.thumb_set TIM3_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM14_IRQHandler
|
|
||||||
.thumb_set TIM14_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM16_IRQHandler
|
|
||||||
.thumb_set TIM16_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak TIM17_IRQHandler
|
|
||||||
.thumb_set TIM17_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak I2C1_IRQHandler
|
|
||||||
.thumb_set I2C1_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak I2C2_IRQHandler
|
|
||||||
.thumb_set I2C2_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak SPI1_IRQHandler
|
|
||||||
.thumb_set SPI1_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak SPI2_IRQHandler
|
|
||||||
.thumb_set SPI2_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak USART1_IRQHandler
|
|
||||||
.thumb_set USART1_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
.weak USART2_IRQHandler
|
|
||||||
.thumb_set USART2_IRQHandler,Default_Handler
|
|
||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
../Core/Src/crc.c:10:6:CRC8_107_add 3
|
|
||||||
../Core/Src/crc.c:21:9:CRC8_107_getChecksum 1
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Core/Src/crc.o: ../Core/Src/crc.c ../Core/Inc/crc.h
|
|
||||||
../Core/Inc/crc.h:
|
|
||||||
Binary file not shown.
@@ -1,2 +0,0 @@
|
|||||||
../Core/Src/crc.c:10:6:CRC8_107_add 8 static
|
|
||||||
../Core/Src/crc.c:21:9:CRC8_107_getChecksum 0 static
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
../Core/Src/main.c:576:6:SystemClock_Config 3
|
|
||||||
../Core/Src/main.c:1090:6:HAL_TIM_PeriodElapsedCallback 19
|
|
||||||
../Core/Src/main.c:1216:6:HAL_GPIO_EXTI_Falling_Callback 5
|
|
||||||
../Core/Src/main.c:1240:6:HAL_UARTEx_RxEventCallback 4
|
|
||||||
../Core/Src/main.c:1261:6:HAL_UART_ErrorCallback 2
|
|
||||||
../Core/Src/main.c:1273:6:set_LED 1
|
|
||||||
../Core/Src/main.c:1283:6:rs485_transmit 1
|
|
||||||
../Core/Src/main.c:1298:6:comp_crc_header 1
|
|
||||||
../Core/Src/main.c:1637:6:update_Feeder_Target 2
|
|
||||||
../Core/Src/main.c:1664:6:set_Feeder_PWM 2
|
|
||||||
../Core/Src/main.c:1679:6:peel_motor 1
|
|
||||||
../Core/Src/main.c:1684:6:peel_brake 1
|
|
||||||
../Core/Src/main.c:1689:6:peel_ramp_update 9
|
|
||||||
../Core/Src/main.c:1733:6:drive_continuous 2
|
|
||||||
../Core/Src/main.c:1742:6:halt_all 1
|
|
||||||
../Core/Src/main.c:1759:6:identify_feeder 2
|
|
||||||
../Core/Src/main.c:1771:6:show_version 1
|
|
||||||
../Core/Src/main.c:1781:9:tenths_to_counts 1
|
|
||||||
../Core/Src/main.c:1790:10:calculate_expected_feed_time 2
|
|
||||||
../Core/Src/main.c:1811:6:start_feed 3
|
|
||||||
../Core/Src/main.c:1852:6:feed_state_machine_update 32
|
|
||||||
../Core/Src/main.c:2048:6:handle_vendor_options 5
|
|
||||||
../Core/Src/main.c:2106:6:onewire_delay_us 3
|
|
||||||
../Core/Src/main.c:2126:6:onewire_drive_low 1
|
|
||||||
../Core/Src/main.c:2131:6:onewire_release 1
|
|
||||||
../Core/Src/main.c:2136:9:onewire_read_bit 1
|
|
||||||
../Core/Src/main.c:2142:9:onewire_reset 1
|
|
||||||
../Core/Src/main.c:2159:6:onewire_write_bit 2
|
|
||||||
../Core/Src/main.c:2179:9:onewire_read_bit_slot 1
|
|
||||||
../Core/Src/main.c:2196:6:onewire_write_byte 2
|
|
||||||
../Core/Src/main.c:2205:9:onewire_read_byte 2
|
|
||||||
../Core/Src/main.c:2220:9:read_floor_address 2
|
|
||||||
../Core/Src/main.c:2250:9:write_floor_address 6
|
|
||||||
../Core/Src/main.c:1318:6:handleRS485Message 44
|
|
||||||
../Core/Src/main.c:2345:9:debug_itoa 6
|
|
||||||
../Core/Src/main.c:2361:9:debug_hex8 1
|
|
||||||
../Core/Src/main.c:2369:6:debug_output 5
|
|
||||||
../Core/Src/main.c:2432:6:reset_position_if_needed 3
|
|
||||||
../Core/Src/main.c:278:5:main 69
|
|
||||||
../Core/Src/main.c:2465:6:Error_Handler 1
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h \
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h \
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h \
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h \
|
|
||||||
../Core/Inc/photon_protocol.h ../Core/Inc/pid.h ../Core/Inc/crc.h
|
|
||||||
../Core/Inc/main.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h:
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h:
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h:
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h:
|
|
||||||
../Core/Inc/photon_protocol.h:
|
|
||||||
../Core/Inc/pid.h:
|
|
||||||
../Core/Inc/crc.h:
|
|
||||||
Binary file not shown.
@@ -1,40 +0,0 @@
|
|||||||
../Core/Src/main.c:576:6:SystemClock_Config 64 static,ignoring_inline_asm
|
|
||||||
../Core/Src/main.c:1090:6:HAL_TIM_PeriodElapsedCallback 24 static
|
|
||||||
../Core/Src/main.c:1216:6:HAL_GPIO_EXTI_Falling_Callback 8 static
|
|
||||||
../Core/Src/main.c:1240:6:HAL_UARTEx_RxEventCallback 16 static
|
|
||||||
../Core/Src/main.c:1261:6:HAL_UART_ErrorCallback 8 static
|
|
||||||
../Core/Src/main.c:1273:6:set_LED 16 static
|
|
||||||
../Core/Src/main.c:1283:6:rs485_transmit 16 static
|
|
||||||
../Core/Src/main.c:1298:6:comp_crc_header 16 static
|
|
||||||
../Core/Src/main.c:1637:6:update_Feeder_Target 8 static
|
|
||||||
../Core/Src/main.c:1664:6:set_Feeder_PWM 0 static
|
|
||||||
../Core/Src/main.c:1679:6:peel_motor 0 static
|
|
||||||
../Core/Src/main.c:1684:6:peel_brake 0 static
|
|
||||||
../Core/Src/main.c:1689:6:peel_ramp_update 24 static
|
|
||||||
../Core/Src/main.c:1733:6:drive_continuous 0 static
|
|
||||||
../Core/Src/main.c:1742:6:halt_all 0 static
|
|
||||||
../Core/Src/main.c:1759:6:identify_feeder 8 static
|
|
||||||
../Core/Src/main.c:1771:6:show_version 8 static
|
|
||||||
../Core/Src/main.c:1781:9:tenths_to_counts 8 static
|
|
||||||
../Core/Src/main.c:1790:10:calculate_expected_feed_time 0 static
|
|
||||||
../Core/Src/main.c:1811:6:start_feed 40 static
|
|
||||||
../Core/Src/main.c:1852:6:feed_state_machine_update 32 static
|
|
||||||
../Core/Src/main.c:2048:6:handle_vendor_options 16 static
|
|
||||||
../Core/Src/main.c:2106:6:onewire_delay_us 16 static
|
|
||||||
../Core/Src/main.c:2126:6:onewire_drive_low 0 static
|
|
||||||
../Core/Src/main.c:2131:6:onewire_release 0 static
|
|
||||||
../Core/Src/main.c:2136:9:onewire_read_bit 0 static
|
|
||||||
../Core/Src/main.c:2142:9:onewire_reset 16 static
|
|
||||||
../Core/Src/main.c:2159:6:onewire_write_bit 16 static
|
|
||||||
../Core/Src/main.c:2179:9:onewire_read_bit_slot 16 static
|
|
||||||
../Core/Src/main.c:2196:6:onewire_write_byte 16 static
|
|
||||||
../Core/Src/main.c:2205:9:onewire_read_byte 16 static
|
|
||||||
../Core/Src/main.c:2220:9:read_floor_address 8 static,ignoring_inline_asm
|
|
||||||
../Core/Src/main.c:2250:9:write_floor_address 24 static,ignoring_inline_asm
|
|
||||||
../Core/Src/main.c:1318:6:handleRS485Message 64 static
|
|
||||||
../Core/Src/main.c:2345:9:debug_itoa 48 static
|
|
||||||
../Core/Src/main.c:2361:9:debug_hex8 40 static
|
|
||||||
../Core/Src/main.c:2369:6:debug_output 32 static
|
|
||||||
../Core/Src/main.c:2432:6:reset_position_if_needed 16 static,ignoring_inline_asm
|
|
||||||
../Core/Src/main.c:278:5:main 160 static,ignoring_inline_asm
|
|
||||||
../Core/Src/main.c:2465:6:Error_Handler 0 static,ignoring_inline_asm
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
../Core/Src/stm32c0xx_hal_msp.c:68:6:HAL_MspInit 1
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:91:6:HAL_ADC_MspInit 3
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:143:6:HAL_ADC_MspDeInit 2
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:174:6:HAL_TIM_Base_MspInit 5
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:238:6:HAL_TIM_Encoder_MspInit 2
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:269:6:HAL_TIM_MspPostInit 2
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:311:6:HAL_TIM_Base_MspDeInit 5
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:375:6:HAL_TIM_Encoder_MspDeInit 2
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:404:6:HAL_UART_MspInit 6
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:515:6:HAL_UART_MspDeInit 3
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
Core/Src/stm32c0xx_hal_msp.o: ../Core/Src/stm32c0xx_hal_msp.c \
|
|
||||||
../Core/Inc/main.h ../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h \
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h \
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h \
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h
|
|
||||||
../Core/Inc/main.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h:
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h:
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h:
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h:
|
|
||||||
Binary file not shown.
@@ -1,10 +0,0 @@
|
|||||||
../Core/Src/stm32c0xx_hal_msp.c:68:6:HAL_MspInit 8 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:91:6:HAL_ADC_MspInit 80 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:143:6:HAL_ADC_MspDeInit 8 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:174:6:HAL_TIM_Base_MspInit 24 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:238:6:HAL_TIM_Encoder_MspInit 40 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:269:6:HAL_TIM_MspPostInit 32 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:311:6:HAL_TIM_Base_MspDeInit 8 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:375:6:HAL_TIM_Encoder_MspDeInit 8 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:404:6:HAL_UART_MspInit 80 static
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c:515:6:HAL_UART_MspDeInit 8 static
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
../Core/Src/stm32c0xx_it.c:74:6:NMI_Handler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:89:6:HardFault_Handler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:104:6:SVC_Handler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:117:6:PendSV_Handler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:130:6:SysTick_Handler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:151:6:EXTI4_15_IRQHandler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:166:6:DMA1_Channel1_IRQHandler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:180:6:DMA1_Channel2_3_IRQHandler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:194:6:TIM14_IRQHandler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:208:6:TIM16_IRQHandler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:222:6:TIM17_IRQHandler 1
|
|
||||||
../Core/Src/stm32c0xx_it.c:236:6:USART2_IRQHandler 1
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
Core/Src/stm32c0xx_it.o: ../Core/Src/stm32c0xx_it.c ../Core/Inc/main.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h \
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h \
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h \
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h \
|
|
||||||
../Core/Inc/stm32c0xx_it.h
|
|
||||||
../Core/Inc/main.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h:
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h:
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h:
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h:
|
|
||||||
../Core/Inc/stm32c0xx_it.h:
|
|
||||||
Binary file not shown.
@@ -1,12 +0,0 @@
|
|||||||
../Core/Src/stm32c0xx_it.c:74:6:NMI_Handler 0 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:89:6:HardFault_Handler 0 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:104:6:SVC_Handler 0 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:117:6:PendSV_Handler 0 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:130:6:SysTick_Handler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:151:6:EXTI4_15_IRQHandler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:166:6:DMA1_Channel1_IRQHandler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:180:6:DMA1_Channel2_3_IRQHandler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:194:6:TIM14_IRQHandler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:208:6:TIM16_IRQHandler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:222:6:TIM17_IRQHandler 8 static
|
|
||||||
../Core/Src/stm32c0xx_it.c:236:6:USART2_IRQHandler 8 static
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# Automatically-generated file. Do not edit!
|
|
||||||
# Toolchain: GNU Tools for STM32 (14.3.rel1)
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Add inputs and outputs from these tool invocations to the build variables
|
|
||||||
C_SRCS += \
|
|
||||||
../Core/Src/crc.c \
|
|
||||||
../Core/Src/main.c \
|
|
||||||
../Core/Src/stm32c0xx_hal_msp.c \
|
|
||||||
../Core/Src/stm32c0xx_it.c \
|
|
||||||
../Core/Src/syscalls.c \
|
|
||||||
../Core/Src/sysmem.c \
|
|
||||||
../Core/Src/system_stm32c0xx.c
|
|
||||||
|
|
||||||
OBJS += \
|
|
||||||
./Core/Src/crc.o \
|
|
||||||
./Core/Src/main.o \
|
|
||||||
./Core/Src/stm32c0xx_hal_msp.o \
|
|
||||||
./Core/Src/stm32c0xx_it.o \
|
|
||||||
./Core/Src/syscalls.o \
|
|
||||||
./Core/Src/sysmem.o \
|
|
||||||
./Core/Src/system_stm32c0xx.o
|
|
||||||
|
|
||||||
C_DEPS += \
|
|
||||||
./Core/Src/crc.d \
|
|
||||||
./Core/Src/main.d \
|
|
||||||
./Core/Src/stm32c0xx_hal_msp.d \
|
|
||||||
./Core/Src/stm32c0xx_it.d \
|
|
||||||
./Core/Src/syscalls.d \
|
|
||||||
./Core/Src/sysmem.d \
|
|
||||||
./Core/Src/system_stm32c0xx.d
|
|
||||||
|
|
||||||
|
|
||||||
# Each subdirectory must supply rules for building sources it contributes
|
|
||||||
Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
|
|
||||||
arm-none-eabi-gcc "$<" -mcpu=cortex-m0plus -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32C051xx -c -I../Core/Inc -I../Drivers/STM32C0xx_HAL_Driver/Inc -I../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32C0xx/Include -I../Drivers/CMSIS/Include -Oz -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfloat-abi=soft -mthumb -o "$@"
|
|
||||||
|
|
||||||
clean: clean-Core-2f-Src
|
|
||||||
|
|
||||||
clean-Core-2f-Src:
|
|
||||||
-$(RM) ./Core/Src/crc.cyclo ./Core/Src/crc.d ./Core/Src/crc.o ./Core/Src/crc.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32c0xx_hal_msp.cyclo ./Core/Src/stm32c0xx_hal_msp.d ./Core/Src/stm32c0xx_hal_msp.o ./Core/Src/stm32c0xx_hal_msp.su ./Core/Src/stm32c0xx_it.cyclo ./Core/Src/stm32c0xx_it.d ./Core/Src/stm32c0xx_it.o ./Core/Src/stm32c0xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32c0xx.cyclo ./Core/Src/system_stm32c0xx.d ./Core/Src/system_stm32c0xx.o ./Core/Src/system_stm32c0xx.su
|
|
||||||
|
|
||||||
.PHONY: clean-Core-2f-Src
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
../Core/Src/syscalls.c:44:6:initialise_monitor_handles 1
|
|
||||||
../Core/Src/syscalls.c:48:5:_getpid 1
|
|
||||||
../Core/Src/syscalls.c:53:5:_kill 1
|
|
||||||
../Core/Src/syscalls.c:61:6:_exit 1
|
|
||||||
../Core/Src/syscalls.c:67:27:_read 2
|
|
||||||
../Core/Src/syscalls.c:80:27:_write 2
|
|
||||||
../Core/Src/syscalls.c:92:5:_close 1
|
|
||||||
../Core/Src/syscalls.c:99:5:_fstat 1
|
|
||||||
../Core/Src/syscalls.c:106:5:_isatty 1
|
|
||||||
../Core/Src/syscalls.c:112:5:_lseek 1
|
|
||||||
../Core/Src/syscalls.c:120:5:_open 1
|
|
||||||
../Core/Src/syscalls.c:128:5:_wait 1
|
|
||||||
../Core/Src/syscalls.c:135:5:_unlink 1
|
|
||||||
../Core/Src/syscalls.c:142:5:_times 1
|
|
||||||
../Core/Src/syscalls.c:148:5:_stat 1
|
|
||||||
../Core/Src/syscalls.c:155:5:_link 1
|
|
||||||
../Core/Src/syscalls.c:163:5:_fork 1
|
|
||||||
../Core/Src/syscalls.c:169:5:_execve 1
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Core/Src/syscalls.o: ../Core/Src/syscalls.c
|
|
||||||
Binary file not shown.
@@ -1,18 +0,0 @@
|
|||||||
../Core/Src/syscalls.c:44:6:initialise_monitor_handles 0 static
|
|
||||||
../Core/Src/syscalls.c:48:5:_getpid 0 static
|
|
||||||
../Core/Src/syscalls.c:53:5:_kill 8 static
|
|
||||||
../Core/Src/syscalls.c:61:6:_exit 8 static
|
|
||||||
../Core/Src/syscalls.c:67:27:_read 16 static
|
|
||||||
../Core/Src/syscalls.c:80:27:_write 16 static
|
|
||||||
../Core/Src/syscalls.c:92:5:_close 0 static
|
|
||||||
../Core/Src/syscalls.c:99:5:_fstat 0 static
|
|
||||||
../Core/Src/syscalls.c:106:5:_isatty 0 static
|
|
||||||
../Core/Src/syscalls.c:112:5:_lseek 0 static
|
|
||||||
../Core/Src/syscalls.c:120:5:_open 0 static
|
|
||||||
../Core/Src/syscalls.c:128:5:_wait 8 static
|
|
||||||
../Core/Src/syscalls.c:135:5:_unlink 8 static
|
|
||||||
../Core/Src/syscalls.c:142:5:_times 0 static
|
|
||||||
../Core/Src/syscalls.c:148:5:_stat 0 static
|
|
||||||
../Core/Src/syscalls.c:155:5:_link 8 static
|
|
||||||
../Core/Src/syscalls.c:163:5:_fork 8 static
|
|
||||||
../Core/Src/syscalls.c:169:5:_execve 8 static
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
../Core/Src/sysmem.c:53:7:_sbrk 3
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
Core/Src/sysmem.o: ../Core/Src/sysmem.c
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
../Core/Src/sysmem.c:53:7:_sbrk 8 static
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
../Core/Src/system_stm32c0xx.c:142:6:SystemInit 1
|
|
||||||
../Core/Src/system_stm32c0xx.c:190:6:SystemCoreClockUpdate 4
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
Core/Src/system_stm32c0xx.o: ../Core/Src/system_stm32c0xx.c \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h \
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h \
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h \
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h \
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h \
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h \
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c0xx.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/stm32c051xx.h:
|
|
||||||
../Drivers/CMSIS/Include/core_cm0plus.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_version.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_compiler.h:
|
|
||||||
../Drivers/CMSIS/Include/cmsis_gcc.h:
|
|
||||||
../Drivers/CMSIS/Include/mpu_armv7.h:
|
|
||||||
../Drivers/CMSIS/Device/ST/STM32C0xx/Include/system_stm32c0xx.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_system.h:
|
|
||||||
../Core/Inc/stm32c0xx_hal_conf.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_def.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_rcc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_rcc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_gpio_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_dma_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_cortex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_adc.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_adc_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_exti.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_flash_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_pwr_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_tim_ex.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart.h:
|
|
||||||
../Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_hal_uart_ex.h:
|
|
||||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user