README.md
甜心·嵌入式esp32项目
配套文档
固件说明
固件,使用Rust开发,esp32s,
- 编译方式:
cargo binstall espup
espup install
rustup default esp
cargo install cargo-offline
# 复制所有依赖项源码到目录
cargo-offline vendor --sync Cargo.toml
# 编译命令
cargo-offline build --release
# 编译&烧录命令
cargo-offline run --release
- 主要功能:
- TODO 控制步进电机(HW134模块,42步进电机)
- WIFI网页http服务器
- TODO 控制热床、喷嘴
- TODO 获取传感器数据
- 接口表格如下:
- OLED_SDA:IO21
- OLED_SCL:IO22
- SENSOR_HEATER:IO36
- SENSOR_HOTBED:IO39
- SD_CS:IO5
- SD_MOSI:IO23
- SD_SCK:IO18
- SD_MISO:IO19
- SD_EN:IO15
- HEATER:IO2
- HOTBED:IO4
- LIMIT_E:IO13
- LIMIT_X:IO34
- LIMIT_Y:IO35
- LIMIT_Z:IO32
- STEP_E:IO16
- STEP_X:IO12
- STEP_Y:IO27
- STEP_Z:IO25
- DIR_X:IO14
- DIR_Y:IO26
- DIR_Z:IO33
- DIR_E:IO17
GCODE指令简介
- GCODE(RS274D标准) G-code (also RS-274), which has many variants, is the common name for the most widely used numerical control (NC) programming language. It is used mainly in computer-aided manufacturing for controlling automated machine tools. G-code is sometimes called G programming language.
G代码比较正式的名字是 RS-274或者RS-274D。最早的数控机床是在20世纪50年代由美国人John Parsons发明的,第一代的数控编程语言也在此时诞生。20世纪60年代,EIA(电子工业协会)制定了数控编程语言的最初标准,1980年,形成了这个标准的最终版本(即RS-274-D)。除了这一个标准外,还有其他标准,详见文后的wiki链接。关于为什么命名G-code或者G&M Code,一个说法是该语言的命令许多都是G或者M字母开头的。
```markdown
| Code | Description |
|------|-----------------------|
| G00 | Rapid Move |
| G01 | Linear Feed Move |
| G02 | Clockwise Arc Feed Move |
| G03 | Counter Clockwise Arc Feed Move |
| G04 | Dwell |
| G05 | Linear Feed Move |
| G06 | None |
| G07 | None |
| G08 | None |
| G09 | Exact stop |
| G10 | Fixture and Tool Offset Setting |
| G11 | None |
| G12 | Clockwise Circle |
| G13 | Counter Clockwise Circle |
| G14 | None |
| G15 | Polar Coordinate Cancel |
| G16 | Polar Coordinate |
| G17 | XY Plane Select |
| G18 | ZX Plane Select |
| G19 | YZ Plane Select |
| G20 | Inch |
| G21 | Millimeter |
| G22 | None |
| G23 | None |
| G24 | None |
| G25 | None |
| G26 | None |
| G27 | None |
| G28 | Zero Return |
| G29 | None |
| G30 | 2nd, 3rd, 4thZero Return |
| G31 | Probe function |
| G32 | Threading* |
| G33 | None |
| G34 | None |
| G35 | None |
| G36 | None |
| G37 | None |
| G38 | None |
| G39 | None |
| G40 | Cutter Compensation Cancel |
| G41 | Cutter Compensation Left |
| G42 | Cutter Compensation Right |
| G43 | Tool Length Offset + Enable |
| G44 | Tool Length Offset - Enable |
| G45 | None |
| G46 | None |
| G47 | None |
| G48 | None |
| G49 | Tool Length Offset Cancel |
| G50 | Cancel Scaling |
| G51 | Scale Axes |
| G52 | Local Coordinate System Shift |
| G53 | Machine Coordinate System |
| G54 | Fixture Offset 1 |
| G54.1 | Additional Fixture Offsets |
| G55 | Fixture Offset 2 |
| G56 | Fixture Offset 3 |
| G57 | Fixture Offset 4 |
| G58 | Fixture Offset 5 |
| G59 | Fixture Offset 6 |
| G60 | Unidirectional Approach |
| G61 | Exact Stop Mode |
| G62 | None |
| G63 | None |
| G64 | Cutting Mode (Constant Velocity) |
| G65 | Macro Call |
| G66 | Macro Modal Call |
| G67 | Macro Modal Call Cancel |
| G68 | Coordinate System Rotation |
| G69 | Coordinate System Rotation Cancel |
| G70 | None |
| G71 | None |
| G72 | None |
| G73 | High Speed Peck Drilling |
| G74 | LH Tapping* |
| G75 | None |
| G76 | Fine Boring* |
| G77 | None |
| G78 | None |
| G79 | None |
| G80 | Canned Cycle Cancel |
| G81 | Hole Drilling |
| G82 | Spot Face |
| G83 | Deep Hole Peck Drilling |
| G84 | RH Tapping* |
| G84.2 | RH Rigid Tapping* |
| G84.3 | LH Rigid Tapping* |
| G85 | Boring, Retract at Feed, Spindle On |
| G86 | Boring, Retract at Rapid, Spindle Off |
| G87 | Back Boring* |
| G88 | Boring, Manual Retract |
| G89 | Boring, Dwell, Retract at Feed, Spindle On |
| G90 | Absolute Position Mode |
| G90.1 | Arc Center Absolute Mode |
| G91 | Incremental Position Mode |
| G91.1 | Arc Center Incremental Mode |
| G92 | Local Coordinate System Setting |
| G92.1 | Local Coordinate System Cancel |
| G93 | Inverse Time Feed |
| G94 | Feed per Minute |
| G95 | Feed per Revolution* |
| G96 | Constant Surface Speed* |
| G97 | Constant Speed |
| G98 | Initial Point Return |
| G99 |R Point Return |
| Code | Description | Page |
|------|-------------------------------------------|------|
| M00 | Mandatory Program Stop | 57 |
| M01 | Optional Program Stop | 57 |
| M02 | Program End Spindle | 57 |
| M03 | Forward/Clockwise | 57 |
| M04 | Spindle Reverse/Counterclockwise | 58 |
| M05 | Spindle Stop | 58 |
| M06 | Tool Change | 58 |
| M07 | Mist Coolant On | 58 |
| M08 | Flood Coolant On | 58 |
| M09 | All Coolant Off | 58 |
| M19 | Spindle Orient | - |
| M30 | Program End and Rewind | 58 |
| M40 | Gear Change | 78 |
| M41 | Gear Change | 78 |
| M42 | Gear Change | 78 |
| M43 | Gear Change | 78 |
| M44 | Gear Change | 78 |
| M45 | Gear Change | 78 |
| M46 | None | 78 |
| M47 | Repeat Program from First Line | 57 |
| M48 | Enable Feed/Speed Overrides | 58 |
| M49 | Disable Feed/Speed Overrides | 58 |
| M98 | Subprogram Call | 58 |
| M99 | Return From Subprogram / Rewind | 60 |
| M100 | Custom Macro M Codes | 60 |
| M228 | Go To Position | 60 |
SVG 1.2 命令简介
[https://vectorizer.ai/?utm_source=appinn.com] [https://www.visioncortex.org/vtracer/] [https://www.w3.org/TR/SVGMobile12/REC-SVGTiny12-20081222.pdf] [https://juejin.cn/post/7124312346947764260] path标签是所有图形中最复杂的,但他也是最强大的。在SVG中最常用的图形就是path标签,他可以绘制圆形、椭圆、矩形、线条、折线、多边形、贝塞尔曲线等。 语法:
<path d="M50 50 H 200 V 200 H 50 L 50 50"/>
属性:d为一个点集数列以及其它绘制路径的信息。
path标签的图形形状是通过属性d来定义的,属性d的值是以:命令 + 参数 的形式进行组合的,命令又是通过关键字来表示的。 那么究竟有哪些命令呢?我总结了一下概括为以下10个命令: 大写命令为绝对定位,小写命令为相对定位
- M = Move to
- L = Line to
- H = Horizontal Line to
- V = Vertical Line to
- Q = Quadratic Bezier Curve to
- T = Smooth Quadratic Bezier Curve to
- C = Curve to
- S = Smooth Curve to
- A = Elliptical Arc
- Z = close path