Compare commits
12 Commits
060c0ea760
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e46c47454f | |||
|
|
96ed4f3022 | ||
|
|
7b5f09e135 | ||
|
|
2a99dd1cf7 | ||
|
|
183eb7a86f | ||
|
|
f2eaf76ce7 | ||
|
|
a3c0d2563b | ||
|
|
506dc756b3 | ||
|
|
8ad55fee0b | ||
|
|
f9cd4d608a | ||
|
|
a18cbaf897 | ||
| 5d856e6a75 |
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
/.obsidian/community-plugins.json
|
||||
12
.obsidian/app.json
vendored
@@ -1 +1,11 @@
|
||||
{}
|
||||
{
|
||||
"showLineNumber": false,
|
||||
"promptDelete": false,
|
||||
"alwaysUpdateLinks": true,
|
||||
"pdfExportSettings": {
|
||||
"pageSize": "Letter",
|
||||
"landscape": false,
|
||||
"margin": "0",
|
||||
"downscalePercent": 100
|
||||
}
|
||||
}
|
||||
11
.obsidian/community-plugins.json
vendored
@@ -1,11 +0,0 @@
|
||||
[
|
||||
"obsidian-git",
|
||||
"obsidian-tasks-plugin",
|
||||
"pdf-plus",
|
||||
<<<<<<< HEAD
|
||||
"advanced-canvas",
|
||||
"obsidian-plantuml",
|
||||
=======
|
||||
>>>>>>> origin/main
|
||||
"tasks-calendar-wrapper"
|
||||
]
|
||||
22
.obsidian/graph.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"collapse-filter": true,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": true,
|
||||
"colorGroups": [],
|
||||
"collapse-display": true,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": true,
|
||||
"centerStrength": 0.518713248970312,
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 1,
|
||||
"close": false
|
||||
}
|
||||
22
.obsidian/plugins/export-graph-view/main.js
vendored
Normal file
11
.obsidian/plugins/export-graph-view/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "export-graph-view",
|
||||
"name": "Export Graph View",
|
||||
"version": "1.2.2",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Export your vault's graph view to mermaid and dot format.",
|
||||
"author": "Sean McGhee",
|
||||
"authorUrl": "https://www.seantiz.com",
|
||||
"fundingUrl": "https://github.com/sponsors/seantiz",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
119
.obsidian/plugins/export-graph-view/styles.css
vendored
Normal file
@@ -0,0 +1,119 @@
|
||||
.quick-export-button,
|
||||
.export-button {
|
||||
font-size: 16px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.metadata-section {
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
padding: 15px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.metadata-section p {
|
||||
margin: 5px 0;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.help-text {
|
||||
font-size: 12px;
|
||||
border-bottom: none;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.root-notice {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.section-button-section {
|
||||
text-align: right;
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.view-button-section {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.egv-choice-container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.egv-choice-header {
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.egv-choice-description {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.egv-cards-container {
|
||||
display: flex;
|
||||
gap: 30px;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.egv-choice-card {
|
||||
background-color: var(--background-secondary);
|
||||
border-radius: 10px;
|
||||
padding: 25px;
|
||||
min-width: 250px;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
cursor: pointer;
|
||||
max-width: 350px;
|
||||
}
|
||||
|
||||
.egv-choice-card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.egv-choice-card h3 {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.egv-choice-card p {
|
||||
flex-grow: 1;
|
||||
color: var(--text-muted);
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.egv-card-icon {
|
||||
height: 60px;
|
||||
margin: 0 auto 15px;
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.single-parent-icon {
|
||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="5"/><path d="M5 18c0-4 7-4 7-4v4"/><path d="M19 18c0-4-7-4-7-4v4"/></svg>');
|
||||
}
|
||||
|
||||
.full-graph-icon {
|
||||
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="5" cy="6" r="3"/><circle cx="19" cy="6" r="3"/><circle cx="5" cy="18" r="3"/><circle cx="19" cy="18" r="3"/><line x1="5" y1="9" x2="5" y2="15"/><line x1="19" y1="9" x2="19" y2="15"/><line x1="8" y1="6" x2="16" y2="6"/><line x1="8" y1="18" x2="16" y2="18"/><line x1="8" y1="6" x2="16" y2="18"/></svg>');
|
||||
}
|
||||
|
||||
.egv-card-button-container {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.egv-card-button-container button {
|
||||
width: 100%;
|
||||
792
.obsidian/plugins/mermaid-tools/data.json
vendored
Normal file
@@ -0,0 +1,792 @@
|
||||
{
|
||||
"elements": [
|
||||
{
|
||||
"id": "ce8a0064-979c-4d60-a26c-89a3b1802216",
|
||||
"categoryId": "flowchart",
|
||||
"description": "a simple flowchart with top to down direction",
|
||||
"content": "flowchart TD\nStart --> Stop",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "81190b75-35a7-45af-a8d4-94e69ee69980",
|
||||
"categoryId": "flowchart",
|
||||
"description": "a simple flowchart with left to right direction",
|
||||
"content": "flowchart LR\nStart --> Stop",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "e13cedc2-1b11-48d7-bba6-78e307e1cb57",
|
||||
"categoryId": "flowchart",
|
||||
"description": "A node with round edges",
|
||||
"content": "id1(Some text)",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "8e7188cf-932f-452d-89e2-0c5adc0b1dcb",
|
||||
"categoryId": "flowchart",
|
||||
"description": "A stadium-shaped node",
|
||||
"content": "id1([Some text])",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "74abe0f5-d7cd-4830-a37b-0489d7449328",
|
||||
"categoryId": "flowchart",
|
||||
"description": "A node in a cylindrical shape",
|
||||
"content": "id1[(Database)]",
|
||||
"sortingOrder": 5,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "5fd59c6c-0c37-46c4-a959-bff6446af538",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Circle",
|
||||
"content": "id1((Some text))",
|
||||
"sortingOrder": 6,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "e58fe5be-675f-44b0-a337-830d36d2684c",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Rhombus",
|
||||
"content": "id1{Some text}",
|
||||
"sortingOrder": 7,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "417a32f2-b1af-4b94-a370-0d69e96f35b4",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Hexagon",
|
||||
"content": "id1{{Some text}}",
|
||||
"sortingOrder": 8,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "17487f2b-d361-49ff-bb9f-b51b32ce9d92",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Parallelogram skewed right",
|
||||
"content": "id1[/Some text/]",
|
||||
"sortingOrder": 9,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "0c09e005-999c-4f69-8c22-33c22e82d9d8",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Parallelogram skewed left",
|
||||
"content": "id1[\\Some text\\]",
|
||||
"sortingOrder": 10,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6122256d-84a4-495c-8f9f-1d6836068691",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Trapezoid",
|
||||
"content": "A[/Some text\\]",
|
||||
"sortingOrder": 11,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6d31176d-fac1-49c5-8058-4e4dc2c6e5dd",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Trapezoid upside down",
|
||||
"content": "A[\\Some text/]",
|
||||
"sortingOrder": 12,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "410f9e4d-4629-45f7-949f-f798a9a0b6b9",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Double circle node",
|
||||
"content": "id1(((Some text)))",
|
||||
"sortingOrder": 13,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "e144a699-ba5e-43ea-8729-0d7f1b9e34d2",
|
||||
"categoryId": "flowchart",
|
||||
"description": "A link with arrow head",
|
||||
"content": "A-->B",
|
||||
"sortingOrder": 14,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6340f678-124b-4a42-9f47-6015412d1b98",
|
||||
"categoryId": "flowchart",
|
||||
"description": "An open link",
|
||||
"content": "A --- B",
|
||||
"sortingOrder": 15,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "0586c4d4-4dc1-4ce1-867d-57e43a932f0b",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Text on links",
|
||||
"content": "A-- This is the text! ---B",
|
||||
"sortingOrder": 16,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "eb1e584b-5aaf-46f5-bfc9-44b3c406dc2d",
|
||||
"categoryId": "flowchart",
|
||||
"description": "A link with arrow head and text",
|
||||
"content": "A-->|text|B",
|
||||
"sortingOrder": 17,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "ca8afaf7-7505-4f22-b95b-9a5cff53cad6",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Dotted link",
|
||||
"content": "A-.->B",
|
||||
"sortingOrder": 18,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "4dffe292-4204-4da3-911d-1025a05ad46c",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Thick link",
|
||||
"content": "A ==> B",
|
||||
"sortingOrder": 19,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "5ad57178-87bb-488b-b138-b3084d5364c5",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Invisible link",
|
||||
"content": "A ~~~ B",
|
||||
"sortingOrder": 20,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "b9e7daaa-5915-4a1c-a481-96ac137d16f9",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Link with circle edge",
|
||||
"content": "A --o B",
|
||||
"sortingOrder": 21,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "a053922d-c961-4e28-b1d2-6321b249c0ae",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Link with cross edge",
|
||||
"content": "A --x B",
|
||||
"sortingOrder": 22,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "187bf51e-e384-4a39-803c-78bb18b78c8b",
|
||||
"categoryId": "flowchart",
|
||||
"description": "Subgraph",
|
||||
"content": "subgraph one\na1-->a2\nend",
|
||||
"sortingOrder": 14,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "9857856d-2fd4-4e0d-b058-76855215da37",
|
||||
"categoryId": "sequenceDiagram",
|
||||
"description": "a simple sequence diagram",
|
||||
"content": "sequenceDiagram\nAlice->>John: Hello John, how are you?\nJohn-->>Alice: Great!\nAlice-)John: See you later!",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "47c587ff-c1e1-41f3-9e29-3bc54cce4cb1",
|
||||
"categoryId": "sequenceDiagram",
|
||||
"description": "a simple sequence diagram with actors",
|
||||
"content": "sequenceDiagram\nactor Alice\nactor John\nAlice->>John: Hello John, how are you?\nJohn-->>Alice: Great!\nAlice-)John: See you later!",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "2ae592c0-806e-4640-945f-2dbc576ccdf1",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "sample class",
|
||||
"content": "class Duck{\n +String beakColor\n +swim()\n +quack()\n }",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "467423fe-2d69-49f4-83ca-9314227a2cc6",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "sample class",
|
||||
"content": "class BankAccount\n BankAccount : +String owner\n BankAccount : +Bigdecimal balance\n BankAccount : +deposit(amount)\n BankAccount : +withdrawal(amount)",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "c8275c79-b289-4d75-9ae5-65c3267e94d5",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "generic class",
|
||||
"content": "class Square~Shape~{\n int id\n List~int~ position\n setPoints(List~int~ points)\n getPoints() List~int~\n }\n \n Square : -List~string~ messages\n Square : +setMessages(List~string~ messages)\n Square : +getMessages() List~string~",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "8b09aee4-6260-4ec6-970c-c67168d4ac76",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "inheritance",
|
||||
"content": "classA <|-- classB",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "4ec30fef-b3cc-4bcc-8f4a-fda668776a36",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "composition",
|
||||
"content": "classC *-- classD",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "ea60828f-8ab8-4c4e-88a3-bbaf77a10472",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "aggregation",
|
||||
"content": "classE o-- classF",
|
||||
"sortingOrder": 5,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "99c0ed8a-8d15-4c1e-b315-4bbb3cabfd64",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "association",
|
||||
"content": "classG <-- classH",
|
||||
"sortingOrder": 6,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "9bc99a1a-c6f0-4a43-98aa-d18be64bdde7",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "solid link",
|
||||
"content": "classI -- classJ",
|
||||
"sortingOrder": 7,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "71380dcd-4c29-4907-86d9-36bb822df062",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "dependency",
|
||||
"content": "classK <.. classL",
|
||||
"sortingOrder": 8,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6855b6ca-61ee-46d1-b937-085c56f96c2d",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "realization",
|
||||
"content": "classM <|.. classN",
|
||||
"sortingOrder": 9,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "702caa95-72a3-449f-9da2-a406f9996be0",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "dashed link",
|
||||
"content": "classO .. classP",
|
||||
"sortingOrder": 10,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "fa3c801c-d9ec-4506-a501-28472e7b8c78",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "two-way relation",
|
||||
"content": "Animal <|--|> Zebra",
|
||||
"sortingOrder": 11,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "f590de96-2011-4df5-bef1-a068832bff8a",
|
||||
"categoryId": "classDiagram",
|
||||
"description": "sample class diagram",
|
||||
"content": "classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }",
|
||||
"sortingOrder": 12,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "b16b29d7-3ecb-45fa-9327-eac5239bd953",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "a sample state diagram",
|
||||
"content": "stateDiagram-v2\n [*] --> Still\n Still --> [*]\n \n Still --> Moving\n Moving --> Still\n Moving --> Crash\n Crash --> [*]",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "ef56afbc-aa32-4708-a191-3481d673e08a",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "a sample state diagram with left-to-right direction",
|
||||
"content": "stateDiagram-v2\n direction LR\n [*] --> Still\n Still --> [*]\n \n Still --> Moving\n Moving --> Still\n Moving --> Crash\n Crash --> [*]",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "b04c48f5-2bb4-4fc2-be33-03f6597e2499",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "node with description",
|
||||
"content": "s2 : This is a state description",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "3dedb769-542f-40dd-99c3-98dd0ed974e6",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "a transition",
|
||||
"content": "s1 --> s2",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "530b0984-485f-4bad-9d6e-80f5398fc01b",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "a transition with label",
|
||||
"content": "s1 --> s2: A transition",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "bcec3d91-0232-4e6a-82ed-6581356d6183",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "composite state",
|
||||
"content": "\n [*] --> First\n state First {\n [*] --> second\n second --> [*]\n }",
|
||||
"sortingOrder": 5,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "1dcba01a-ac61-4171-8fc9-a616eaed11f2",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "diagram with choice",
|
||||
"content": "stateDiagram-v2\n state if_state <<choice>>\n [*] --> IsPositive\n IsPositive --> if_state\n if_state --> False: if n < 0\n if_state --> True : if n >= 0",
|
||||
"sortingOrder": 6,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "57ad4f8a-33cd-43b5-8910-910edf8e7dec",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "diagram with fork",
|
||||
"content": "stateDiagram-v2\n state fork_state <<fork>>\n [*] --> fork_state\n fork_state --> State2\n fork_state --> State3\n \n state join_state <<join>>\n State2 --> join_state\n State3 --> join_state\n join_state --> State4\n State4 --> [*]",
|
||||
"sortingOrder": 7,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "4e9935b8-d200-4b71-a054-e959765e7825",
|
||||
"categoryId": "stateDiagram",
|
||||
"description": "a diagram with concurrency",
|
||||
"content": "stateDiagram-v2\n [*] --> Active\n \n state Active {\n [*] --> NumLockOff\n NumLockOff --> NumLockOn : EvNumLockPressed\n NumLockOn --> NumLockOff : EvNumLockPressed\n --\n [*] --> CapsLockOff\n CapsLockOff --> CapsLockOn : EvCapsLockPressed\n CapsLockOn --> CapsLockOff : EvCapsLockPressed\n --\n [*] --> ScrollLockOff\n ScrollLockOff --> ScrollLockOn : EvScrollLockPressed\n ScrollLockOn --> ScrollLockOff : EvScrollLockPressed\n }",
|
||||
"sortingOrder": 8,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "26791328-43e6-430f-ad2e-76821214a95d",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "a sample entity relationship diagram",
|
||||
"content": "erDiagram\n CUSTOMER ||--o{ ORDER : places\n ORDER ||--|{ LINE-ITEM : contains\n CUSTOMER }|..|{ DELIVERY-ADDRESS : uses",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "cb07fc4d-ae9b-4da3-a938-3a1b0ab0c2ac",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "an entity",
|
||||
"content": " CUSTOMER {\n string name\n string custNumber\n string sector\n }",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "dcae6673-6476-4466-a97a-8a0732574801",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "one-to-many relationship",
|
||||
"content": "A ||--|{ B : label",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "c2ad1cfb-ea4e-4d69-8bf4-b85ecc5b9134",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "many-to-many relationship",
|
||||
"content": "A }|--|{ B : label",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "118f56be-db56-49a7-80ab-3326f7336f3d",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "one-to-one relationship",
|
||||
"content": "A ||--|| B : label",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "bec578a5-0e42-4d24-a0dd-12b4fc25daa5",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "many-to-one relationship",
|
||||
"content": "A }|--|| B : label",
|
||||
"sortingOrder": 5,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "32d99372-8321-44dd-80c3-1a080644fa5c",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "zero/one-to-one relationship",
|
||||
"content": "A |o--|| B : label",
|
||||
"sortingOrder": 6,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "2113de04-a4ee-4436-a3ab-435650b23414",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "one-to-one/zero relationship",
|
||||
"content": "A ||--o| B : label",
|
||||
"sortingOrder": 7,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "30293f49-1289-4976-88d9-34d75c0a6852",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "zero-or-more-to-one relationship",
|
||||
"content": "A }o--|| B : label",
|
||||
"sortingOrder": 8,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "dc49bc4c-2ea6-495d-9d38-28c33e078f77",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "one-to-zero-or-more relationship",
|
||||
"content": "A ||--o{ B : label",
|
||||
"sortingOrder": 9,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "5c53fcab-e772-4dcd-ab06-fc941fa168fa",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "zero-or-more-to-many relationship",
|
||||
"content": "A }o--|{ B : label",
|
||||
"sortingOrder": 10,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "89b04b4e-1e06-4b5c-ae55-fa28f6e08b0b",
|
||||
"categoryId": "entityRelationshipDiagram",
|
||||
"description": "many-to-zero-or-more relationship",
|
||||
"content": "A }|--o{ B : label",
|
||||
"sortingOrder": 11,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "98ae0edc-7b11-4fcb-b049-94684070b79e",
|
||||
"categoryId": "userJourneyDiagram",
|
||||
"description": "a sample user journey diagram",
|
||||
"content": "journey\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "452612b5-f9c4-4406-b150-6d1ffdf52bb4",
|
||||
"categoryId": "userJourneyDiagram",
|
||||
"description": "a step in user journey",
|
||||
"content": " Step Title: 5: ActorName",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "d1b92887-20a1-4430-b26d-4d41aad84da6",
|
||||
"categoryId": "ganttChart",
|
||||
"description": "simple gantt chart",
|
||||
"content": "gantt\n title A Gantt Diagram\n dateFormat YYYY-MM-DD\n section Section\n A task :a1, 2014-01-01, 30d\n Another task :after a1 , 20d\n section Another\n Task in sec :2014-01-12 , 12d\n another task : 24d",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "00ddbe10-684f-4d8c-9e4c-7e933c6f3392",
|
||||
"categoryId": "ganttChart",
|
||||
"description": "rich gantt chart",
|
||||
"content": "gantt\n dateFormat YYYY-MM-DD\n title Adding GANTT diagram functionality to mermaid\n excludes weekends\n \n section A section\n Completed task :done, des1, 2014-01-06,2014-01-08\n Active task :active, des2, 2014-01-09, 3d\n Future task : des3, after des2, 5d\n Future task2 : des4, after des3, 5d\n \n section Critical tasks\n Completed task in the critical line :crit, done, 2014-01-06,24h\n Implement parser and jison :crit, done, after des1, 2d\n Create tests for parser :crit, active, 3d\n Future task in critical line :crit, 5d\n Create tests for renderer :2d\n Add to mermaid :1d\n Functionality added :milestone, 2014-01-25, 0d\n \n section Documentation\n Describe gantt syntax :active, a1, after des1, 3d\n Add gantt diagram to demo page :after a1 , 20h\n Add another diagram to demo page :doc1, after a1 , 48h\n \n section Last section\n Describe gantt syntax :after doc1, 3d\n Add gantt diagram to demo page :20h\n Add another diagram to demo page :48h",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "ede911d1-d519-494a-845a-33a2347a4b41",
|
||||
"categoryId": "ganttChart",
|
||||
"description": "milestones example",
|
||||
"content": "gantt\n dateFormat HH:mm\n axisFormat %H:%M\n Initial milestone : milestone, m1, 17:49,2min\n taska2 : 10min\n taska3 : 5min\n Final milestone : milestone, m2, 18:14, 2min",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "9c641239-521b-4e7d-8680-41400e20eb49",
|
||||
"categoryId": "pieChart",
|
||||
"description": "sample pie chart",
|
||||
"content": "pie title /r/obsidianmd posts by type\n \"Graphs\" : 85\n \"Dashboards\" : 14\n \"Tips\" : 1",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "90fbf382-435d-495b-8c14-a1b758602fec",
|
||||
"categoryId": "pieChart",
|
||||
"description": "sample pie chart with values shown in legend",
|
||||
"content": "pie showData title /r/obsidianmd posts by type\n \"Graphs\" : 85\n \"Dashboards\" : 14\n \"Tips\" : 1",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "4b42a05a-b81e-47ab-a23b-3d6beee6a68f",
|
||||
"categoryId": "requirementDiagram",
|
||||
"description": "sample requirements diagram",
|
||||
"content": " requirementDiagram\n\n requirement test_req {\n id: 1\n text: the test text.\n risk: high\n verifymethod: test\n }\n \n element test_entity {\n type: simulation\n }\n \n test_entity - satisfies -> test_req",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "e0407d51-0c91-45bb-b7d1-6eb669382bd8",
|
||||
"categoryId": "requirementDiagram",
|
||||
"description": "sample requirements diagram",
|
||||
"content": "element customElement {\n type: customType\n docref: customDocRef\n }",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6f808e9d-4bcc-423e-8372-2283940e285d",
|
||||
"categoryId": "requirementDiagram",
|
||||
"description": "a requirement with high risk",
|
||||
"content": "functionalRequirement myReq {\n id: reqId\n text: someText\n risk: High\n verifymethod: analysis\n }",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "09458e5f-b3af-4f5e-a43f-c96d585bcaee",
|
||||
"categoryId": "requirementDiagram",
|
||||
"description": "sample requirements diagram",
|
||||
"content": "interfaceRequirement myReq2 {\n id: reqId\n text: someText\n risk: Medium\n verifymethod: demonstration\n }",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "5581967d-eb25-4cd5-b161-eb9345585012",
|
||||
"categoryId": "requirementDiagram",
|
||||
"description": "sample requirements diagram",
|
||||
"content": "designConstraint myReq3 {\n id: reqId\n text: someText\n risk: Low\n verifymethod: test\n }",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "4df85f3a-0a21-46ef-94b2-1f7ac20659ba",
|
||||
"categoryId": "gitGraph",
|
||||
"description": "simple git graph",
|
||||
"content": "gitGraph\n commit\n commit\n branch develop\n checkout develop\n commit\n commit\n checkout main\n merge develop\n commit\n commit",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "241c6930-88da-438a-85c9-dc1ca8f4b3e1",
|
||||
"categoryId": "gitGraph",
|
||||
"description": "tagged commit",
|
||||
"content": "commit id: \"Normal\" tag: \"v1.0.0\"",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6d1bb248-32bd-4c7f-af21-a276e52d5bf6",
|
||||
"categoryId": "gitGraph",
|
||||
"description": "reverse commit",
|
||||
"content": "commit id: \"Reverse\" type: REVERSE",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "65a0b460-cf18-4c7b-a39a-cc8c4ad11578",
|
||||
"categoryId": "gitGraph",
|
||||
"description": "highlighted commit",
|
||||
"content": "commit id: \"Highlight\" type: HIGHLIGHT",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "7cd136f5-4519-49d3-90d8-f845c59f606f",
|
||||
"categoryId": "gitGraph",
|
||||
"description": "reverse commit",
|
||||
"content": "commit id: \"Reverse\" type: REVERSE",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "69d9ed7f-aebd-4dda-a920-05f486dfddba",
|
||||
"categoryId": "gitGraph",
|
||||
"description": "git graph with cherry-pick",
|
||||
"content": "gitGraph\n commit id: \"ZERO\"\n branch develop\n commit id:\"A\"\n checkout main\n commit id:\"ONE\"\n checkout develop\n commit id:\"B\"\n checkout main\n commit id:\"TWO\"\n cherry-pick id:\"A\"\n commit id:\"THREE\"\n checkout develop\n commit id:\"C\"",
|
||||
"sortingOrder": 5,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "ddc3aff8-b403-4ef7-a8ca-b3dbe8a75272",
|
||||
"categoryId": "mindmap",
|
||||
"description": "a simple mindmap",
|
||||
"content": "mindmap\n Root\n A\n B\n C",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "fc3097e2-fc2c-463e-ac54-e6a91c8573e9",
|
||||
"categoryId": "mindmap",
|
||||
"description": "square",
|
||||
"content": "id[I am a square]",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "76e932cc-e140-41f5-96e4-eef5225569ad",
|
||||
"categoryId": "mindmap",
|
||||
"description": "rounded square",
|
||||
"content": "id(I am a rounded square)",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "2943cf70-a543-4847-99da-5428de6cb5df",
|
||||
"categoryId": "mindmap",
|
||||
"description": "circle",
|
||||
"content": "id((I am a circle))",
|
||||
"sortingOrder": 4,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "b8cc4c57-a8b1-462e-8558-ddd780339d98",
|
||||
"categoryId": "mindmap",
|
||||
"description": "bang",
|
||||
"content": "id))I am a bang((",
|
||||
"sortingOrder": 5,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "9ab2c4b7-e2c3-42cd-a846-3fcc36cb0868",
|
||||
"categoryId": "mindmap",
|
||||
"description": "cloud",
|
||||
"content": "id)I am a cloud(",
|
||||
"sortingOrder": 6,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "be1122b5-fdd0-4958-b305-7f08b2fd3e76",
|
||||
"categoryId": "mindmap",
|
||||
"description": "hexagon",
|
||||
"content": "id{{I am a hexagon}}",
|
||||
"sortingOrder": 7,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "2cf43034-8777-405c-935d-81a27aba2f64",
|
||||
"categoryId": "mindmap",
|
||||
"description": "default",
|
||||
"content": "I am the default shape",
|
||||
"sortingOrder": 8,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "b3e18945-295e-4a29-a954-fd3e1c80caff",
|
||||
"categoryId": "mindmap",
|
||||
"description": "sample mindmap",
|
||||
"content": "mindmap\n root((mindmap))\n Origins\n Long history\n Popularisation\n British popular psychology author Tony Buzan\n Research\n On effectiveness<br/>and features\n On Automatic creation\n Uses\n Creative techniques\n Strategic planning\n Argument mapping\n Tools\n Pen and paper\n Mermaid",
|
||||
"sortingOrder": 9,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6af01e26-c328-448f-9c0e-7293ccf65ad0",
|
||||
"categoryId": "timeline",
|
||||
"description": "sample timeline",
|
||||
"content": "timeline\n\t\ttitle History of Social Media Platform\n\t\t2002 : LinkedIn\n\t\t2004 : Facebook\n\t\t\t : Google\n\t\t2005 : Youtube\n\t\t2006 : Twitter",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "58536caa-6860-457b-8fd8-96f132530355",
|
||||
"categoryId": "timeline",
|
||||
"description": "timeline with grouping",
|
||||
"content": "timeline\n\t\ttitle Timeline of Industrial Revolution\n\t\tsection 17th-20th century\n\t\t\tIndustry 1.0 : Machinery, Water power, Steam <br>power\n\t\t\tIndustry 2.0 : Electricity, Internal combustion engine, Mass production\n\t\t\tIndustry 3.0 : Electronics, Computers, Automation\n\t\tsection 21st century\n\t\t\tIndustry 4.0 : Internet, Robotics, Internet of Things\n\t\t\tIndustry 5.0 : Artificial intelligence, Big data,3D printing",
|
||||
"sortingOrder": 2,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "6c7b156f-319b-46c1-a0f7-e62be3571fc9",
|
||||
"categoryId": "timeline",
|
||||
"description": "timeline with Forest theme. see the docs for additional themes",
|
||||
"content": "%%{init: { 'logLevel': 'debug', 'theme': 'forest' } }%%\n\t\ttimeline\n\t\t\ttitle History of Social Media Platform\n\t\t\t 2002 : LinkedIn\n\t\t\t 2004 : Facebook : Google\n\t\t\t 2005 : Youtube\n\t\t\t 2006 : Twitter\n\t\t\t 2007 : Tumblr\n\t\t\t 2008 : Instagram\n\t\t\t 2010 : Pinterest",
|
||||
"sortingOrder": 3,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "db1924f2-1c69-4e15-a665-74a062d12cd4",
|
||||
"categoryId": "quadrantChart",
|
||||
"description": "sample quadrant chart",
|
||||
"content": "quadrantChart\n\t\ttitle Reach and engagement of campaigns\n\t\tx-axis Low Reach --> High Reach\n\t\ty-axis Low Engagement --> High Engagement\n\t\tquadrant-1 We should expand\n\t\tquadrant-2 Need to promote\n\t\tquadrant-3 Re-evaluate\n\t\tquadrant-4 May be improved\n\t\tCampaign A: [0.3, 0.6]\n\t\tCampaign B: [0.45, 0.23]\n\t\tCampaign C: [0.57, 0.69]\n\t\tCampaign D: [0.78, 0.34]\n\t\tCampaign E: [0.40, 0.34]\n\t\tCampaign F: [0.35, 0.78]",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "f8259530-5179-4548-a42c-e672a7c28ac0",
|
||||
"categoryId": "quadrantChart",
|
||||
"description": "themed quadrant chart",
|
||||
"content": "%%{init: {\"quadrantChart\": {\"chartWidth\": 400, \"chartHeight\": 400}, \"themeVariables\": {\"quadrant1TextFill\": \"#ff0000\"} }}%%\n\t\tquadrantChart\n\t\t x-axis Urgent --> Not Urgent\n\t\t y-axis Not Important --> \"Important ❤\"\n\t\t quadrant-1 Plan\n\t\t quadrant-2 Do\n\t\t quadrant-3 Delegate\n\t\t quadrant-4 Delete",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "8a28b8a2-f058-414b-b82a-900153d11a2f",
|
||||
"categoryId": "c4Diagram",
|
||||
"description": "sample C4 diagram (compatible with PlantUML)",
|
||||
"content": "C4Context\n\t\ttitle System Context diagram for Internet Banking System\n\t\tEnterprise_Boundary(b0, \"BankBoundary0\") {\n\t\t Person(customerA, \"Banking Customer A\", \"A customer of the bank, with personal bank accounts.\")\n\t\t Person(customerB, \"Banking Customer B\")\n\t\t Person_Ext(customerC, \"Banking Customer C\", \"desc\")\n \n\t\t Person(customerD, \"Banking Customer D\", \"A customer of the bank, <br/> with personal bank accounts.\")\n \n\t\t System(SystemAA, \"Internet Banking System\", \"Allows customers to view information about their bank accounts, and make payments.\")\n \n\t\t Enterprise_Boundary(b1, \"BankBoundary\") {\n \n\t\t\tSystemDb_Ext(SystemE, \"Mainframe Banking System\", \"Stores all of the core banking information about customers, accounts, transactions, etc.\")\n \n\t\t\tSystem_Boundary(b2, \"BankBoundary2\") {\n\t\t\t System(SystemA, \"Banking System A\")\n\t\t\t System(SystemB, \"Banking System B\", \"A system of the bank, with personal bank accounts. next line.\")\n\t\t\t}\n \n\t\t\tSystem_Ext(SystemC, \"E-mail system\", \"The internal Microsoft Exchange e-mail system.\")\n\t\t\tSystemDb(SystemD, \"Banking System D Database\", \"A system of the bank, with personal bank accounts.\")\n \n\t\t\tBoundary(b3, \"BankBoundary3\", \"boundary\") {\n\t\t\t SystemQueue(SystemF, \"Banking System F Queue\", \"A system of the bank.\")\n\t\t\t SystemQueue_Ext(SystemG, \"Banking System G Queue\", \"A system of the bank, with personal bank accounts.\")\n\t\t\t}\n\t\t }\n\t\t}\n \n\t\tBiRel(customerA, SystemAA, \"Uses\")\n\t\tBiRel(SystemAA, SystemE, \"Uses\")\n\t\tRel(SystemAA, SystemC, \"Sends e-mails\", \"SMTP\")\n\t\tRel(SystemC, customerA, \"Sends e-mails to\")\n \n\t\tUpdateElementStyle(customerA, $fontColor=\"red\", $bgColor=\"grey\", $borderColor=\"red\")\n\t\tUpdateRelStyle(customerA, SystemAA, $textColor=\"blue\", $lineColor=\"blue\", $offsetX=\"5\")\n\t\tUpdateRelStyle(SystemAA, SystemE, $textColor=\"blue\", $lineColor=\"blue\", $offsetY=\"-10\")\n\t\tUpdateRelStyle(SystemAA, SystemC, $textColor=\"blue\", $lineColor=\"blue\", $offsetY=\"-40\", $offsetX=\"-50\")\n\t\tUpdateRelStyle(SystemC, customerA, $textColor=\"red\", $lineColor=\"red\", $offsetX=\"-50\", $offsetY=\"20\")\n \n\t\tUpdateLayoutConfig($c4ShapeInRow=\"3\", $c4BoundaryInRow=\"1\")",
|
||||
"sortingOrder": 1,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "d476fcb2-171b-407b-a14c-fc229928f3c5",
|
||||
"categoryId": "sankeyDiagram",
|
||||
"description": "",
|
||||
"content": "sankey-beta\n %% source,target,value\n Electricity grid,Over generation / exports,104.453\n Electricity grid,Heating and cooling - homes,113.726\n Electricity grid,H2 conversion,27.14",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "fd51101c-845f-41cc-98ea-cf3d9064f4fe",
|
||||
"categoryId": "xyChart",
|
||||
"description": "a sample XYChart diagram",
|
||||
"content": "xychart-beta\n title \"Sales Revenue\"\n x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]\n y-axis \"Revenue (in $)\" 4000 --> 11000\n bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]\n line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "4d105a15-f99c-47da-909b-9cf95a3b0d0f",
|
||||
"categoryId": "packet",
|
||||
"description": "a sample packet diagram",
|
||||
"content": "packet-beta\ntitle UDP Packet\n0-15: \"Source Port\"\n16-31: \"Destination Port\"\n32-47: \"Length\"\n48-63: \"Checksum\"\n64-95: \"Data (variable length)\"\n",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "016f803e-9b70-40a9-9ba5-aed11358011f",
|
||||
"categoryId": "kanban",
|
||||
"description": "a sample kanban diagram",
|
||||
"content": "kanban\n Todo\n [Create Documentation]\n docs[Create Blog about the new diagram]\n [In progress]\n id6[Create renderer so that it works in all cases. We also add som extra text here for testing purposes. And some more just for the extra flare.]\n id9[Ready for deploy]\n id8[Design grammar]@{ assigned: 'knsv' }\n id10[Ready for test]\n id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }\n id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }\n id11[Done]\n id5[define getData]\n id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char]@{ ticket: MC-2036, priority: 'Very High'}\n id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }\n\n id12[Can't reproduce]\n id3[Weird flickering in Firefox]",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "64c83d61-8d0f-49a1-a719-a333e59d3063",
|
||||
"categoryId": "block",
|
||||
"description": "a sample block diagram",
|
||||
"content": "block-beta\ncolumns 1\n db((\"DB\"))\n blockArrowId6<[\" \"]>(down)\n block:ID\n A\n B[\"A wide one in the middle\"]\n C\n end\n space\n D\n ID --> D\n C --> D\n style B fill:#969,stroke:#333,stroke-width:4px\n",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
},
|
||||
{
|
||||
"id": "9ae060df-8b48-4c98-a735-3dbe736b2fcc",
|
||||
"categoryId": "architecture",
|
||||
"description": "a sample architecture diagram",
|
||||
"content": "architecture-beta\n group api(cloud)[API]\n\n service db(database)[Database] in api\n service disk1(disk)[Storage] in api\n service disk2(disk)[Storage] in api\n service server(server)[Server] in api\n\n db:L -- R:server\n disk1:T -- B:server\n disk2:T -- B:db\n",
|
||||
"sortingOrder": 0,
|
||||
"isPinned": false
|
||||
}
|
||||
],
|
||||
"customCategories": [],
|
||||
"selectedCategoryId": "block",
|
||||
"defaultCategorySortOrders": {},
|
||||
"categoryModifications": {}
|
||||
}
|
||||
2633
.obsidian/plugins/mermaid-tools/main.js
vendored
Normal file
11
.obsidian/plugins/mermaid-tools/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "mermaid-tools",
|
||||
"name": "Mermaid Tools",
|
||||
"version": "1.3.0",
|
||||
"minAppVersion": "1.4.0",
|
||||
"description": "Improved Mermaid.js experience for Obsidian: visual toolbar with common elements & more",
|
||||
"author": "dartungar",
|
||||
"authorUrl": "https://dartungar.com",
|
||||
"fundingUrl": "https://www.paypal.com/paypalme/dartungar",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
149
.obsidian/plugins/mermaid-tools/styles.css
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
.mermaid-toolbar-container, .mermaid-toolbar-container * {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.mermaid-toolbar-top-row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.mermaid-toolbar-elements-container {
|
||||
padding-top: 1rem;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.mermaid-toolbar-element {
|
||||
font-size: var(--font-ui-small);
|
||||
cursor: pointer;
|
||||
padding: 2px 2px 2px 5px;
|
||||
border-radius: 3px;
|
||||
flex: 1 0 auto;
|
||||
}
|
||||
|
||||
.mermaid-toolbar-element:hover {
|
||||
background-color: var(--interactive-hover);
|
||||
}
|
||||
|
||||
.mermaid-tools-element-category-header::before {
|
||||
content: "▼ ";
|
||||
font-size: 70%;
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
.mermaid-tools-element-category-header.collapsed::before {
|
||||
content: "▶ ";
|
||||
font-size: 70%;
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
.mermaid-tools-element-container {
|
||||
padding-top: 6px;
|
||||
border-bottom: var(--border-width) solid var(--color-base-35);
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-element-modal > div {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-element-modal label {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
/* Custom Category Management Styles */
|
||||
.mermaid-tools-category-management {
|
||||
margin-bottom: 2rem;
|
||||
padding: 1rem;
|
||||
border: 1px solid var(--color-base-25);
|
||||
border-radius: 8px;
|
||||
background-color: var(--color-base-00);
|
||||
}
|
||||
|
||||
.mermaid-tools-category-management h3 {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
.mermaid-tools-category-management button.mod-cta {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
/* Edit Category Modal Styles */
|
||||
.mermaid-tools-edit-category-modal {
|
||||
min-width: 500px;
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-category-modal .setting-item {
|
||||
padding: 8px 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-category-modal .setting-item-info {
|
||||
flex-grow: 1;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-category-modal .setting-item-name {
|
||||
font-weight: 600;
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-category-modal .setting-item-description {
|
||||
color: var(--text-muted);
|
||||
font-size: var(--font-ui-smaller);
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-category-modal input,
|
||||
.mermaid-tools-edit-category-modal textarea {
|
||||
width: 100%;
|
||||
padding: 4px 8px;
|
||||
border: 1px solid var(--color-base-30);
|
||||
border-radius: 4px;
|
||||
background-color: var(--color-base-00);
|
||||
color: var(--text-normal);
|
||||
}
|
||||
|
||||
.mermaid-tools-edit-category-modal input:focus,
|
||||
.mermaid-tools-edit-category-modal textarea:focus {
|
||||
border-color: var(--color-accent);
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 2px var(--color-accent-2);
|
||||
}
|
||||
|
||||
.modal-button-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 10px;
|
||||
margin-top: 20px;
|
||||
padding-top: 16px;
|
||||
border-top: 1px solid var(--color-base-25);
|
||||
}
|
||||
|
||||
.modal-button-container button {
|
||||
padding: 6px 16px;
|
||||
border: 1px solid var(--color-base-30);
|
||||
border-radius: 4px;
|
||||
background-color: var(--color-base-10);
|
||||
color: var(--text-normal);
|
||||
cursor: pointer;
|
||||
font-size: var(--font-ui-small);
|
||||
}
|
||||
|
||||
.modal-button-container button:hover {
|
||||
background-color: var(--color-base-20);
|
||||
}
|
||||
|
||||
.modal-button-container button.mod-cta {
|
||||
background-color: var(--color-accent);
|
||||
color: var(--text-on-accent);
|
||||
border-color: var(--color-accent);
|
||||
}
|
||||
|
||||
.modal-button-container button.mod-cta:hover {
|
||||
background-color: var(--color-accent-hover);
|
||||
}
|
||||
987
.obsidian/plugins/obsidian-excalidraw-plugin/data.json
vendored
Normal file
@@ -0,0 +1,987 @@
|
||||
{
|
||||
"copyLinkToElemenetAnchorTo100": false,
|
||||
"copyFrameLinkByName": false,
|
||||
"disableDoubleClickTextEditing": false,
|
||||
"phoneFooterSafeAreaPadding": false,
|
||||
"folder": "Excalidraw",
|
||||
"cropFolder": "",
|
||||
"annotateFolder": "",
|
||||
"embedUseExcalidrawFolder": false,
|
||||
"templateFilePath": "Excalidraw/Template.excalidraw",
|
||||
"scriptFolderPath": "Excalidraw/Scripts",
|
||||
"fontAssetsPath": "Excalidraw/CJK Fonts",
|
||||
"loadChineseFonts": false,
|
||||
"loadJapaneseFonts": false,
|
||||
"loadKoreanFonts": false,
|
||||
"compress": true,
|
||||
"decompressForMDView": false,
|
||||
"onceOffCompressFlagReset": true,
|
||||
"onceOffGPTVersionReset": true,
|
||||
"autosave": true,
|
||||
"autosaveIntervalDesktop": 60000,
|
||||
"autosaveIntervalMobile": 30000,
|
||||
"drawingFilenamePrefix": "Drawing ",
|
||||
"drawingEmbedPrefixWithFilename": true,
|
||||
"drawingFilnameEmbedPostfix": " ",
|
||||
"drawingFilenameDateTime": "YYYY-MM-DD HH.mm.ss",
|
||||
"useExcalidrawExtension": true,
|
||||
"cropSuffix": "",
|
||||
"cropPrefix": "cropped_",
|
||||
"annotateSuffix": "",
|
||||
"annotatePrefix": "annotated_",
|
||||
"annotatePreserveSize": false,
|
||||
"displaySVGInPreview": false,
|
||||
"previewImageType": "SVG",
|
||||
"renderingConcurrency": 3,
|
||||
"imageCacheRetentionDays": 30,
|
||||
"allowImageCache": true,
|
||||
"allowImageCacheInScene": true,
|
||||
"displayExportedImageIfAvailable": false,
|
||||
"previewMatchObsidianTheme": false,
|
||||
"width": "400",
|
||||
"height": "",
|
||||
"overrideObsidianFontSize": false,
|
||||
"dynamicStyling": "colorful",
|
||||
"isLeftHanded": false,
|
||||
"desktopUIMode": "tray",
|
||||
"tabletUIMode": "compact",
|
||||
"phoneUIMode": "mobile",
|
||||
"iframeMatchExcalidrawTheme": true,
|
||||
"matchTheme": false,
|
||||
"matchThemeAlways": false,
|
||||
"matchThemeTrigger": false,
|
||||
"defaultMode": "normal",
|
||||
"defaultPenMode": "never",
|
||||
"penModeDoubleTapEraser": true,
|
||||
"penModeSingleFingerPanning": true,
|
||||
"penModeCrosshairVisible": true,
|
||||
"panWithRightMouseButton": false,
|
||||
"renderImageInMarkdownReadingMode": false,
|
||||
"renderImageInHoverPreviewForMDNotes": false,
|
||||
"renderImageInMarkdownToPDF": false,
|
||||
"allowPinchZoom": false,
|
||||
"allowWheelZoom": false,
|
||||
"zoomToFitOnOpen": true,
|
||||
"zoomToFitOnResize": false,
|
||||
"zoomToFitMaxLevel": 2,
|
||||
"zoomStep": 0.05,
|
||||
"zoomMin": 0.1,
|
||||
"zoomMax": 30,
|
||||
"linkPrefix": "📍",
|
||||
"urlPrefix": "🌐",
|
||||
"parseTODO": false,
|
||||
"todo": "☐",
|
||||
"done": "🗹",
|
||||
"hoverPreviewWithoutCTRL": false,
|
||||
"linkOpacity": 1,
|
||||
"openInAdjacentPane": true,
|
||||
"showSecondOrderLinks": true,
|
||||
"focusOnFileTab": true,
|
||||
"openInMainWorkspace": true,
|
||||
"showLinkBrackets": false,
|
||||
"syncElementLinkWithText": false,
|
||||
"allowCtrlClick": true,
|
||||
"forceWrap": false,
|
||||
"pageTransclusionCharLimit": 200,
|
||||
"wordWrappingDefault": 0,
|
||||
"removeTransclusionQuoteSigns": true,
|
||||
"iframelyAllowed": false,
|
||||
"pngExportScale": 1,
|
||||
"exportWithTheme": true,
|
||||
"exportWithBackground": true,
|
||||
"exportPaddingSVG": 10,
|
||||
"exportEmbedScene": false,
|
||||
"keepInSync": false,
|
||||
"autoexportSVG": false,
|
||||
"autoexportPNG": false,
|
||||
"autoExportLightAndDark": false,
|
||||
"autoexportExcalidraw": false,
|
||||
"embedType": "excalidraw",
|
||||
"embedMarkdownCommentLinks": true,
|
||||
"embedWikiLink": true,
|
||||
"syncExcalidraw": false,
|
||||
"experimentalFileType": false,
|
||||
"experimentalFileTag": "✏️",
|
||||
"experimentalLivePreview": true,
|
||||
"fadeOutExcalidrawMarkup": false,
|
||||
"loadPropertySuggestions": false,
|
||||
"experimentalEnableFourthFont": false,
|
||||
"experimantalFourthFont": "Virgil",
|
||||
"addDummyTextElement": false,
|
||||
"zoteroCompatibility": false,
|
||||
"fieldSuggester": true,
|
||||
"enableOnloadScripts": false,
|
||||
"compatibilityMode": false,
|
||||
"drawingOpenCount": 0,
|
||||
"library": "deprecated",
|
||||
"library2": {
|
||||
"type": "excalidrawlib",
|
||||
"version": 2,
|
||||
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag2.23.3",
|
||||
"libraryItems": []
|
||||
},
|
||||
"imageElementNotice": true,
|
||||
"mdSVGwidth": 500,
|
||||
"mdSVGmaxHeight": 800,
|
||||
"mdFont": "Virgil",
|
||||
"mdFontColor": "Black",
|
||||
"mdBorderColor": "Black",
|
||||
"mdCSS": "",
|
||||
"scriptEngineSettings": {},
|
||||
"previousRelease": "2.23.3",
|
||||
"showReleaseNotes": true,
|
||||
"excalidrawMasteryPromoCollapsed": false,
|
||||
"compareManifestToPluginVersion": true,
|
||||
"showNewVersionNotification": true,
|
||||
"latexBoilerplate": "\\color{green}e=mc^2",
|
||||
"latexPreambleLocation": "preamble.sty",
|
||||
"taskboneEnabled": false,
|
||||
"taskboneAPIkey": "",
|
||||
"pinnedScripts": [],
|
||||
"sidepanelTabs": [],
|
||||
"customPens": [
|
||||
{
|
||||
"type": "default",
|
||||
"freedrawOnly": false,
|
||||
"strokeColor": "#000000",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0,
|
||||
"roughness": 0,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"constantPressure": false,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"thinning": 0.6,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "easeOutSine",
|
||||
"start": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "highlighter",
|
||||
"freedrawOnly": true,
|
||||
"strokeColor": "#FFC47C",
|
||||
"backgroundColor": "#FFC47C",
|
||||
"fillStyle": "solid",
|
||||
"strokeWidth": 2,
|
||||
"roughness": null,
|
||||
"penOptions": {
|
||||
"highlighter": true,
|
||||
"constantPressure": true,
|
||||
"hasOutline": true,
|
||||
"outlineWidth": 4,
|
||||
"options": {
|
||||
"thinning": 1,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "linear",
|
||||
"start": {
|
||||
"taper": 0,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"taper": 0,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "finetip",
|
||||
"freedrawOnly": false,
|
||||
"strokeColor": "#3E6F8D",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0.5,
|
||||
"roughness": 0,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"constantPressure": true,
|
||||
"options": {
|
||||
"smoothing": 0.4,
|
||||
"thinning": -0.5,
|
||||
"streamline": 0.4,
|
||||
"easing": "linear",
|
||||
"start": {
|
||||
"taper": 5,
|
||||
"cap": false,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"taper": 5,
|
||||
"cap": false,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "fountain",
|
||||
"freedrawOnly": false,
|
||||
"strokeColor": "#000000",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 2,
|
||||
"roughness": 0,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"constantPressure": false,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"smoothing": 0.2,
|
||||
"thinning": 0.6,
|
||||
"streamline": 0.2,
|
||||
"easing": "easeInOutSine",
|
||||
"start": {
|
||||
"taper": 150,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"taper": 1,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "marker",
|
||||
"freedrawOnly": true,
|
||||
"strokeColor": "#B83E3E",
|
||||
"backgroundColor": "#FF7C7C",
|
||||
"fillStyle": "dashed",
|
||||
"strokeWidth": 2,
|
||||
"roughness": 3,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"constantPressure": true,
|
||||
"hasOutline": true,
|
||||
"outlineWidth": 4,
|
||||
"options": {
|
||||
"thinning": 1,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "linear",
|
||||
"start": {
|
||||
"taper": 0,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"taper": 0,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "thick-thin",
|
||||
"freedrawOnly": true,
|
||||
"strokeColor": "#CECDCC",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0,
|
||||
"roughness": null,
|
||||
"penOptions": {
|
||||
"highlighter": true,
|
||||
"constantPressure": true,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"thinning": 1,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "linear",
|
||||
"start": {
|
||||
"taper": 0,
|
||||
"cap": true,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"cap": true,
|
||||
"taper": true,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "thin-thick-thin",
|
||||
"freedrawOnly": true,
|
||||
"strokeColor": "#CECDCC",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0,
|
||||
"roughness": null,
|
||||
"penOptions": {
|
||||
"highlighter": true,
|
||||
"constantPressure": true,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"thinning": 1,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "linear",
|
||||
"start": {
|
||||
"cap": true,
|
||||
"taper": true,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"cap": true,
|
||||
"taper": true,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "default",
|
||||
"freedrawOnly": false,
|
||||
"strokeColor": "#000000",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0,
|
||||
"roughness": 0,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"constantPressure": false,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"thinning": 0.6,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "easeOutSine",
|
||||
"start": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "default",
|
||||
"freedrawOnly": false,
|
||||
"strokeColor": "#000000",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0,
|
||||
"roughness": 0,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"constantPressure": false,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"thinning": 0.6,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "easeOutSine",
|
||||
"start": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "default",
|
||||
"freedrawOnly": false,
|
||||
"strokeColor": "#000000",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 0,
|
||||
"roughness": 0,
|
||||
"penOptions": {
|
||||
"highlighter": false,
|
||||
"constantPressure": false,
|
||||
"hasOutline": false,
|
||||
"outlineWidth": 1,
|
||||
"options": {
|
||||
"thinning": 0.6,
|
||||
"smoothing": 0.5,
|
||||
"streamline": 0.5,
|
||||
"easing": "easeOutSine",
|
||||
"start": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
},
|
||||
"end": {
|
||||
"cap": true,
|
||||
"taper": 0,
|
||||
"easing": "linear"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"numberOfCustomPens": 0,
|
||||
"pdfScale": 4,
|
||||
"pdfBorderBox": true,
|
||||
"pdfFrame": false,
|
||||
"pdfGapSize": 20,
|
||||
"pdfGroupPages": false,
|
||||
"pdfLockAfterImport": true,
|
||||
"pdfNumColumns": 1,
|
||||
"pdfNumRows": 1,
|
||||
"pdfDirection": "right",
|
||||
"pdfImportScale": 0.3,
|
||||
"gridSettings": {
|
||||
"DYNAMIC_COLOR": true,
|
||||
"COLOR": "#000000",
|
||||
"OPACITY": 50,
|
||||
"GRID_DIRECTION": {
|
||||
"horizontal": true,
|
||||
"vertical": true
|
||||
}
|
||||
},
|
||||
"laserSettings": {
|
||||
"DECAY_LENGTH": 50,
|
||||
"DECAY_TIME": 1000,
|
||||
"COLOR": "#ff0000"
|
||||
},
|
||||
"embeddableMarkdownDefaults": {
|
||||
"useObsidianDefaults": false,
|
||||
"backgroundMatchCanvas": false,
|
||||
"backgroundMatchElement": true,
|
||||
"backgroundColor": "#fff",
|
||||
"backgroundOpacity": 60,
|
||||
"borderMatchElement": true,
|
||||
"borderColor": "#fff",
|
||||
"borderOpacity": 0,
|
||||
"filenameVisible": false
|
||||
},
|
||||
"markdownNodeOneClickEditing": false,
|
||||
"canvasImmersiveEmbed": true,
|
||||
"startupScriptPath": "",
|
||||
"aiEnabled": true,
|
||||
"aiVerboseLogging": false,
|
||||
"aiProviderProfiles": {
|
||||
"OpenAI": {
|
||||
"provider": "openai",
|
||||
"apiKey": "",
|
||||
"baseURL": "https://api.openai.com/v1"
|
||||
},
|
||||
"Anthropic": {
|
||||
"provider": "anthropic",
|
||||
"apiKey": "",
|
||||
"baseURL": "https://api.anthropic.com/v1"
|
||||
},
|
||||
"Google Gemini": {
|
||||
"provider": "google",
|
||||
"apiKey": "",
|
||||
"baseURL": "https://generativelanguage.googleapis.com/v1beta"
|
||||
},
|
||||
"xAI": {
|
||||
"provider": "xai",
|
||||
"apiKey": "",
|
||||
"baseURL": "https://api.x.ai/v1"
|
||||
},
|
||||
"OpenAI-compatible": {
|
||||
"provider": "openai-compatible",
|
||||
"apiKey": "",
|
||||
"baseURL": "https://api.openai.com/v1"
|
||||
}
|
||||
},
|
||||
"aiTextModelConfigs": {
|
||||
"gpt-5-mini": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "gpt-5-mini",
|
||||
"endpoint": "",
|
||||
"multimodalSupport": true
|
||||
},
|
||||
"claude-sonnet-4-5": {
|
||||
"providerId": "Anthropic",
|
||||
"model": "claude-sonnet-4-5",
|
||||
"endpoint": "",
|
||||
"multimodalSupport": true
|
||||
},
|
||||
"gemini-2.5-pro": {
|
||||
"providerId": "Google Gemini",
|
||||
"model": "gemini-2.5-pro",
|
||||
"endpoint": "",
|
||||
"multimodalSupport": true
|
||||
},
|
||||
"grok-4-fast": {
|
||||
"providerId": "xAI",
|
||||
"model": "grok-4-fast",
|
||||
"endpoint": "",
|
||||
"multimodalSupport": true
|
||||
}
|
||||
},
|
||||
"aiImageModelConfigs": {
|
||||
"dall-e-2": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "dall-e-2",
|
||||
"supportedSizes": [
|
||||
"256x256",
|
||||
"512x512",
|
||||
"1024x1024"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": true
|
||||
},
|
||||
"dall-e-3": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "dall-e-3",
|
||||
"supportedSizes": [
|
||||
"1024x1024",
|
||||
"1792x1024",
|
||||
"1024x1792"
|
||||
],
|
||||
"supportsPromptImageTransforms": false,
|
||||
"supportsMaskImageEdits": false
|
||||
},
|
||||
"gpt-image-1": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "gpt-image-1",
|
||||
"supportedSizes": [
|
||||
"1024x1024",
|
||||
"1536x1024",
|
||||
"1024x1536"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": true
|
||||
},
|
||||
"gpt-image-1-mini": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "gpt-image-1-mini",
|
||||
"supportedSizes": [
|
||||
"1024x1024",
|
||||
"1536x1024",
|
||||
"1024x1536"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": true
|
||||
},
|
||||
"gpt-image-1.5": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "gpt-image-1.5",
|
||||
"supportedSizes": [
|
||||
"1024x1024",
|
||||
"1536x1024",
|
||||
"1024x1536"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": true
|
||||
},
|
||||
"gpt-image-2": {
|
||||
"providerId": "OpenAI",
|
||||
"model": "gpt-image-2",
|
||||
"supportedSizes": [
|
||||
"1024x1024",
|
||||
"1536x1024",
|
||||
"1024x1536",
|
||||
"2048x2048"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": true
|
||||
},
|
||||
"gemini-2.5-flash-image": {
|
||||
"providerId": "Google Gemini",
|
||||
"model": "gemini-2.5-flash-image",
|
||||
"supportedSizes": [
|
||||
"1024x1024"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": false
|
||||
},
|
||||
"gemini-3.1-flash-image-preview": {
|
||||
"providerId": "Google Gemini",
|
||||
"model": "gemini-3.1-flash-image-preview",
|
||||
"supportedSizes": [
|
||||
"1024x1024"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": false
|
||||
},
|
||||
"gemini-3-pro-image-preview": {
|
||||
"providerId": "Google Gemini",
|
||||
"model": "gemini-3-pro-image-preview",
|
||||
"supportedSizes": [
|
||||
"1024x1024"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": false
|
||||
},
|
||||
"grok-imagine-image-quality": {
|
||||
"providerId": "xAI",
|
||||
"model": "grok-imagine-image-quality",
|
||||
"supportedSizes": [
|
||||
"1024x1024"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": false
|
||||
},
|
||||
"grok-imagine-image-pro": {
|
||||
"providerId": "xAI",
|
||||
"model": "grok-imagine-image-pro",
|
||||
"supportedSizes": [
|
||||
"1024x1024"
|
||||
],
|
||||
"supportsPromptImageTransforms": true,
|
||||
"supportsMaskImageEdits": false
|
||||
}
|
||||
},
|
||||
"aiDefaultTextModel": "gpt-5-mini",
|
||||
"aiDefaultImageGenerationModel": "gpt-image-1",
|
||||
"aiDefaultMaxOutgoingTokens": 0,
|
||||
"aiDefaultMaxResponseTokens": 0,
|
||||
"modifierKeyConfig": {
|
||||
"Mac": {
|
||||
"LocalFileDragAction": {
|
||||
"defaultAction": "image-import",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-import"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "link"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-url"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "embeddable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"WebBrowserDragAction": {
|
||||
"defaultAction": "image-url",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-url"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "link"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "embeddable"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-import"
|
||||
}
|
||||
]
|
||||
},
|
||||
"InternalDragAction": {
|
||||
"defaultAction": "link",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "link"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": true,
|
||||
"result": "embeddable"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": true,
|
||||
"result": "image-fullsize"
|
||||
}
|
||||
]
|
||||
},
|
||||
"LinkClickAction": {
|
||||
"defaultAction": "new-tab",
|
||||
"rules": [
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "active-pane"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "new-tab"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "new-pane"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "popout-window"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": true,
|
||||
"result": "md-properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"Win": {
|
||||
"LocalFileDragAction": {
|
||||
"defaultAction": "image-import",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-import"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "link"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-url"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "embeddable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"WebBrowserDragAction": {
|
||||
"defaultAction": "image-url",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-url"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "link"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "embeddable"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-import"
|
||||
}
|
||||
]
|
||||
},
|
||||
"InternalDragAction": {
|
||||
"defaultAction": "link",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "link"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "embeddable"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": false,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "image"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "image-fullsize"
|
||||
}
|
||||
]
|
||||
},
|
||||
"LinkClickAction": {
|
||||
"defaultAction": "new-tab",
|
||||
"rules": [
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "active-pane"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": false,
|
||||
"result": "new-tab"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "new-pane"
|
||||
},
|
||||
{
|
||||
"shift": true,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": true,
|
||||
"meta_ctrl": false,
|
||||
"result": "popout-window"
|
||||
},
|
||||
{
|
||||
"shift": false,
|
||||
"ctrl_cmd": true,
|
||||
"alt_opt": false,
|
||||
"meta_ctrl": true,
|
||||
"result": "md-properties"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"slidingPanesSupport": false,
|
||||
"areaZoomLimit": 1,
|
||||
"longPressDesktop": 500,
|
||||
"longPressMobile": 500,
|
||||
"doubleClickLinkOpenViewMode": true,
|
||||
"rank": "Bronze",
|
||||
"modifierKeyOverrides": [
|
||||
{
|
||||
"modifiers": [
|
||||
"Mod"
|
||||
],
|
||||
"key": "Enter"
|
||||
},
|
||||
{
|
||||
"modifiers": [
|
||||
"Mod"
|
||||
],
|
||||
"key": "k"
|
||||
},
|
||||
{
|
||||
"modifiers": [
|
||||
"Mod"
|
||||
],
|
||||
"key": "G"
|
||||
}
|
||||
],
|
||||
"showSplashscreen": true,
|
||||
"pdfSettings": {
|
||||
"pageSize": "A4",
|
||||
"pageOrientation": "portrait",
|
||||
"fitToPage": 1,
|
||||
"paperColor": "white",
|
||||
"customPaperColor": "#ffffff",
|
||||
"alignment": "center",
|
||||
"margin": "normal"
|
||||
},
|
||||
"disableContextMenu": false
|
||||
}
|
||||
10
.obsidian/plugins/obsidian-excalidraw-plugin/main.js
vendored
Normal file
12
.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"id": "obsidian-excalidraw-plugin",
|
||||
"name": "Excalidraw",
|
||||
"version": "2.23.3",
|
||||
"minAppVersion": "1.5.7",
|
||||
"description": "Sketch Your Mind. Edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
|
||||
"author": "Zsolt Viczian",
|
||||
"authorUrl": "https://excalidraw-obsidian.online",
|
||||
"fundingUrl": "https://ko-fi.com/zsolt",
|
||||
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
1
.obsidian/plugins/obsidian-excalidraw-plugin/styles.css
vendored
Normal file
68
.obsidian/plugins/obsidian-git/data.json
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"commitMessage": "vault backup: {{date}}",
|
||||
"autoCommitMessage": "vault backup: {{date}}",
|
||||
"commitMessageScript": "",
|
||||
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"autoSaveInterval": 0,
|
||||
"autoPushInterval": 0,
|
||||
"autoPullInterval": 0,
|
||||
"autoPullOnBoot": false,
|
||||
"autoCommitOnlyStaged": false,
|
||||
"disablePush": false,
|
||||
"pullBeforePush": true,
|
||||
"disablePopups": false,
|
||||
"showErrorNotices": true,
|
||||
"disablePopupsForNoChanges": false,
|
||||
"listChangedFilesInMessageBody": false,
|
||||
"showStatusBar": true,
|
||||
"updateSubmodules": false,
|
||||
"syncMethod": "merge",
|
||||
"mergeStrategy": "none",
|
||||
"customMessageOnAutoBackup": false,
|
||||
"autoBackupAfterFileChange": false,
|
||||
"treeStructure": true,
|
||||
"refreshSourceControl": true,
|
||||
"basePath": "",
|
||||
"differentIntervalCommitAndPush": false,
|
||||
"changedFilesInStatusBar": false,
|
||||
"showedMobileNotice": true,
|
||||
"refreshSourceControlTimer": 7000,
|
||||
"showBranchStatusBar": true,
|
||||
"setLastSaveToLastCommit": false,
|
||||
"submoduleRecurseCheckout": false,
|
||||
"gitDir": "",
|
||||
"showFileMenu": true,
|
||||
"authorInHistoryView": "hide",
|
||||
"dateInHistoryView": false,
|
||||
"diffStyle": "split",
|
||||
"hunks": {
|
||||
"showSigns": false,
|
||||
"hunkCommands": false,
|
||||
"statusBar": "disabled"
|
||||
},
|
||||
"lineAuthor": {
|
||||
"show": false,
|
||||
"followMovement": "inactive",
|
||||
"authorDisplay": "initials",
|
||||
"showCommitHash": false,
|
||||
"dateTimeFormatOptions": "date",
|
||||
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
|
||||
"dateTimeTimezone": "viewer-local",
|
||||
"coloringMaxAge": "1y",
|
||||
"colorNew": {
|
||||
"r": 255,
|
||||
"g": 150,
|
||||
"b": 150
|
||||
},
|
||||
"colorOld": {
|
||||
"r": 120,
|
||||
"g": 160,
|
||||
"b": 255
|
||||
},
|
||||
"textColorCss": "var(--text-muted)",
|
||||
"ignoreWhitespace": false,
|
||||
"gutterSpacingFallbackLength": 5,
|
||||
"lastShownAuthorDisplay": "initials",
|
||||
"lastShownDateTimeFormatOptions": "date"
|
||||
}
|
||||
}
|
||||
96
.obsidian/workspace.json
vendored
@@ -4,24 +4,53 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "f445e7e4c04b6d6c",
|
||||
"id": "5b73b7e33e95851e",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "b0ba3684f585064f",
|
||||
"id": "495fd9d9166d00b5",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "部门五月份任务规划.md",
|
||||
"mode": "preview",
|
||||
"file": "姿态系统硬件详细设计文档_V0.2.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "部门五月份任务规划"
|
||||
"title": "姿态系统硬件详细设计文档_V0.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "65cd3cfabd556a5a",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "姿态系统硬件规格书_修订版.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "姿态系统硬件规格书_修订版"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "e52ace23acc352a4",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "事项.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "事项"
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"currentTab": 2
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -94,6 +123,7 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "README.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
@@ -103,7 +133,7 @@
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "反向链接"
|
||||
"title": "README 的反向链接列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -112,11 +142,12 @@
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "README.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "出链"
|
||||
"title": "README 的出链列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -154,17 +185,17 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "conflict-files-obsidian-git.md",
|
||||
"file": "hardware_detailed_design.md",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "conflict-files-obsidian-git 的大纲"
|
||||
"title": "hardware_detailed_design 的大纲"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2076822cdefbb8a3",
|
||||
"id": "f99a7d15791582ed",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "git-view",
|
||||
@@ -189,15 +220,46 @@
|
||||
"templates:插入模板": false,
|
||||
"command-palette:打开命令面板": false,
|
||||
"bases:新建数据库": false,
|
||||
"obsidian-excalidraw-plugin:新建绘图文件": false,
|
||||
"obsidian-git:Open Git source control": false,
|
||||
"pdf-plus:PDF++: Toggle auto-copy": false,
|
||||
"pdf-plus:PDF++: Toggle auto-focus": false,
|
||||
"pdf-plus:PDF++: Toggle auto-paste": false
|
||||
"mermaid-tools:Open Mermaid Toolbar": false
|
||||
}
|
||||
},
|
||||
"active": "2076822cdefbb8a3",
|
||||
"active": "e52ace23acc352a4",
|
||||
"lastOpenFiles": [
|
||||
"部门五月份任务规划.md",
|
||||
"conflict-files-obsidian-git.md"
|
||||
"姿态系统硬件规格书_修订版.md",
|
||||
"事项.md",
|
||||
"未命名",
|
||||
"姿态系统硬件详细设计文档_V0.2.md",
|
||||
"姿态系统产品规格说明书融合模板5.20.md",
|
||||
"Excalidraw/Drawing 2026-05-22 10.46.22.excalidraw.md",
|
||||
"Excalidraw/Drawing 2026-05-22 13.45.50.excalidraw.md",
|
||||
"Excalidraw/Drawing 2026-05-22 13.45.50.excalidraw.svg",
|
||||
"Pasted image 20260522140141.png",
|
||||
"Pasted image 20260522140126.png",
|
||||
"Excalidraw/姿态系统硬件详细设计文档_V0.2.pdf",
|
||||
"姿态系统硬件详细设计文档_V0.2.pdf",
|
||||
"硬件设计文档.md",
|
||||
"Pasted image 20260522134423.png",
|
||||
"Pasted image 20260522134155.png",
|
||||
"Pasted image 20260522134048.png",
|
||||
"未命名.canvas",
|
||||
"未命名.base",
|
||||
"Excalidraw/Drawing 2026-05-22 10.46.37.excalidraw.md",
|
||||
"Pasted image 20260522091534.png",
|
||||
"Pasted image 20260522091552.png",
|
||||
"Pasted image 20260522102307.png",
|
||||
"硬件设计文档.pdf",
|
||||
"hardware_spec.md",
|
||||
"Excalidraw/Drawing 2026-05-22 10.28.03.excalidraw.md",
|
||||
"Excalidraw",
|
||||
"README.md",
|
||||
"resource/gif20260514055249.gif",
|
||||
"resource",
|
||||
"新建文件夹",
|
||||
"[Download.md",
|
||||
"conflict-files-obsidian-git.md",
|
||||
"诀别书钢琴谱.pdf",
|
||||
"部门五月份任务规划.md"
|
||||
]
|
||||
}
|
||||
14
Excalidraw/Drawing 2026-05-22 10.28.03.excalidraw.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
## Drawing
|
||||
```compressed-json
|
||||
N4IgLgngDgpiBcIYA8DGBDANgSwCYCd0B3EAGhADcZ8BnbAewDsEAmcm+gV31TkQAswYKDXgB6MQHNsYfpwBGAOlT0AtmIBeNCtlQbs6RmPry6uA4wC0KDDgLFLUTJ2lH8MTDHQ0YNMWHRJFkUWAGZFULIkT1UYRjAaBABtAF1ydCgoAGUAsD5QSXw8LOwNPkZOTExyHRgiACF0VABrQq5GXABhekx6fAQQAGIAM1GxkABfCaA==
|
||||
```
|
||||
%%
|
||||
140
Excalidraw/Drawing 2026-05-22 10.46.22.excalidraw.md
Normal file
@@ -0,0 +1,140 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
|
||||
## Text Elements
|
||||
9~36V 输入 ^T4cEKd7L
|
||||
|
||||
输入保护 ^bRQW7DIT
|
||||
|
||||
DCDC: 5V ^HLjVveBB
|
||||
|
||||
3.3V核心电源 ^S8PFG8rD
|
||||
|
||||
3.3VGNSS电源 ^GrHOf4di
|
||||
|
||||
3.3VPHY电源 ^go0f6IUg
|
||||
|
||||
MCU ^Lfto3Yog
|
||||
|
||||
以太网 PHY ^8uSX8T3Y
|
||||
|
||||
IMU 电源 ^CHBDoZo9
|
||||
|
||||
GNSS ^C47vP2Wz
|
||||
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
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
|
||||
|
||||
yrDuCAA=
|
||||
```
|
||||
%%
|
||||
302
Excalidraw/Drawing 2026-05-22 13.45.50.excalidraw.md
Normal file
@@ -0,0 +1,302 @@
|
||||
---
|
||||
|
||||
excalidraw-plugin: parsed
|
||||
tags: [excalidraw]
|
||||
|
||||
---
|
||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
|
||||
|
||||
|
||||
# Excalidraw Data
|
||||
|
||||
## Text Elements
|
||||
9-36V DC输入 ^rkrOPpVO
|
||||
|
||||
输入保护/滤波/掉电检测 ^VTd98Hgb
|
||||
|
||||
接口板DCDC: 5V母线 ^LnhsiTsY
|
||||
|
||||
主板电源 ^SdSuStkB
|
||||
|
||||
IMU板电源 ^pOwVzqIl
|
||||
|
||||
MCU 3.3V ^kmzU5uH0
|
||||
|
||||
GNSS 3.3V ^JibYA2H7
|
||||
|
||||
PHY 3.3V ^5DTR9mkg
|
||||
|
||||
STM32H7核心板 ^ZbSJRIAk
|
||||
|
||||
GNSS模块/双天线 ^pad6lfSd
|
||||
|
||||
以太网PHY ^hJhB6tZ7
|
||||
|
||||
IMU: ADIS16488/SCH1633/STIM300 ^SAP7TeEx
|
||||
|
||||
网络隔离变压器 ^u0A2XLCj
|
||||
|
||||
RJ45/防护 ^UA74Ileg
|
||||
|
||||
TTL UART ^17L3kFd6
|
||||
|
||||
RS232收发器 ^iA5fq4E2
|
||||
|
||||
RS422收发器 ^yaeBA7fz
|
||||
|
||||
RS232外部接口 ^W0f1LlIG
|
||||
|
||||
RS422外部接口 ^b3q7kPGd
|
||||
|
||||
PPS/Event输入输出 ^wFImo8iF
|
||||
|
||||
SWD/Debug UART/产测接口 ^IFnN0yGj
|
||||
|
||||
状态指示灯 ^xCY5weNJ
|
||||
|
||||
SPI/DRDY/RST/DIO ^WjXux2dE
|
||||
|
||||
UART/RTCM/PPS/STATUS ^H7vqp3qt
|
||||
|
||||
RMII/MDIO/MDC/RST ^7opS4CHc
|
||||
|
||||
%%
|
||||
## Drawing
|
||||
```compressed-json
|
||||
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZR5tHgBmbXiaOiCEfQQOKGZuAG1wMFAwYogSbggACQBpAAYAR3oKgFkjABEAcR4AKQB1Lsk6gFYjACsAIRqU4shYRHLA7CiOZWCp
|
||||
|
||||
ksxuZwBGeK2apIB2ePjBwZ4ANl3BgA5+EphN3YAWbS2t663z65rPrYBOJ5PeJ3SAUEjqbjvfYfHiDEFSBCEZTSbjnGrw6wrcSodEFARQUhsADWCAAwmx8GxSOUAMRbBD0+lrSCaXDYInKQlCDjEcmU6kSAnWZhwXCBLLMiAAM0I+HwAGVYKsJIIPJLmATiQgeuDJNw+HiIBrCSTFTBlehVWV4VzkRxwjk0Ft4WxRdg1A8nTVcdMIJzhHAAJLER2o
|
||||
|
||||
XIAXXhUvIGWD3A4Qjl8MIPKw5VwTUlXJ59uYoYTScNYQQxEhl2uB3Og3iNSe8MYLHYXDQ53rTFYnAAcpwxJDq39vU8/jwfSVCMxWmkoCXuFKCGF4ZphDyAKLBDJZUP5aaFPElWbY6BYKDMseliSkImkADyAAU4AA1a8QPcAXxBu53kDKEjGzGurQAFqDPoD4UJIACqYTKJocD0DwTzXgAmqeMzwIeYqElQb54pGhpCHAxC4NO56oFsBwHACPDXNc
|
||||
|
||||
aLXIMzqGkQHBEvGib4PClLsjOaBzvgC6GpIoQACrHgAMimrG8fOCAFO+BRFGe8xXnej7PvCB7lNOmAnvCGxoNs1HnNo9EHDU5xVjUNzHAc8Keqgzg8H8xnnO8nzfL8AJAvCYLEBCTrHNoFF/MOCH0ScWyDK2gmIsiJ5oLCGLLBao74iaZIUlStKMgySCLmyHLZrymUCugQocCKYqZLphoynKZoWkaFLWkWmokjqfl6gl8LGlqDWHlapY2sIdoOpC
|
||||
|
||||
Lpuh6kLevC/oEcGW54b60a4LGpEFhxhopsQaYSLgnZZsuxC5vm7E9QgPFkZ8Q5/JWCFto2nCog9HYcN2HC9k6Ty1lW3xRcmE5TpdfECb6S7csQa7pNVi3wgRREkZCwVPNRtE1PRjG+sxUmoBtnFsNxpEgwgGnHuUfzOPE5wPqgrSkoAyfGAKaKWaUKJOnk5T1O0wzzNRpwUDyoQRjYiOfNZAAYqtsr2XChraVAACCRDKM26BiFkTCSg2UDmAQStI
|
||||
|
||||
qrED6CQxCrPCehZLgKZMHGEjVPUjQtB03R9AMwzjJMLqkEiKYEGz8XoBTVM03TTOSrgQhQGwABK4RC9iBJCCTTHWxUsUok6cSy76QnMP7EksbOMlyXcinfqREBGIwzCkHUFRiaSEHi/g17i2wgwK4BhAK1skqaReCCLJiZuGvpDl7JR2hRejpwXFctyGvZlNOa8blfD8rlecChq+f5vBovCkjpwHA5JVi3CpUabUZfy2W5Uy+XsnNPJ8llgrkBVo
|
||||
|
||||
rijVy2ygqSoDWakNVq6UOp7wNL6XqpoAHlEGodPwkgTrjUNK6NkU0vSXzmkGEMeQlolBWmtNihZfTbV2ugXA6lDRFSQWgPGRYLqkR2E8M4Bw9jxAgSUBsr1uC2UNFwps71PpkQOE8A43xqIHA4d+QGwREbSX4snMGR0oYbmyHkPcZd9zoS0mTD85dygPmEsQP41wKgwRfDueSO5NH6N/P+ICIEwKQWgrBeCiEUJ6OgNovapAsIWOmFY6YNjSgV0G
|
||||
|
||||
IQfQ+g6h/H0IGW8XRSBVHMH8eAYlSBdE0KhLxcwfF+JwtMPBkB4bEUuuRSiKMaJ0QYpxSSRDNpYwJiSImMlD4iXEjU+RYQS4KS2hXQxxjTHmI0t4squjR6bD2GiIK3xrhPC2DwWENRJF2U2E5Fya8PKb0BNvX0u8uq8HmdoIEIVWHDniNcaiczD7H31NnEow9sSXygTfN+6A6T3zyoaVkT8iqv1KtAD+lVv6Sjqv/c0gC1Q9WvmAvZUir7pX6rAo
|
||||
|
||||
B8DRp5mQb6VB7pYDTUwVybBsNaoxgQLbXGZ0tqpjHhAXAt54E5jGrQ0lkCGH6m9FTWiA46x8PbE2Z6nLHpvR7CLE41YqYA0nLI4GzTPnKPXDDXBcNCLFMYcjVGlTMYlGxrU/GhMi4KNJuzCQTNAC78oAEqMFCABO7QARzYKEAJHGgBWV0AAMWgBpWxZhQf25QjWmstTah1zqxYC3jsyv1ktjb4BlnqxWytDbq2nNSB6Ot3D6xVuUY2xBTYfN9BbK
|
||||
|
||||
I1tSDEsrtXWu9dG7N1bu3Tu3de5ex9hwP2ZMDWMxNeaq1dqnXh0jjHOOwtuCJ0Ueq1O1zM6JUEq0nSBccbEy6cUMuITyiYDEoGKoRIAAaQhxZVBGFUC6AB9CgYxCRwAgtSoZ2T0ALCWOfPSmxKx/CnpUs4lxIqUWWQZZ4q8Pjr08lsnyup9SAm0OZQdOd+2oAPoae5F9IXpV+XfHKkovmFSOlB9+wov7VWBX/BFKokUQa1NC/U2HoFgsRRCqhI1E
|
||||
|
||||
F0rIhNNBWKMGzVxQtOVBLVpEvWgysc5L0wAEUaXHXI3QxlJTXLxDEYs6iL1uVoAXr6fhXYBXMthDwERVNL7jjFQgORqBiaLmldDTc6jrF7jQseo87NPE/nQGJDgkhWDCWYChN8H5glmYgGEiJUSYlxISUklJaSMmeP7uQ3xbBsKWIcwZ6dEgzkNCMWwb6nZrjtC6PKTdXQ6hNGEoQaOmT/OUsC8FgJoWvzhfQEY68CsoALofDAegTwiQKyqJ2Rdz
|
||||
|
||||
gpSYCaIurLwycu5MsbheVCMSnKoqTPNVkANX0uIeqhpErdVDrzm0wuHTZLFECVOpzFmrOEBsx4uWHX5aSjHs4ERLxAR/EGJIv4WxmGwmGxAJeqztCuTfRs/4n6d7fqdH8RI1x4ghRODWBT8QgSSZKEfJEGdeC3MgGBtAjzr6IdeTlB+nyCrP2KrfJDn8qoSijOhmBmHiOQKhW93g+GEAYctFhkjCCaEUZQZNajZEZqGiwfRtAEYoyEuJXxtjO0KW
|
||||
|
||||
4Ey8NCG1OucCCZU6Wi/wwr/V5dwlsYmZMfRFnMqyCQqzRRITItTU3QYlHBquGVunWcFIgEU9TpSqKDYxtU+bJLxsjcm006bvpdsSEAKXGgBj5UAP7mdM6ZoEGA+QAs9aAH6/F1brXee+96SX3Afg9+sFp2hKl8pT82DdLbgEPjMRoNuUaNms4263wImw2Ka02SkzVbe0OaK6zvnUulda6N0IG3bu10B7JRUirTW/V6B3de9JD71Afug+tqjrHVg8
|
||||
|
||||
fUDdqtwgNOoOA5bCzi02bI72kaeLkt0uPT5jxH0J2RZK4DhNGYKSQYnI/iAS2BwGAPQIJ9w66esDF6DKiMGIckxQq54Pr+E+hyZy1mPY3s9t5K9p1JCN9FcrPqiJfFDjiCTnDhAG8jBo/PBhDHAeVICqhtjvVLjuTvjiUE8rht1CAn1NgU1LgZALaGRqik6JRpivZHsDigGCzmGEbgQsxpqmSjzumPKNxkLqxiLiUqIscDsBvHLqrF/tLgIrJglD
|
||||
|
||||
sOvFZLWKKkDA7triyNpqoluBomFtlrtqZhXPKMQPKEIIqESGMP4uvhoYVk5pFvQNFrFvFolslqlulvzpoR1phEFqYWAIEpOmFk5reJujABxvQJgK0IGBBDBDACMESHAPoH8BBJIIGGJO1kZm4XlmYfphYRXNHPKJgOcO0NusoPKMoBxlAHUK0PQJIGJIBK0M4D/DuFkhhLlh4V4Z+HUU5lKPKIGFABBEhHmIiArIMBxqQBUPEJoOLJ2MkkkQ0V1g
|
||||
|
||||
Ej1vhAqqbgNmjJbinNbsLhAFxI0jqsoVIMOlAKOlsYtp4RviQrofoYYVAMYbfkZtoWMk/swq/l9rPPeqduIb6EvFTNem8P/h+kATskTt8OAXFDcmfClLASVNBrlLBsjj8uCejugVjrVDjoRnji1ATqAkTrCk8mTqQaiSUBQdTtdhiuggzgwfNDgobuzkxpznwaUOxntMJDwbxjScWKRBRNWJcOZBylJlyk9LLhIfLkIu8KdgxAxICAoeKkoT2ioR
|
||||
|
||||
DCorKhSXMX1kqmUiqkNlbjjGsRsVrlKRnuUIANxyHutqgACXYh61roD6lGnAr8xx4iyJ7J5Syhpp7hqF7Z7VS568rxp6yRrJomwjwZr8zl42wVykDb674HD76H7H6n7n6X7X5t7ez+Cd4BwQDmnGkYhtqj4BpoCT4rHT5Abz4AbA67H7ELYTotG2LoAwAQQHB7ErjyhSgQTYDRy4B/DVpgTKDOBiTixXGHj37JTprrCbAWT3aDBPBoh3pXCUSwq3
|
||||
|
||||
aDCfHrIAFbxfogFOhnBBQA5Cbp4g5AkthQF9ngZEEkhwEIGQlIEo6oEAooYIm/xYHIk4G4lpQ4YYkk7YlwIC4oqhiEl050GM6+jM7knMGUmEJjZ1Lc5kKUo34C60pUE27AX8GMLOSuRnCAiXzSaqy8Lcl8qCIiwSKuTozKYa7qaaZSoyn65qKs7mF1FaGjIZHlBwDXgUAPhGB1CBj4BNEFatEVwlZlYVZVY1Z1YNZNYtZtZ+auGNH2bkUnFaSBiE
|
||||
|
||||
A9AcCFGSCLp5zJappVD6DRxjCYBGCTHpiiXdb5K9aKpIzKkW5VIrHqk0mamSmL75wr7jppFllFYQC0X0WMXMXdk6Ima3EOTfT3a3TfSuQWSiLnLbL3ArKzL3Zzk/HBWghE70EmT/C3TrwBX/qAlg4FmQ67nQ5glo7w7vJQnfIIawllTnmY61GQAgrPkU5okPlLnE77mk4kEvmU5vloolBEn070G0aMF/ls6MaAXQXJh0nkIPiMlQVrEsk8LDjnYD
|
||||
|
||||
jsKiE8roWvSYVlgMQiIBXima6WVEV646akX/kKkGVOiLGqpqnsH1LaoLbhrlCBhNAQQGmplUKsymkQBXU3UWmx6Zm8C2kSz2lhpyzHjOkSA56xrun57/XoDF6+klBl7Zq5qVnVliS1n1mNnNmtkUDtmdlxkd74Ch7oDPW3XD7tpj4JykBJxT4z5blkQL4zbWXW62VHHdISUSDXAQRsB/Cdj0AjArhwAKzCTizygwCaDRy3gPg8BNCEBuUDxDy7mP
|
||||
|
||||
4OTUQv5DiPHjmf7f7bA/DhXfGbK/ElC7KgEv48DvAHAblAYga+jQEw6QaFXwEI79ksjQkFXZX/LIYlVobXmNSNVVXtSPl1UVVkEQD4nkYflUZfmkl4oMbLQc4sa260mcF7Q9AjWnSR3jVi5nA0R61fCzVoBoWcI8n8oK5lhsq1hRRA7SKqYEWSpKLEXbXqHpEUU7ZUXsXlBEj6BGAQSDBCAVCTBiXV0M3oB+EBFBEhFhGaARFRExFxEJFaU5LuGd
|
||||
|
||||
1BI+EVxPCAQ1BSikhPD6BwCTjXDCRITtAQSkDtCSCASARwAT0BbTFLazG+gm79ZGVLEmVYwr4an24HFWVzZjpr503eHd0QCN3N2t3t3i0jIeW+j7awjXDaAnbXAAheS1jyGLybAzKvruTzkvZ/E1XDivDfYfaPHHZ62vHA5AZpWUoZUwF1WHlW15XIEvwW1oEXmlXShImu2VV4GE41WYnXze13m+2kYEk0HEkdVM50bdUsHh0nUgW85CWU6QXx0w
|
||||
|
||||
VGii5kRfBQg0Q0Tp3AaiGLUJT0RAhmTnBcljj4ValaYV1qGh0lCX1Knm433Xajb9VMSP3nW/Vd4QBNCNyoCJDxDDU2gPUONOMQQuNJDuO1RWnvWiwBNfUho/VO5/VekA2ulA3oUekF5RNg0+nW0QBQ0V65pM0s1s0c1c08180C1C0i1i2VoJlY2PXeO+NuP40Znj7Zl332hk1g75kblFk2Vv3Lab4SBGA8B7FsCVnRwNYKwHCtBdD6DOBCRShIT+
|
||||
|
||||
NO536DxnoQ2QD7ZDk1AhTnYUTPGTnK2iKznq2AFRUQDa3Lnz7nAEOblg7G13JENm1aikO5Unkwn23UNO2YGgoMM+34Ge3u31U3k4nAK+h+1QUB20HYqdVkn4ph1UkR3SOkK85bb/NHS8EJ2yP/CLIRSozKOZ2QAoVqOoAURAiLKVhrWl2O466qFylhjiVaLXF12f1dCECaBIQKw8AVAHCsWUvlkQBZE5F5Go2FHFGlHlGVHVGlVUtTFT0hbssOXM
|
||||
|
||||
DRwUCBibq4DEBGAUAIDXBdDCRxEcApjOBEiUKFbZYpFNHn0mPzFX3mNHWmUiN25nWr4kuQC5zU2v0KKlkrYVx0sMtMssv/06nS3OBhUWRHAzLy3HKEuwNP6uRq2IORWLl7x7CxAG0/YA6sLnCUTnC4N2v4Pp6m1ZUvKW13NI75UoFUPFVAovPsN/NMPoksNPkNWMPkFcP+08PtXfklC/ngv4LCNAUDXR3kKARx2WsyOXTDgG2CEzLKNq5Z0YVSEM
|
||||
|
||||
7fZIXrNEv6ObWQwkVtuFImtmPlIWPHWds2PWuEURMOPtCdjyjyiVPTN4meNJmHvHunuWlZDWmBohNQAp4Om+5OmJOpMxNaxMDxOg1GzJOl7+nQ0VzdO9P9ODPDOjPjO4CTNnuQDt6lPY0QBXsnuuOweUrpkdpE0k05mNNz6U05ytM03tPHFKRdN1Ckj4C7rwDKCLrRzRyBikBQDxAt1CBAheu9nnqeXOCTImL/Y1Af4vFTmPCpsIPvoa37OHNkRh
|
||||
|
||||
Xfb/qG0QHbkgkPLZt/JHmI5gy22FuPPFsYGIku3gocMfNVte01s+0AvvmNtB2gsh3ykQt9VrEwvpi4B9vbv8akQnPkSLIMSwooU8KqNTtsJ4vaP3RbR6MbXl1bVGNkVd2ivuUiscuDCtDCTRzRIchsvRccvtGdHdG9HdwDFDEjFjETHCXJE6X5aStOb1aEDizXAwC4BsBdDKCVmNzEAwC9BNAjAVouElen2eFGuruKmGVmuqkWsucTa7tl2FlL57
|
||||
|
||||
FtNOt2UuvlAJdJcpfKBes3FAOPCJDMJHAfa1jfb/DaPK0RQRtid7PRt7K0RJAYODBWQIUJBikxTyfg6Kd7lfO3OIH5sUOo45tPMlu6evP6flv3ke1GdfNlvIqUHme06B0gv8NdUrvSgdvWMkKDWUq+YSM8ajXMnIuVjfY0RgH8mqzjtYvZ04saNWTORS7q4l0LvhdLuV3GP9f7XCLX3mv1NmWR0WVP32NJm3gVBIQ3seOuqPW8/8+oe3v+rj7BPL
|
||||
|
||||
R2lhOOnc+/uA1fuMcg3vvg0pNpOBnlCMUUdUdwA0d0cMdMcsdsclO+xlMOMi8C+gYYeE1drE3anMS5mPfNPP3L5Eezfv32UVeDBwCSDdBVD4AcBGBCA1CSD4BVAcaEB/CECtDgXbZGYccLMQD7YDhxApvK4bPDjK17DHMRXidneQghRgMzLrkpUBwXPpXnyZUkMW2qcpNwanlFuO2/dXn/dEYGfMPgLVs/Nu14n1uAsWcw8/kCPw+sHUmR0Od7TY
|
||||
|
||||
DOdI94GyPaN48wjIXZ2Qj7PYv+eLLejaNK7zthekuGPkvbgz16u12AP10SCASaDyhdD0cKysTT0f3n/oDz2L3L2r3r2b3b27372H3H2dbitld0uDlIwE8AVjMAFYOREYKtBXBsAHwCsVoMsAD5jBnAf/A1g/zLKkc1YSELoLeBXAKw/g14QCH+C6BCAegbADoMoFJA1BD0XXMVqkU96P9P6kgJoHAAOBVdzIUoTQA+GwCboeAD4LgdHDgDtBraMX
|
||||
|
||||
SevQOaKOYK4fwKUGM30C3ghAMyBAO0GYDKAWgNQZoMoEWCoDSudlRgZgIgBiRhIQgQMPQFvBjB2gzgJoJIHFgPgII0cGoGMC+yAQng2gnrhINnrlBbwFAZgPKAfBdxSQm6JoESE3StBWgFAP4K0CECOApQrggAboIwEcsOMi6DgLeGkojAng7QBWNgBGCARnA+AIwDUEAhN1PYtA7Sm4L67G412g3Ddqz17SrFzKtjG1tsXtYv0DizrTpugEv7X9
|
||||
|
||||
b+rEI9IeDW4DkDIQ5SRAG2chso0YOjSAEvHgZfFI2+fYAjGxXIVgQogOURKrlOYZtnu1fV7rXzIb3M7a33bTpeXwT0MAe6oTvjCm75vMOGZnFqnB0/JD8W2I/Bngj0hb9tJ+5CQHpw0FxMkkWg7b6N9BMRPAi6DAFfnyXmqSFc6B1PHgDnOSTDSgoXLnrT1lIG5dqF9KoQdRZ7Dc2e/bTnnY33ZJl5QwkJoOwhZaAAOC0ADD+h7hNIOMiRJI5lgc
|
||||
|
||||
EpHUi3qkvT6k+2+py8CRCvT9nngTSq9/25sQDukwrhVAfefvLoAHyD4h8w+EfKPjHzj7op4yZvRDnSNJGMiqR1TTDnb2w71Mne5NF3lTVaElk5uHQhgEIHiDEBrgzAEYOLCQhjBSQ1orYF0B3pbARAfwdjnMwfyeUgQL+RZAlVuisoUY12JeKOVz67MFyCwmFJ8D/SRQTmcncmhX0IZV9iGOw+2nX3IaN8tOzfHTq3zB4k4CCtVUHiZxuH99Ie6K
|
||||
|
||||
B4TRlh5gsXhY/KFl21Aq4AUm1CX4dI0Tq8A5kwI9kiCJ84Z0/OUI4DACG25mR4RKmRQkiP34RdD+krSimf0/qihiA5wfAO0VLDoDJBsCGVnKwVZKsVWarDVlqx1axDxBbFT+tgGwG4D8BhA4gaQPIHtBKB1Aw8Yaz0p7UFiWI5YjiNG5WtNi+Iybg6zaEmi5xCrRccuNW40tk+3AUcvsDWZohU208b4CKlDZeVf0swk7hGJQYxttGl3EKNdyiiRQ
|
||||
|
||||
7u8Is5gHAIZZsa+aYvYR90zGHDsxxwsqqcPb5fDDOXfYzj31rbfDmq1BKHsC0rHD84eNYxHvZxR7QcZ+Y1WRn9kBD/AQ2EI3kiowJ44tk208UMUTwRHU89+0pScaiJ6roiBumIobm+LqHs9pGeIpodqWdzoBkOgAQitAA6uoKBAAM8qABKTRjz3UheB7I9vKEsk2T7J4ve9gniDQcjX28vd9or15Geks8EgNXgB0thAdyg9Ac0ZaOtG2j7Rjo50a
|
||||
|
||||
QFdGkB3RpvatOb0vYuS3JdkhySbRt7vU6mdQvUU03w4/ijRRk9oZ/QqBbBSAwkIonAFvCDAKACrAHE0EwAjBo4dQcWKyz6HzBPRUtb0VWCzgAhTsKuGZHrUO4MRjuT2VCVrRiqnBhycYsvpAS2EpiK2NzXYXm3U4FtKGWYjHC3xOF6c6J5wytoxKLHMTTOpYu4RADaqWcqx1nNEe2zeEfio6DYlbhBQx5SNzoAmW6OjD2AAkCe3AbsSTynYowhMA
|
||||
|
||||
I9GLv3HGqS6ekXClkAJnFxcHKkgfoGMHOBQBAIrLVcR4IkCVdqutXero1wgjNdWuPQdrp1xP7dc4hDAhISjJYFsDxYHArgTwL4ECChBIgwzHQLS7H8n+EATdOcHFikhrwwkTQEBDGBbBAIMAJOD0CQi3hbwdQPUMV25l5JigRuUxtUJVK6SRs99BoeN1tY7EpuxZSqf+P0GozJA6MzGb1Pj79DQJY8IcC8CODxsdgw4N4KcEO4A5ROs05BvNNQYu
|
||||
|
||||
RVmj2UabsFhQETgSoGK5spwhJqcdcGnPaZRIOk5ijpbfFEvRIuF4YmJ1wr4bcPYnljoeXEp4TxJs7PS7ONJD4ZSiVno9EWrY5FlWBOADhvQIMvlHNQnYLV/Oow1hCIRC7KSYZEAXXHDMP7qyMRzPHSbfT0m4jGhe7fcI9UACncoACpNQAIr+IvGkUmTnmLy+enkoJmyOfbhMp5OkbkRrFiYTsf2/I1NEnw16V5ygNUuqQ1KaktTiAbUjqV1J6kY0
|
||||
|
||||
EOM8heUvLTIj4tRWZe3qTTzJlS7WhHR1p0lNkct4gFQBLJflbpNAVwpIRdIMB6DKAeg14P4ESCECaU+pEteZikzHhnJYg8yGoDOyOBfAgxytBCGGLmGndIx3AdhPPiOCaN4xYOU+OHOTHXMDyW097jtM+5nkqJtDcqsWNTlnTLhGcs4a+Qh43S7pjwyAK214kvTZ+34AScU0rktifppEc7LWGojfRG5MuXFn2MFL8cBwcEy5F3LHHfjYZKInakfz
|
||||
|
||||
0FczYumSJzPKAVi3gDgokFcBsBxnUVBQUlGSnJQUrCQlKxAFSmpQ0oPj3FfMkAWAIgHnAoB+gGAXAIQHKAkBKA5WWUJpmvgKhGs7STUOxFjzXphkyeYAqNkzcQFnvebhIAcVOKXFGwTBQA1oa4KaIf6ZNmZBZSjkPsB3BCY5D1ozSkGmtaKjVV2D7BCFCVJCijGchpsEQj3a7mtLYXPIVOZErhRRL+Q/dE5NE46SnNOnVVzpG0gjJnPB7cMOJvDZ
|
||||
|
||||
ttIueFFyyqfE0uQJJGBCSseJSaZNRG9CU8W54maSZJJzqCknIF2MRKtRMUSke5fcixfDwyXDysl2s9YrrI54TyJuMwR6s9WQAAAdDgPAMDDyhroNEBQPKFJA1TLg8QNFcJCuo1gSh/zC9pdWupoBEVyKhftcDRUYrPgxwHFXiu9AbzWRPk2Xn5K5EBSeRwNPkSFKSanz1eQozXhFggVdAoFQgGBXAoQVIKUFaCjBSgiVEZTEOMK1AGSpRWUr0VmK
|
||||
|
||||
2lUSPpUEq7kBU2pr/Jw7/zTmQCv8SUtNEcBrwRIB8CuFaBQBWsQzFcPEFJCmxNAPQeUMyw9GS1OO63DOtWDAYjkr0xCiacGMeDTSHslCuab0vASHLxlCYncqwsjkSB0x+wzTvHPhJ8LaJay/MZ8y2XfMdlYivZbnM4kkkrOTBDScXLYKvSy5uAXocosx5/DSIetT4IQsDUYs9F2IT4JcAoh60zg0Msxb3LJbqTpxp/ZGU5hD5MtF0DcS5aEs/oCy
|
||||
|
||||
hZIssWUQMlnSztQcshWRXKpkqyJWQApzJ3BwBGAOAbABWMoOvCBgngYwP4LgBXBVBRV0/ZJWIMfFqz9KL4keZYzBUGSIVBsloW72AWHEOmn9MdTwAnWkhLl1S71p5TESJATsawgMSQsmntLjgLwZCd7J6UHMYq+PQDI9yIkRySJObJNeRIeapqaGztZObeUEUbLhFF0vNU1XEU5zWqFY4tQ9NLVCM5F/E7tpShYqfSq5qipGLMi+DCZl+Tc8EY8o
|
||||
|
||||
FLYgTgI4GEEo2+XrVflA6yxYPK0lAqtZo8nWfUPBX6ztiJkiAPPMAA7foABS0wAN2egADeVAA0cqAALNWXnlAdNBmkzeZpZE2lmVqeVlbvMzxJpomB8pXsfO5V/teV4UrNMKPKDmrLV1q21YuntWOrnVrq91elMTKWa9NRmszZqNt4/ydRxU3DpCAAWGzfxxo01Z/T+BIR6A0cHoJ2AOBEgagzAZrE8GnyLoau9ACgK0A9XYK9s00BCH+g3iAhA1
|
||||
|
||||
KMKaRQpQk+zI1eyXCfdj8obDHuiY4iamNw1zKY5u0r7osqOHprVlpG9ZcD02VA9c1oi6jQWro15yGN3E6sScteElyJ+Ak/QFcvrXAzqwFwKKA8uJ6Cbnlwm15e2r+wnM52Um4ltsT+XLs9MvMmZtS1nH6CIIQzJ4MxQQArdp1+g3dRYAPVHrmAJ6s9ReqvU3qQlulR9c+NNbArlNoK1Te+vU3akv103d3sUr/X/bAdwOj6TbNsXS09gQ4e7LsBMT
|
||||
|
||||
VhhCF2D2Yhrz5UK0J/W1WkJhWFnI1hUUYbeTSw3xqcNsy7aVNu4VN8E51Euhgtt+ZLbtQ2a1bXmI20Nt9lTbYOkxoAoVr5Fb03nFwE40qL6EAhSRBWBHLwiexd2m7a3P7FBUzkJ2WFKOJ+V9qPt9PfbYCrNzo7X1WOrVF+KMkXUJA0cLoMwgUCAAmNONQWa/dAewYMHtD12aH20vUJo5oHxvsvNgUzlcFNc08qS8goiKf5okB5aCtRWkrWVoq1Va
|
||||
|
||||
atdWl+cqMer+7A9IexLYVP1W6i0tA6FpoUoJ2/qSOHLDgDwHJmN56A1ZbACuB6C3gkIzFJ4EhA7jJBQNifHBeBLMivAqwZkSRIGLg1vFxkqtMNT1pQ2ScLsL+EvgbRWkKcWFoJIXVHPr6xyZtWkObcRsV1fMCxrDeFAIt2XK7C1BytXYIw13j9oWAktgKdurklI3grCCsF9m85gjUA2iyEYKQDZGKs+r2mnhOP7mDrEZw6uxRXHIhiR4gRIcWAuJ
|
||||
|
||||
5nWKHK0g2QfIMUHKDVBBQjQVoLvUn1Ulx4/QVACMDRxmAgYIwNgA4BiRzgmgMSEYBCj4AngD4A4EhBXBI7AB32/QfEDgDixo4HGKUAcGK1EgNsQgP4BxkwDtBo4gEZQN/vIP/9xB6SoeW7qU0e79JXu2AwUqy0myct+g1A+gcwPnAQJs4sCWgGBEHAp4CmNEAbQCq07laMwlnRGtQ01U3g8+N4CsI+xaKRwuwffU90P1Kdj9iaybTbWm08KJd82k
|
||||
|
||||
jTLqzUg8c11+vvlTif1bai1fDXbY9LLWnKWN5ytjbgCPp6661v+htfx2Ta0RpkY7NtX2HIi8c0QeFbuY7tk0ArtDh1bJSpv0M7tvd+SnUhIGEjCQxIqAAHdHAZKC9EOwx0Y+McmOPsvJH1BzS+0T3+Tk9HKuJiry81hSs9fmgVegE73d7N0veqAP3sH3D6uDY+hWBPtlWY1pjIxsYwrAmO169VKWlTSVLw5GqW9P6qqcIZXAdlAw6gzIPKGwB1Bz
|
||||
|
||||
gRgc4PQC6AcZWQNan7T2QGlerBhuLZNlPGN3nJxppC9peRG63IaJOMVSRKuQYWhHRt2G8bcLs4Wi6FlF+3hVfof3JGVtcKYgpdJLEZGB+Ku+6bkfV29VNdrGhsXUB/3ca0A7CE5iszESm6QDmLUEZO37GS5dgEuXtT7sXb/KvtOBpGcgfKC5cpQdQJ4CuB4DYG6ZTmGg3QYYNMGWDbBjg38C4M8G+DAh+IWuIvCkh6AishWJIH0BsApQ1wIQFKHO
|
||||
|
||||
CtAOM5wAwl0EB6iCKDmhp8ZpKZ46HjKeh8eTjtd746fjoChylqZ1N6nrDtSiavsCciBUIGJzc7JcGz4jkvZ3S/Ez4YUxJB4qCFQKiKUUmhyEombMkzmre7Hl8NBw2bbSdLb0m6qt+q4etvhZsmyxWRl/SWrf08mP99Y3nIfLrY/DyjQpsiAxH46nYLsEp27YpPX79j6CpwN4DWBHGIi2jB/dSfJsjNdGQVVjB+nGe57lAsiCQHgIADZTQAIvKtmx
|
||||
|
||||
yYh2vPsIHzT5uPRL3s2Ptt5nI5zfvJjQeatj6e7zZnsNDnzc08Qf43OiBOyVQT4JyE9CdhPl75Vlet1W+cfMvGsODvPtM7wy147jZtNInRy2jjXgegvA2jnUAoBGBOwTQbADUGcDMAmguAEckIAa1ejvVKJhwzcANoYml9wasNl0qjbUKDqcbNcnvoe6xqplCanKpSZiNi79paaukyybI3LaKNqRrs/2bYk05n9qukc6PzOVHbijOQMo99IN2kQZ
|
||||
|
||||
ywI1NmnSBm9iZJbcm4PMlTbwSqepipU8iM+1RchDNiwUDS30G1cEAYwIZlKE0pg6wFoh8Q5IekOyH5Dih5Q6obtO0yHTxWE9U0HaBCAOMEEeIFVi6BbAFYFQXnhUFaCdhYOIZjQw+rABHnn17urdlrryWQrMtFUoi+3ocoBWgrBwEK+maa0Z1U+iFcU6mwLojkyFOzcNb1u8MxsLgJkGcn9JWYKZ6F+EzYeEZe5NmOFLZ+ZQRvbPxHlLVGm/fLqZ
|
||||
|
||||
PbK+z6R7S0C2HOMbRztnXk0UYbG0Nmxs58y5CHeCwjrLYBqSWudBn9jk2/+67sCMVMDGnd8M/I5UIU1RnN2I3Oqx+o01oWUYd5zC1MahvzJ3zjK785+d/NOaoVe89le5qCkJNtjAo8C/yovl+6yLFFrqdRdov0XGLzF1iyhZi1+75Q0NxG5/IJp163jmOj4+lq+PGHmr9NfQULOuBwB4g6lGANgClDchnA9ADMAcGwCNdN07FwaZxfoKQb/VqbDr
|
||||
|
||||
cvpCoGQcTQl+YWzsL5iXiTkl85nGqP3kmT9GYjazSa2udmVLsunsyIpOn5rMj9w7bTkYLl7anpBRw7Z/uKNsXTL/bNseRE3hLnjFLy5uRbvAOPbEK1EO5b9Yav/WpxiB37SOorg9BF6WwMSPgEDDtADTyV32k6ZdNumPTXpn036YDNCAgziVtJeGeNbA2TzGOs83rP6MNWCLRStvTzY5Yp2pQadjO1ndA0DDFmzWlyJvErCjl3lBZ7E0WaQ0lmC+
|
||||
|
||||
X0Bw7TuciRRqzsY0IwLuNsrXSJIu+S9SbhJEarbO1nNbbco2HXpzx1wfvnKOWFz3bB2y60ZYbH0BBT91gKNhKxVS97tod6U5bogP0EaI7CEEfbuk37m1Jcmp9Wjt0O1Xzzjdg2ZptfM8BAAaJqAALhPdxh70A0D+B4g5j3eSfzvk1Y2yvWNY3U9ONkCzsfxvZ79jEAPmwLaFsi2xbEtpoFLZls03MpV59C7A4Qdu4sL2onCw00NXN6ubxHNuw5Tg
|
||||
|
||||
DC3CARIQMGcByLiwiQ9AB8KIE3SpZGgctpE/3YwRK3oNqtgS15T/yjXN9MVNBvQtL4G3y+RtiIybaiMb3e5Z+uI0pd3tH39rculIwrs0tHWaNOloc3pbOsGXCjN93nFQF9uvS2xNYd4BAwUzAHVz9R33EOCOAjlPgMdg2XHYQPeX6iFO3GegE0DxA6gJW28O0BXFbqEnTmYSKlfSuZXsrUJvKwVYqBFWSrFdrQzXdfF1231BhlSY1e/UmriLDlVJ
|
||||
|
||||
+k6JCZOvh6pynVUZMhTVJEKLZhENfaUrxJ7wlnW19GMj0Rjk3oIdvNeXsNnBdJj2S2tapPm3t7zzP7mkdW0H2NL1th2+yd0ucnXbeR5jZ7YnPpgqltasy65xoVnIADbSkO0JrDsibC+ZkeU7WF/t7n3LcBlUy7s6O1OYzuSiG8ZPhssO0Hz58F6g7YfoOljmDlldg//OY3AL2N39kQ79IkPCb6AQR+6BEdiPBZkj6RzwLkcVAGHL5+m/MhhfsPkt
|
||||
|
||||
nD9m03vjOEW+HjAhyvEE3SYAiQ2AbRs4sAiBho4+AKADwFIDXBNAkgB8BxvJ1YKOLyJlGMZEUxAHMTatqYcDKSAfAvs/wL7H9CihjLJON5+7MbpJNGPlrq25s9HM3sbOiqHZ7Z4492d7WsSNr1ic45OtuOuT518teOY4INiHgvjrXf7ciiecAnb10J/ZY3NzJlh1YUdjAcadxPLFQ6xOxqYkAUBxYgYd09cCq7Z3knBgowSYLMEWCrBNguwQ4KcE
|
||||
|
||||
uD1DaA5HZVeAfrtQHYN8B4YaacJmWnLVpzEm5TdsA03XZXu3bPAnAi4qlYX4NuYjff5YQJkNV7Ts1dWRTs09siPUv7AfZ5k13BKtdpjWpUlnq9k16tbNfmPYj4uqx9a4Ofdm7XbDB19nJcdO3sj0amRfttrHvCBJMq/s5Iz9vIsoo30Z4IDOefm7374d/UHMi+DaMG5MT97e0ZeGu7a7wL8GxeYJGeDbw8oBQCuEYBZAmY9MQAF+KSDiAPLJg9wf
|
||||
|
||||
qoiHlD3C5ftlUZeCe9PPLAAtulNjXKwh3jcxd7HsXEANlxy65eiJhIvL/l4K+FeivxX5L4XtB9g/weoA2HmlxPnr2pbuHjLlu78Y5abpjB2AB8LgCPUwBWghAJoDwClBPAmgbADjA+DGBo94T/Uz1Un3tk7A/06J+ZPxe/xfFVXj1jV2cgndSndXiYus6gGYUm1Gz679e3Ja3cKXCNWz3MQ64YnqWHH+7rS069Ps7bTn3Ji6x6+R5sbNADKn18JJ
|
||||
|
||||
KQTvaIpwaA++6Dcf321OfCiPxxmpRuZNB52Nwndtl/aOWgYcWG9BqAwB2gU6nJzgd8LeDfB/gwIcENCHhDIh0Qqp1XcZ7VXq3748DxA+aHGrstrTpzKV/K+VeQNkrmpd1dQDlI/0POvt3enuVmezkFn9V2/i1e2eMSNYP9JRBmTDggQ10cyKEcmVLXtha9ibWY4b4WuHaltvd3vdtf2PbHOzx15trPenXXXHji5564pQxfKZ6Rh9346ffP50YRuu
|
||||
|
||||
oyG8FJfERTuEgD9qRjcdGanL6sBw3breab5QPQVoAoEnCaA/AjxiYwoEADlco6nhWQvCVTkwkej8x8IBsfygXH8JAJ+OoSf+CQJkyoReEek9IFlPWR7T1F5KPkNAm7mkk+BhpPsn9oPJ8U/KfVP6nzT9p9apyrab6ANHxj6x84+5j9Pxn5Dl1XYW/5eFzm01eZde8K4mgKuEhGwA9ABmdQUgIINGDQnMApICJKSAUf6fwJlwIz7xZM+wb1HIDVb2
|
||||
|
||||
O+s+nBNvPh+z0bSNdnfXPF39z1d7bMW3d3PnwL/vcPf37Y/x94LxyakV+hjll9695WpR4xf9TcX65WovkyYNontlj9+ucFIowzgd3Yv65Yd2/PzFnlhGQk56eZvbfY+5Vp2C6AZuPF6AJISkLSEZCshOQvIQUKKEFCOvKOiM91+jNI+1N/X3HYN5MPDeq8pINvwgA79dXpaQ4RICD8cuKvPfBtEd5Z/W82ep3Lt9NphtXfGPzvFJtZ+a8j+bPDpK
|
||||
|
||||
yxI73we+Mn7Xifl747dun0az/afi+4Dcz8tdMuRi8bje9y+lH3G5RCgWUbnTB8XlHFnIhjgJKm+dWjOv37V8veH2PMgXGf2x05/X3XQBAANqdAAQANAAcGNAALk9AAewdUPIgLIDKA3Dy3ksHIj0iZcHVF3wd0XXn0gAILQ32N9Tfc30t84Aa3wUM7ffQAd9otRhwkBqAigIE8ipd40b0KaXX2achvJtwrg/wACGAhQIcCCggQdVxAQhkIL1gNYf
|
||||
|
||||
WN4ASAb0GeEVpTsKU1uwPDJTDER57UaSnchMMBlWZHAxwIohQjAZX+lZXcpCXMhMfymktIjVZ03cI/FNU2to/JOWe8/PdOUPt7bJXSOdXHE53Ps3bAAMMsvbUChi8S3G524BNERJwSg8QLwgHZGEC7QqQXtd9xesHtZrWBFA2JZFy8AHeAyAdUdKtwgZmEY4Evh67Wfzrc4ANgBTACvaYCsVigVKF6C9wApDAAegsAH+BWtWsCcCA5ERD0RnANwO
|
||||
|
||||
YQ0Qfw0cCF3GZEGABgj8GGD7AiYImCXAgzDcCTgc5Er9TId4Ash2EAYIqENQMUCgAxgbaBTAVuNAEyC0gVRFzR7YBoGaA2gToF6B+gIYFGAJgU8CNg2AHaHKAqQTQDUBfgmUEwASwW8A6CJQLy2mB58b0HhCnDM4BOwonPRH2BruH4FODBDSAEyBiAK4J5AbgjIL3AMAEilzQq4cIALQG4JuBbg24DuC7ge4X4PdMAQiQCBCQQj8DoZwQ4gEhDOg
|
||||
|
||||
1U2KAZgmMQjcLgU5EWRU2BIB7UdgqeG9AtgTEN0Er4C4IVhcsI+AVZ+2HEPlCsIRUIrh9Aw0CCAlwZVkadm7VvXhB3TRgFFpOQqEOyAdQdQAsVG3fhycwXMSJGiRYkeJESRsAZJDgBUkdJD0DGiH1g+BEgWCSeIJyEEQsDmdHYAUwvsDWjsCHDTYKcCKkVwNa0SFH4G+B4Q6BmuhfAlZ1zZw/Cxx3cd7O7xsdwgwgkiDM1aIMHM3vF1zC83XD22v
|
||||
|
||||
tkgn7ysgZ+TIP8weAHILnMqdQhX45o1M3RKCcWYEVmRWESsGQC3LP6yA8AXBH3KQg5GsGwCGnHuXaDOgqum6Cdg1ENWC9wYYNGD4Qm6AmCKwSYV5C3A+MKhAkw76GugFwncHWDIwqMIDlaIaYLcCLsL6wuwjIAHEIUzkaUIrdWoC4LxDHAZYEJC6iB4OqhSQ/NDrhKQ4tBpCy0ekLZDGQw8BZCRWdkIhCzQnkJGCxgyUKFCr0BIFRCJQjEJ3BwwR
|
||||
|
||||
sK1CeQF8IJC7gokM/CsgXNGrwF0ZdFXR10LdB3Q90VvGAj/g0CNIBgQ8CLBDII7kJhDNwmMXLATkGciqMaIc7CQj0QqUNQj0IgnDlCFQkIDrEMI4gFVCgsdUJSUfHLUPwAdQut31Cf1Q0LYBjQkgC5DNwC0MkArQxQJtCK4KwhsIagOLASwksFLDSwMsT0L8QfWU7BeAzgOZAux0YCyArBFJd4hHBizH4incPsP9HmR6IFOjE0KeUIyphkIpMOCi
|
||||
|
||||
jvU73WlQ/G/wCDMwxS2zCY/e71sc9nAL3iiT3Z1ziC//BIPOdKwy5wkAYvKwx9c6w4ZAbCsQvINX4F9V2UjdigsJ3bETgPt2XMYfAxkAcMAqf1HDYUFoJwC2gs0JnDigYYL6CwAGoAPDZwr8BEQvI2Wl8ikQqsGmDAo9EJCikw84AGjuogzE8j+OUaKCpxoiHF5DAoh2SXNPA1hGrAHwo3HODGOLCLfCcIj8JJCq8OdCIi68UiMbxyIlvBoE6iEC
|
||||
|
||||
MBDaI1kKJCGI00KYjG/aYH2AREYcA+AgQb6BuAIGCsHnD+I4qJxDjo24NQB7g86K3wd8PfAPwj8E/FSloyK/AVFfQJ6OZCXo+iMIAOQ9SIDhhgvkP45DgnaOvDTIHiMlCHw3IMOjFYYSKVDXpFULpiNQr0Nkj5IvUIX8BjI0IQATQ/GOYBNI7SMX8lA8oE4pysS1R4paserEaxmsVrAsj3CKyOmknIcyANoBOR9FGce3cZ21tfZPeECoadZw1CNl
|
||||
|
||||
wqyCOA9gIGNFDRMMKOmVTXU/W3cYo7z1CDfPNOXzD9nZKOulaNEsLSjL3DPySDsolJ0WRawokPrCBIufkug9aQhXOQ/REJx0UOw/zmTYqwIGPQ1dGFAIHD0A4D0BdzcUcP2Y2oicL7Upw+JwWivwXqP6jUItYIMxruIKFOQRwGaKkRigf4HmihggzG30y4m8xmj+OPRBrii4xcIMwEIH6PLjm4quJGC/gWuPWCVvPcLnsJgjcP7jB4gzCBBjIH4B
|
||||
|
||||
DDm4zFmriB49uMPCp4sRF1jFkVuOvR7lI2Ksgxo6iH2jIUZ8OuCTo6GNwjYYiQEIja8EiIbwm8CiIeiMY6iOei6I0ENxjGI6EK+jegkyCMgfgO5UBEjY4bGriqY+EAhjj4qGJhjtqGGirIayOsgbImyFslwA2yDsg7ciQzGPQAwIl+LxioI5iLAAiYi4H1p3OYERsheddaL6jkIviPyRA4/ECEi1QkSOVCeQCSPAhaE+9WAS5IoLAUiOYhqy5ieY
|
||||
|
||||
zqP5iSKa0JZdfCfwkCJgiUInCJIiaIliJ4iRIlA1NQzi0phPI+WnfxM+Q7lcj19PE1P8W4gxx/Qt4qyFJjPAkETG1r/U22TU45YINii7Yj/zzDCxJ2JscUokL1/8PYxIM8cqw8oBi9rgP2Jrpj0IqJlC2xLyHBlk2COKeUo4/sVGUxTBKnqjlTBv0BsQPIylHD4RTOL6MOo6cJ5Ceo0GM6864r8C+w9EBCCXj0kpcM0SvwHJNa0RyWWlYR9Eg+Kf
|
||||
|
||||
Cjo0BPfDfQPCKgBc0YMnhiwyRGMjIUYi/DRiGQx+Kxjn4tkPej8Y6CLRCyk0pLJjto1uKASxIyGJqSSgOpIyZmaVmnZpOabml5p+aQWmFpRaTpKZC0E7GIwS34gmIMxcE4dlHJEKS4GRDgufOLITxkwSMY4GEqSIZj6EpmOkjJQbULYT2Y74x7kuEtSJ4S1ALSL4SdIgRMyJsiXInyI+WEojKIKiKohqJZYmSLkTWURw1sif3AMMO40GNRKnsRLX
|
||||
|
||||
gGchDkQvwBwJg472MhL/Y11sdLYs23v9LXW7zijcwh2OsSko2xJdjT3b/2dsL3dPycSvvKLxSCVmDxJ09sg4qLbEw4+wybVlGYJMFJaIZWJrAnnBOP7DY7QcMvsYktOMaCTgccMSTGnHOK6C84ncALjJ4r8BuAvIr4GS9ow5yGmCooKeA1SdwSKBfxLgG4F1THA85ANS8U41OmBYQRIAQgLU6aycCSE5wENSVg5eMGidwO7Ar8nIbFKcCbU1/Fld
|
||||
|
||||
TgM4CqN7wsGIn8mGI+PxCT48BMeCgyEMgRiIyZGLPx2k2MiojNk26W2Tek1+I+j34nqKCgK4sRG2jhkheL6jLk6ZMwjqk06NqTz49ABA4xIPpjsFwOEZjGYJmKZg2SaInpLei80/pOwTcE8sHXIh2S7Fjjy0tEMpjI0hgVlDrkh5LuTxIudNDMnk1hN1Ce5RSPeSVI7mM+Tpw3hO2p+Eg33KBMuLoh6IwgXLkGJhiUYnGJvXSb3KsfWdhGvRFE/0
|
||||
|
||||
MihAwx4BRhwqFNm9l08Oz1iAazBZBCjazIDF9CJ3QTEkR2tMe2c9lnIxNMcMw62K89H/KXWf8WJKxLv1mTZ2IHMJFH/0ZT//TKMi9RGVxJqAFYDlJDNvE6dLbETmCJzKSVzSOKqifRERDDSIkjy2d1pU1OJHC5U9PASTTqXAMNBlUrqIyS1UtJKjTVU2EJ0Tm4+EMncDMTbhChEwyuJIzHwleK/A3gFyHRgTwkxD0RJMkxFEz5kO1OKA9aF4BwZR
|
||||
|
||||
MgBLAB1M6TJCitMr1KEydMk5inhYxP9OCiieYoCAzTgEDIQg1heIAqSrky4JrTT4s6IgTE0ppPDIkYqMnTT0YkoFQTs0ntLqI+krBI/iRgpCLKT8zCyESyks3JLVlKEjAGrTY0sBLPjfMrXnI5KOUgGo5aOejkY5mOVuhN4UErpK2SIs3+EwTPowmIGUo7CsErALIaBjEkrICmJQiKE7lKiBZ0mhPpitdRmL6zmYyyNZiXktdI4SDZD5PzTzQ75I
|
||||
|
||||
Fjubf5PKAX+JehXo16FVk/4d6PegPpSjG9NkTkTbYE9kFMZyAz4JyFL3VsHIVhHCorAk7A1prsSTjORYw+5XKRVwxwKph/gVMKgz/Aq2M88zE22Kf8wgylJQyDrKIKC9XvelPPdX9T7yyjvvfDJMJ8o/2MKi0s/22HAvgWEFHIqMoJKqjyIaeMW8WjCVNicpU6JJYzqIUcKlMOMsbi4zfQHjJSS5wnYO0z+4sYNszgot1NmDp4cyGCiPOERDpz7s
|
||||
|
||||
8UPhCajI5GcCqwQEDmip0g6J6zPMzLKmTsQ+tIgBMmeZJyYlk/JlWSimLtKfjXoyLL7TospcNgifgQZxHICWD7A6zyE1LPBiMs18KyyfMhNPKBRRX3n95A+YPlD5w+SPmj5Y+FXO6S1cmrN2ToI3BKTDg5RClmQlzEhInTOs43J8Sxcm5KYSBs+5KGzHklhLZjxst5L7Ups3mN3TVEfdNKVLQDcXlZFWZVlVZ1WRBH3FdWMq12ylHRz3nwzga7j4
|
||||
|
||||
sPfLZmp1DA77HIVzkVZjsD7A04FHIDXLRK9ApkYEWbUREFZglwpTQxIijjE1syCCo/cxL+z7YoRQiCbE4HKcdQcyRTPt0os53f1RI1lOrCRA9INrTiMxHPn4HZGsCKDX7CTCqj2EI2NvDcc2vyTjGolOOHDicuVNJz6nRVMnDOo6nPziBMuTO9TYQoswYVlpfZLcCzA5L2sDmEDsTczzMvjOmAbIKeBHI+NEhL2AgoSiGJiA7cSVmQngdzOjSqki
|
||||
|
||||
XM3ypcnLK6YemJtLA5QtCDnbToOTtMzTu093JOFasgtPFCnA1hG30pqYI0NzK07ENNzsI7zLrSsC9AGikLRK0RtE7RB0Q64kpFKTSkKsrNPQTc0igr2SvwImPeBOxMTROYRwQTGr81UpIHrlnszYM9Sus0POoTJIiPLWJBs7Qv6zb00bNXS+1ddMTzN07hJ3TZs35MFjdIq3M7AquGrjq4GuJrgggWuNrg64oU6bwu5voAAtVsoZeDW+xV4BIA0Y
|
||||
|
||||
XDIcEIUIw2IAxhiE/9P1if057W+BNGKy0Z1zYmS3TDb/Dzy3tSUkIPHzLEgHN7MZ8pPznzMMiHNkUWUvDJyiagerThzPEkWG3zg4hICwlczAVMxymsuZC7EGMv5yiSqrEBwaDhUEETJzPxJJNzjQC3oNfzBgpcJnIIC5/HPDiksRFRzdE/sBIVIoLnMJMoiuMRiL64n9O1dboXMwBBFkIEBQKqEtArNzJc4kPYLK4PLN159eYrKN4ys0AIfiRCnN
|
||||
|
||||
N7TxCgZIcCA5BIGkKU6BTAYKp03IJAT0C1gumTpcq+XqkOMRqWalWpVT0flupa2UejKs8LLIKaJF4oHSGsq7Q+Vp4I4EWQw3JCNmQxhY4HxKCSk4EYKZ02mOjz508PIMLi84kLjyTCibO2Ik8r5MtDrC+bIPTPFaSlkpkQXxX8VAldSjvci8lmM4s0GP0QDUl9fwpX0DIJywlCqYERBFSzIb4rRTNFV4CG1GFOfB31mEO8PnhlY2ZHezB86DPSLA
|
||||
|
||||
g0xNHzfshDP+zJ8x2OpSCiz/xiC3Y1P0cScMlfPKKfY/g2qLOU3gDqLGEJXBHJruRQtedVYQVJFh1wlZlVwOi+vyYzCc6/N6LEAhVM4yhilVJGK+osYuLiFM31RTo28r8BeAaIU4CVjXs3i39y6cxUvsjv85MpMh1S/EufStSo3MqszgsXMmSMCs4styJAWGmgTEaOBJRo0aZBLhLHi6rPILPc7BMgknAtyAtTGlezNIS9cjBhPCDgYkv+KTiusp
|
||||
|
||||
mS9IoVRFUxVeBUQVkFVBXQVXcqrMRKII6bK9yBlOZDOQgDG6HNTgoEcv2AAcHiwohLyq8uuBiSmmIpKHSpgoXSySpdNjyxs2koTzUAhkssKmSvdL+TWShtNAFwBSAWgFYBeAUQFKOJJR2yBS5E23M/0E4Bug9cj5yE4NbcyHuxawdZn24AQSKFuyMSF30+KTsfbh2AIGEk0dk/KA70ohms+Uogy13QlI3cvszIpu9sik0onzyNKfItLCwkHK/958
|
||||
|
||||
0L3iCl8scwfLtdfDI7L/vcALrKA47lORZFMuuX5SS/f0u4BIGZcxu4QytAMvzmI4JGb9u/CAB6ARgZdEwAeASGAqtui+oNHD+i+/JjKlUp/OYjUk2nJAKlw9hDAYFMbfUIqbdaYPuIfgY4HOwPgYcCRDZM8Ys7i8KmZAgYGIeexcr9kjCR7ztGXYAoqLIBTEOKSS2ssBLMChsvQBrc8UUlF7cmUSdz5RDcoRKcY5EpizIJfFnGD5kWEGRD3gMYrS
|
||||
|
||||
zpylgvjSvw+csgUYAaBVgVlyyVTXK+S0LPhLRC54t7KYsqQvmQBnEqpB8IoNNk/jLyqmCSzxq1NlvKw8xdN0Ko8/QuGy5YowvYSPyzmPMLt0jSKsLfymwoWyJAbSt0r9K50pvS+7WwzIhAimEHYjxgmeGz4MJDWNZ0tYqMXwUpM763LAAkxZx1LaKtz31LoouDOWVmK3IrNKqUp72PdaU1KNtKmU+0pvdovGoB7sN8311kYK439xAZ0c16yqi4RO
|
||||
|
||||
YOstlKuHyvzMAxHxrdkfRp1R9bwQMEx9o4VoCQgFALIjp8QiQvPIIiVMpSJqSasmopqiRTH0DAaa6UGZ9kbJn3j0VjRgIxtmA0jyPlgLHnx81djAMho9wlICqiUQKuJXArkBTj1pEGa1oFJryaymtZr2aiOC/kktQT1ZtHeWQINECOFav19081JjPE8BAgSIFmAEgTIEKBKgXvifLF8s8pAo9GHlogDX6GFJs+RZC1tACL9KJw68hwMCpLwxc3Ay
|
||||
|
||||
8GR7hrBr0VyFNTj8poP1SUivwLSKoo2DJ+z4M/hX+rWK80qBqP/OxJT8F8u0uXzIatlLJcXSrfIkqSkTRX3K/3ZovB9sQWZAdSW83c0TjJU5OLUrShXy2K8HKFlmdMBbOoBPBVZN/K68ei0cLGUBi9YlBd4QKnKsqac/OPzKVmEyHWZn3WNiih5U/ZKMgjU2yoky0GFYTEQg62EBDrpgSmFnrI604Gjrw64XI0L+6+Kq8yaq/CJFExRW3KlEHc2U
|
||||
|
||||
WdyQsyADCzOq9XPyrC0tEBMRMGW6COyKIM8Jsrz6v4uYK407LOSqzRLgrileCxKRdE3RHKvfqPcncpRKYxMMOcgRwB1M+BruPuJ+ihUQkvwbkC34sPjes+aroSny0huYSlq15N4dJstaumy+YzatTy/yk2s7q6gbutoYNKmCvRgSyhTFmRyIYIogZzAzYD8pvarw11dhohou+BWEYnNk43quOrTC8NdaxJTGKsfL+r4o5DPyKOK2fK4rii/S1KKo
|
||||
|
||||
c1fPwzAwe+zuc0ALCXmRgRM5IPzS/d63L83gQhRFCz8/+1QCsaocJxqarPGtaCCax6lV8JjUkCaAFAdDxxVuaCCG4I4bBxl8bhIfxsCbuPIkRCawmhY03lljHeXRsXNKNA2Mha8jxFqwLKj3Frc0U8RwFzay8StrrxW2vvFRAxDkibomoJrib1WBJvyktalmzpd9a/CzpLW7HavQBmBVgXYFzgTgW4FeBfgQfBBBYQU8LpaBWO9BNFNRxfSUKhwx
|
||||
|
||||
RSJne6vAluG8nn4bVCg3PbyPqefB3N5MaBjrkN4+Ro+yE6+iuu8llSXVTr1GvIrtstGwop0aGUkoqvcvY6HIqLO/YuodqSM6mKfcUc0RHRZZKqqI0yZyKmCXc/7N7Vh8CcuNyK8k7coAOBXQemwxVp+PuqMrNZSMvjiejWMwpySgCeo/jrK6evXqFMgECCgTmOuU2C+47YEmqcWncC0U/0GchWaJgqKl5CRwTZo0Uw0l9w4jJykXOIbxcmcsSr6y
|
||||
|
||||
2qqty76iUTtzpRR3LlEXckgtVy8q7qq/qjdMRDVd59MyGtSgGkPOnSqqsBotyeWu2FqlQS8ErvkH5TqRhKEGp4o/qJWn/K8jEKxNlCg2EaiFpbSErRiBB8Ggkt8rEc6aufLZq8hsYTKS6CqlyaS1ANMLPyuhuTzGG1DGYbTRKFrgAYWioFvUjqrtwChcG4J2rBCFMKABwyFCBjcjNYvrX1BtvZhHW9hU/WhVKw5aiqv9dSz7OJSR8h/1+qzmilIB
|
||||
|
||||
rActbUtLs645zBrsM/Oqz8oaqoBMag4yoykb/0WOtS9fmptWJixS8VPPym61SuYyIy0G169a3bxocZo4JoEDBiapoGpqFAedtJBma+Y1J8XzGdrnaF2pdpXakbWPW5r2RRFz5q0ml0jwcufAh2yaz5fnwrgumxmWZl+mtmSGaOZBWqTJp22dsXat2umB3ambGpi18DVHXx4c9fD3iX9ygWdWFlRZcWSXUZZVdUVlRmzyhOZjIc7FOwRMJfWQqf8T
|
||||
|
||||
pVcgFkfcouAADUswms4QmTnIy9Uh7Ju5/WR4nncVhciHeqnkIlJMTz9UttOaM1RbQZN/PTOrQyT7HOp4rF88L3dcBK4AJqBpE2GoKivE90rTxDs2iHXgq6uAP84o7FGBWYKogducaL8moKajB6xoO1LPG9qIsrkkyepfyFW/uvjLY2OCogYIZaMJHKiYkjuqMxNUqqwrWWvJM2L8OgcEI6rU4apwS3A7Lw+AceXbzk7FYlLKrLOvS+oBLr6+pIrg
|
||||
|
||||
QSm+QhL75KEt1bn5UVrdzxW5BoKq3i1ZhnIZkERHpai6T+N4ipy0BvNy2CiBsC0rVG1TtUwycLTkjItIuuELSCuLv7SeqhrNmjGcyUIuAfi4BvZb7yshta7KGutK9aBjH1tWrVI+hpTzA27av/KIACHX3VD1Y9VPVz1S9WvU6LWDsFLJiqDRFKq8+DXQ6ZCXClDExGonC1SfodcLXDAGjDXJpf8hfSrACFE4F/dki/NoJTqOuiuLbDS+joSNTS9O
|
||||
|
||||
sBr3/NjuT8623OvBrG2oAOz8agTMBeasgt0tLqLLAHD6qu4yTvu0cWBKkaNhxTGoJyEWzJRvzqwTrQ06s41AIxaegrFrVS6c94DeLdurYOZzWtYZ1mdgo+TF8qkyncG27W836OjD9upQslCPlFHOCMoob+s+A4qmmISqgu3NHy7gtIrodUnVUrrdVyuzssq6dk+LsLSaW6nsDTxQzLqIaJkq+vAa1WwOHy1CtaQyL1MASrQqBqtKrDL0Yuzcqq7N
|
||||
|
||||
c41qqMRwJHrXIY65hCa7FW6mKdaKGyPNdbbkx2s663y71rablIvrv9afyphqG6TavA2cA5BBQUq0iDNQVIMOGkShGyFbSKCCh0KlW1M92lC7Iw6gQEqsuARQ32r6Ue3CCQ+wJLA7rBxf80aWu5a5PBMAIqO2HBu7aOyx1Uby2y0o0bLmpjqLCMM25r0b7m5xO9je5QyKIzXmkTokwvsM1sTF2wzHO2ZyIKJ0UkgWut1caR29xsR7bw6MvJzYy3jM
|
||||
|
||||
x7vo7Hu29YQMREz6dwcztOwao4GKuxpkGci5y0+7+v0dzkhELFNPgBfQO8Xa1yDZ6ay+XtVab63lptz+Wh+syrhWl+r+Cuyrcqiy6sqgqcCTOhiHcgLevzplDlWnLqBLziw4yaAe9PvQH0h9EfSuN7i9qrf79ez/skKGs1LuHFZrZ932DTyi5Nl6PM9rtt68Bwwsd7jC53qNraGt3sZKfkrapZKTa403oNGDZg1YN2DTg24NeDQ6tdLCB5EzkLWt
|
||||
|
||||
UaUX1lu8UvHgOdHwqgDtm9hBT6Y2QItOwYQVZrGUHPbyjmtWUKAJCgviIvvNpPqxOu+yjSlOsY6kjA90e8XumlPQzXYsHPe8ywyHNwyFFKGvZrbrUMCE7aioHuBkEIY/J76QDOSqdBDvJNkqCa/RTqHblO7Guai1O1qLMrp+rTuGK5+/oLJbYQ1CtGl9aVZvLTfWLMwogFBgcCUH3gBfuvRJBjsU2DXKhIZxMRyV2THJbOxVtFyY0zls56K4MAYg
|
||||
|
||||
HTjKAYuNR9cfX1buypEqNaFM7XLDdedJ1JuAkIjRUta7W+9KrAsu3EOv7cuxXto9oLQEzTg4LMEwhMoTGE2rV6h9/o1ykB1foayrgX6FRYFMdyrER/+tCO6ytCt1oEq9CvYZjyqG+PJob6Sv1ooG5s42tNERDMQwkMpDErRisFDJQxUM1DKCrD7OBg5DmctuPfy2ZQGC4EEI6dA2jxZRyU/wkHt6nJJxT1m3YGHISqpHv44ZCa7AHyPqsPy+qk6z
|
||||
|
||||
QbLbtBl/wSj4/VDIMH2O97s4686/ioLrqw+2u+EAfLlvEqfE2Rm8rcJMKHB7fS+ANmQyefjgbq8cwD2bqx+/wZN6p+wYpCG4ysIYrSIh6uKiHACvHucC1M45iOSADWZDOQAndQsEyDOsEakGshiTOOZK/B1O+g9aV7Mv6Sh6qoV7b+iQAqHjjSAfOMYBuod17cq0Xuq6tc9nNlo5C4Z3S7SEmZyxUehpyH6GOeg0eC6rzYm0A1SbGizosGLJixYs
|
||||
|
||||
ngH2wq6xW60YN7kBryJWGbgNYbMgdgTYel7J05rsqTSSm3pdaCBqkueTiB7rpd7DQL8o2qPewbuoHTRUgDztJAV03dNPTb019N/TQM26dQ+xasFLRyJIBwYxpGPv4HtgP1mEJVmY2P+bFJSTlDUf7NouI6SktGCGTpqXhvxSQ/ZEciijm5RpOaHulirUs2K1jrxG3u2IPraMor7r5NqwrjH+6qR0jPhq5rFZhctrG1wfnNJEfYsOxYezkfDLx+pF
|
||||
|
||||
ozighvkcfztOzFqnqse4UaMzYgS4AuBxR1ZhX7963/PMgPgG7hOBPOWVzpzhxi5DSpP4+EKUxvS67jmLxTGZF1Hji/UZv7vRiLFGHYLEE0mHELGYbhMHikXrEKmhpQujCUWWiF/xE25MeDyABpVuy7TiucvKByHQW0wBhbUWxcAaHOhxgBZbS0cQaeysXsN6RwYdmaMzse9Dngthx1t2H7ezMcXSOBz1qd68x0gbOHyB78soHPe0sc/p8nK6kKcs
|
||||
|
||||
rHK1KdCrYqzQ59WD1pOqAQYyFoUTsXgaDVrqy7JWYlBidw+wxQyZwHxjmEcb51s+4pPKRnDEZN+wJo/ZsLbDm27ro6si8vsxGkMi5oLCa+ziutLjB0sN4ruOisPMHBKioucIwA6nFsH9QDvsc9rIpL3k7fS4GUxy6dBfh34qglxrh7K3RFqDkUNEevqsDZdHo7jdO7Frs6vweyr/G+NWIYJ77lUCeNjzUxZEEbfOvys1SPJ2CcDyxgxCZ+BkJvFj
|
||||
|
||||
99ChhieKGMJlVqGHDR5B19HKLMm0DHKbEMbDHheiMbInhJ85MonDFF6tonzkmXtTHakpidnLpc3F2EdRHHgHEciXGR1Jc5hxAcoLox1sLEnvQCSeDk96jLpTHLelrpmqaSA4ft7FJ6kuUmm7fMYfj1Josc0mSxq4c/pDBYwVMFzBSwWsFbBewUcF4gZwTm7kTCsDgrHJwQlg0VmKaVEaxrO7MChpGr7CAnl3AOGGj7lOdzaLKwSQZUHNpNQYXGS2
|
||||
|
||||
8KeNKK+q5uxG9Bo9yzqQa+xKwydx4kaba2U+ppEqsp+HOE77Bp0AsgZyTtRstKo6ushALgTWemm7dH5yU7/nLkdU64R3kdHqIPdFssqPxlqa/G2pk1K1SPsLBr0ROc78fxKgoMNwP6dwRmfJ5aFJfvn0bytlrTHPRrCdzRUq++oyqhW5+renIxxYe+iv4vWg0ZDykH0KnAEnAarSBhwLq9HILdl05duXJjz5cBXIVxFcxXCVz2nYuyOY+mlhmMRO
|
||||
|
||||
QgC0U2IUdgaSZ2GSGw4fJKFJ7MZXTlq04e1JCxmbOLH347Sf0EvBHwT8FCAAISCEQhMIQiEohQgBiEZE8yftkX8dlH9UB+8TqXd3iM1M8NKZv2vDZHrQhTz6xTd2XWb4qVrUUYKeFZp9KkxGiuu7OZ0KbL7eZyKfeZop6fP5na2rcY+6G2iWe+6oa1dplnyMbKa5TqRv/WwaMGt9wvGaM85GkLbdO8eHaHx7kcn6Ueh/OzjzZjHs/H5+78YrjKW7
|
||||
|
||||
4Fuhp4DBZGdcW4afJ6wCzea+xt5tnKwXN4nRKPmqwE+bPqih9loDmVp7CZSq+W9KsFan67KoEmDWpBptHxQyyCX5LJgEGBjoCj0cGGQBiBsF9hfOTwU8lPFTzU8NPLTwjmDpzhc+nIobnRM6JgiaYumgZtMbwH5J58ohmcxtucA61JrdP66A2nuaRn9BXv1SFtKgf2yFchfIUKFihfGZLzAoGyCUXzkNkl8NyZuZtTbxrPZHBkgob600UVmXvICi
|
||||
|
||||
WtJmeni53LMsUkkRi+ZRH1BhiqXHtrCtqe6q257yfmbSl+fFmIvXjp+6Qs8kdErKRhHIVnp3FyZHscvNWak7+xeCq7zyprweBaGo3wbcboF5Fsx1ejcyrfHQhpBfCHrZ+1LmR7sVHOSGgl5IadH2EQhu6XigPxYNoNFGZEGXDMkZeKSAQD4lEG8+9CY5bMJuhaDnGFgVsfqsqkVvDGS5+RajGlC5Lq2RoA5WaExDMysu2HAB66a5aWJnKO4CzfTs
|
||||
|
||||
At8rfEYBt8hA9fOLm9e0uYkLy51kdWZ9+yXtOzo59RYYmre2SZ0LQZuasbmHeoEq67oZ1SY7nzhjScuGgOoWKGM5BMPkWR/wa8FXoOMa7hXAeDeUHWTQNR3mm9KYRaTmQFlr4rGFnIy9G4aGIHCldlU6MmbRSrLKZEeIdUgGUHBDXHbwH7RyEVPQb2Z9hUvnS+rMJvnpdLEar6YpnQbiniwhKfdjPut+b3H8MtDmsHTio8febLoVNhMRczJdzN0r
|
||||
|
||||
GxkanZzkNlCphml4ftIhpAlSoaWtdGVJHDme26GNmGp7Yian5M/jL06Rp8lou5pWs7oxhcKGBkkLJkLErEmBVk5hWWEql1vDXmSa3uhXtFjMZpJ2g0NFUNVYIi3AAloSlDgBQ2qIGnAak6ACPgMgcoGVgUQO4AYBCABAB3RvqlTilAq16tbWBUmEQG/hOidIEVBVB2Jf7I613xC/DpwfQDGAK19EeOF21hta7XxYW+dxIB1ztabX75sdfwiu15td
|
||||
|
||||
xGZ8qdfqSu16OBFmCgBdcbX9Aa8F0bV17AHrXx1/QDbgeaneTXWh1zmr3bj19IH9hf2YIClBaic9f0BFQcFf6yucO9ZXAoV8Gd2y71hhOEg78I6FrWd1jtenX0gcWEJRl1i0GfXmAbAEJA5QNrAChKwJICHB/xv7F25i1iDag38AFCC9BUTBZcta0QB1JOZi1owDYADAKZIYACAJOAvhDkNxaihSyO9eXWZzUMDyXa1zkBIBFjF+zT8WN6cCPonN
|
||||
|
||||
djeIA1PHaFfXcATQGCA9+Hjbhwp0MYApAgyGCFwAAACj1pbIdsQU35N6gBxAp4AAEpJQWOGUBEwMUHmBpNuTbHDeAQzYSB0QVTcGANNmjf/Xv4WdZJBN1nWE4BbnCsNjhUwb2GWmmCwTeE2OHc2CIAuNnWu1Jq0fNdpcXQSOFJWgtgsbFASQUgE7AmMLzfC3LwJgAE2hNy6G7QaNuwBGA5mHwWrQ4APjYQBEtzze/FKURYEIBGAYSCI2WKTfIB6Z
|
||||
|
||||
GYICK2noc2CEANQAwG/Xj0Cdp7lowAwHlA0gGreTWGrfAFCBFYIrZK2yt2pBo3HAZgA82MoDWB0hwBhMHHFe5UBNvBAgKUCYBMgIRHSzxt8tgRFIYvLeS2hPBERNDlU+UCy24AG4O22LV3baXBMADreq37NjgBy3s8IUQsQrEKXXCAMgtJVfAgAA
|
||||
```
|
||||
%%
|
||||
10
Excalidraw/Drawing 2026-05-22 13.45.50.excalidraw.svg
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
Excalidraw/姿态系统硬件详细设计文档_V0.2.pdf
Normal file
BIN
Pasted image 20260522091534.png
Normal file
|
After Width: | Height: | Size: 300 KiB |
BIN
Pasted image 20260522134048.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
Pasted image 20260522134155.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
Pasted image 20260522134423.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
Pasted image 20260522140126.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
Pasted image 20260522140141.png
Normal file
|
After Width: | Height: | Size: 174 KiB |
138
README.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 姿态传感器
|
||||
|
||||
## 开发环境
|
||||
|
||||
* Python
|
||||
* [OpenOCD](https://pan.7iwind.cn/directlink/pan/工具/xpack-openocd-0.12.0-7-win32-x64.zip)
|
||||
* [CLion](https://www.jetbrains.com/clion/download/?section=windows)
|
||||
* [arm-none-eabi-gcc](https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-mingw-w64-x86_64-arm-none-eabi.msi)
|
||||
* [protoc-nanopb](https://pan.7iwind.cn/directlink/pan/工具/protoc-nanopb.zip)
|
||||
|
||||
## 环境配置说明
|
||||
|
||||
1. 下载所有运行条件中提到的文件
|
||||
2. 解压OpenOCD至可找到的文件夹
|
||||
3. 解压protoc-nanopb并解压至可找到的文件夹,添加其内的bin路径到环境变量
|
||||
4. 安装CLion
|
||||
5. 安装arm-none-eabi-gcc,一路下一步即可,可自定义安装路径,安装成功后将bin目录添加至环境变量
|
||||
6. 打开powershell,执行`pip install uv`
|
||||
|
||||
## CLion烧录及调试配置
|
||||
1. 用CLion打开项目路径
|
||||
2. 在弹出的窗口勾选CM4与CM7的启用预设![[step1.gif|447]]
|
||||
3. 点击确定,开始生成CMake构建缓存![[gif20260514054158.gif|513]]
|
||||
4. 配置CLion的openocd路径为解压openocd路径下bin文件夹里openocd.exe可执行文件的路径![[gif20260514054645.gif|613]]
|
||||
5. 添加CLion的openocd烧录目标![[gif20260514055249.gif]]
|
||||
6. 点击上方绿色三角箭头即可烧录固件到目标板
|
||||
## 技术架构
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph App["用户程序层 src/"]
|
||||
direction LR
|
||||
CM7["CM7 导航应用\nmain.c"]
|
||||
CM4["CM4 采集应用\nmain_CM4.c"]
|
||||
AppSupport["应用支撑\nshell / banner / time_base / elog_port"]
|
||||
end
|
||||
|
||||
subgraph Service["业务功能层"]
|
||||
direction LR
|
||||
LCFSM["组合导航状态机\nlc_fsm"]
|
||||
SensorTask["传感器采集任务\nIMU / GNSS"]
|
||||
ProtoApp["消息协议适配\nproto"]
|
||||
LogApp["日志与命令行适配"]
|
||||
end
|
||||
|
||||
subgraph Domain["功能模块层"]
|
||||
direction LR
|
||||
|
||||
subgraph Nav["loosely_coupled_navigation"]
|
||||
direction TB
|
||||
LC["LooselyCoupled"]
|
||||
Align["Alignment / Attitude"]
|
||||
INS["INS / Mechanization"]
|
||||
EKF["EKF"]
|
||||
EarthMath["Earth / Math"]
|
||||
end
|
||||
|
||||
subgraph Sensors["sensors"]
|
||||
direction TB
|
||||
IMU["IMU 统一接口"]
|
||||
IMUDriver["ADIS16488 / STIM300 / SCH1633"]
|
||||
GNSS["GNSS 统一接口"]
|
||||
GNSSDriver["K922 / libnmea"]
|
||||
end
|
||||
|
||||
subgraph Proto["proto"]
|
||||
direction TB
|
||||
ProtoFile["V0_0_1.proto"]
|
||||
NanoPB["nanopb 生成代码"]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph BSP["BSP 模块 bsp/"]
|
||||
direction TB
|
||||
|
||||
subgraph BspService["BSP 服务接口层"]
|
||||
direction LR
|
||||
OpenAMP["OpenAMP"]
|
||||
Stream["STREAM"]
|
||||
SPI["SPI"]
|
||||
Timer["TIMER"]
|
||||
Exti["EXTI"]
|
||||
Enter["ENTER"]
|
||||
end
|
||||
|
||||
subgraph BspBase["BSP 基础抽象层"]
|
||||
direction LR
|
||||
IO["IO"]
|
||||
RCC["RCC"]
|
||||
DMA["DMA"]
|
||||
Resource["OpenAMP Resource"]
|
||||
end
|
||||
|
||||
subgraph BspPort["STM32H7xx Port 层"]
|
||||
direction LR
|
||||
StreamPort["stream_port / stream_uart_port"]
|
||||
IOPort["io_port"]
|
||||
SPIPort["spi_port"]
|
||||
TimerPort["timer_port / time_base_port"]
|
||||
ExtiPort["exti_port"]
|
||||
OpenAMPPort["openamp_port"]
|
||||
RCCPort["rcc_port"]
|
||||
DMAPort["dma_port"]
|
||||
end
|
||||
|
||||
subgraph Chip["芯片启动与片上资源层"]
|
||||
direction LR
|
||||
ChipInit["init_CM4 / init_CM7"]
|
||||
IT["stm32h7xx_it"]
|
||||
Memory["MPU / SDRAM / sysmem / syscalls"]
|
||||
HAL["STM32H7xx HAL / CMSIS"]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph Lib["第三方与公共库"]
|
||||
direction LR
|
||||
ThreadX["ThreadX"]
|
||||
CMSISDSP["CMSIS-DSP"]
|
||||
Metal["libmetal / open_amp"]
|
||||
LwRB["lwrb"]
|
||||
ShellLib["microshell"]
|
||||
EasyLogger["easylogger"]
|
||||
QF["qf-fsm"]
|
||||
end
|
||||
|
||||
App --- Service
|
||||
Service --- Domain
|
||||
Domain --- BSP
|
||||
BSP --- Lib
|
||||
```
|
||||
|
||||
## 协作者
|
||||
|
||||
> 高效的协作会激发无尽的创造力,将他们的名字记录在这里吧
|
||||
|
||||
## 协作者
|
||||
|
||||
> 高效的协作会激发无尽的创造力,将他们的名字记录在这里吧
|
||||
BIN
resource/gif20260514054158.gif
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
resource/gif20260514054645.gif
Normal file
|
After Width: | Height: | Size: 845 KiB |
BIN
resource/gif20260514055249.gif
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
BIN
resource/step1.gif
Normal file
|
After Width: | Height: | Size: 108 KiB |
909
姿态系统产品规格说明书融合模板5.20.md
Normal file
@@ -0,0 +1,909 @@
|
||||
# 姿态系统产品规格说明书融合模板
|
||||
|
||||
> 文档定位:本文件为船载/水下高精度姿态系统的产品级总规格书模板。它不是单纯PRD,而是用于承接产品需求、硬件需求、软件需求、接口控制、原理图评审、PCB评审、测试验收、认证准备、生产交付和RTM追溯的主规格文档。
|
||||
---
|
||||
|
||||
## 文档控制信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|---|---|
|
||||
| 文档名称 | 姿态系统产品规格说明书 |
|
||||
| 文档编号 | SPEC-POSE-2026-V1.0 |
|
||||
| 产品名称 | 船载/水下高精度组合航姿系统 |
|
||||
| 产品型号 | POSE-XXX |
|
||||
| 产品类型 | AHRS / INS / POS / MRU |
|
||||
| 适用阶段 | 原型机 / 工程样机 / 正式测试版 / 产品发布版 |
|
||||
| 硬件版本 | HW_Vx.x |
|
||||
| 软件版本 | SW_Vx.x |
|
||||
| 原理图版本 | SCH_Vx.x |
|
||||
| PCB版本 | PCB_Vx.x |
|
||||
| BOM版本 | BOM_Vx.x |
|
||||
| 编写部门 | 产品 / 硬件 / 嵌入式 / 算法 / 测试 / 质量 |
|
||||
| 审核人 | 产品、硬件、嵌入式、算法、测试、质量、认证、生产 |
|
||||
| 批准人 | |
|
||||
| 文档状态 | 草稿 / 评审中 / 已冻结 / 已发布 |
|
||||
| 密级 | 内部受控 / 对外删减版 |
|
||||
|
||||
### 版本记录
|
||||
|
||||
| 版本 | 日期 | 修改内容 | 修改人 | 评审结论 |
|
||||
|---|---|---|---|---|
|
||||
| V0.1 | | 初稿 | | |
|
||||
| V0.9 | | 评审稿 | | |
|
||||
| V1.0 | | 冻结发布版 | | |
|
||||
|
||||
|
||||
|
||||
## 1. 产品概述
|
||||
|
||||
### 1.1 产品定位
|
||||
|
||||
| 项目 | 规格描述 |
|
||||
|---|---|
|
||||
| 产品类型 | 船载/水下高精度组合航姿系统,属于 AHRS / INS / POS / MRU 类产品 |
|
||||
| 典型应用 | 多波束测深、无人船USV、ROV/AUV、水下测绘、声呐运动补偿、海洋工程测量 |
|
||||
| 核心功能 | 输出姿态、航向、升沉、位置、速度、时间、质量指标和系统状态 |
|
||||
| 核心输入 | IMU、GNSS、双天线航向、RTK/RTCM、PPS/PTP、Event Input,可选DVL |
|
||||
| 核心输出 | Roll、Pitch、Heading、Heave、Position、Velocity、Angular Rate、Acceleration、Status |
|
||||
| 产品目标 | 为多波束声呐和船载测绘系统提供高精度地理参考、姿态补偿和运动补偿数据 |
|
||||
| 对标方向 | Applanix POS MV、SBG Ekinox/Apogee、HydroPOS、OCTANS/HYDRINS、NovAtel SPAN/ALIGN、Advanced Navigation Certus类OEM方案 |
|
||||
|
||||
### 1.2 产品组成
|
||||
|
||||
| 组成部分 | 说明 |
|
||||
|---|---|
|
||||
| 主控计算单元 | STM32H747 或同级双核MCU/处理器 |
|
||||
| IMU单元 | 战术级MEMS IMU,支持 ADIS16488、STIM300、SCH1633 等配置 |
|
||||
| GNSS单元 | 多频多星座RTK-GNSS,支持主/副双天线定向 |
|
||||
| 时间同步单元 | PPS、PTP、Event Input、IMU时间戳 |
|
||||
| 通信接口单元 | Ethernet、RS232/RS422/RS485、USB/调试口 |
|
||||
| 存储单元 | eMMC或等效存储,用于Raw IMU、GNSS观测值、POS数据和日志 |
|
||||
| 电源单元 | 船载宽压输入、电源保护、掉电检测、保持供电 |
|
||||
| 结构防护单元 | IP67外壳、防水连接器、安装基准、坐标轴标识 |
|
||||
| 配套软件 | Web配置、FTP下载、日志导出、参数配置、后处理数据导出 |
|
||||
| 配套文档 | ICD、安装配置手册、协议说明书、出厂测试与校准规范、维护手册 |
|
||||
|
||||
### 1.3 产品关键默认规格
|
||||
|
||||
> 本节为原理图、PCB、软件、测试和正式准入的统一基线。正式产品规格不得长期保留模糊项。
|
||||
|
||||
| 项目 | 正式规格 | 原型机例外 | 验收方式 | 优先级 |
|
||||
| ----------- | ---------------------------------- | ----------------------- | --------------------- | ----- |
|
||||
| 产品输入电压 | **9–36V DC** | 原型机允许12V实验室供电,但不得作为产品规格 | 电源拉偏、反接、瞬断、浪涌预扫 | P0 |
|
||||
| PPS同步精度 | **PPS捕获时间戳误差≤5µs** | 不建议降低 | 示波器/逻辑分析仪 | P0 |
|
||||
| PTP同步精度 | **目标≤1µs**;未验证时标注“待硬件实测” | 可阶段性待验证 | PTP主从测试 | P0/P1 |
|
||||
| STIM300接口 | **默认UART/RS422类接口接入** | 最终以器件手册和硬件实现为准 | 连续采集、帧号、时间戳、丢帧统计 | P0 |
|
||||
| ADIS16488接口 | SPI + DRDY/GPIO + RST | 无 | SPI时序、DRDY触发测试 | P1 |
|
||||
| SCH1633接口 | SPI + DRDY/GPIO + RST | 待器件手册确认 | 初始化、读数、时间戳测试 | P1 |
|
||||
| 数据存储 | **≥16GB eMMC或等效存储** | 原型机可临时使用SD/外部存储验证 | 连续写入、文件解析、FTP下载 | P0 |
|
||||
| 掉电保护 | **必须支持掉电检测 + 保持供电 + 文件flush/sync** | 未实现则列P1风险 | 写入中断电,重启后文件系统不损坏 | P0 |
|
||||
| COM1默认输出 | PASHR + PRDID,建议100Hz | 可配置 | 串口抓包 | P0 |
|
||||
| COM2默认输出 | TSS1,建议100Hz | 可配置 | 声呐/上位机联调 | P0 |
|
||||
| COM3默认用途 | RTCM差分输入 | 可配置 | RTK固定测试 | P1 |
|
||||
| COM4默认用途 | Debug Log / Binary POS / 备用 | 可配置 | 串口抓包 | P1 |
|
||||
| 以太网默认功能 | Web配置、FTP下载、TCP/UDP实时输出、PTP待验证 | 无 | Ping/Web/FTP/抓包/PTP测试 | P0/P1 |
|
||||
| 实时升沉 | 5cm或5%,取大值 | 无 | 摇摆台/外场测试 | P0 |
|
||||
| 延迟升沉 | 2.5cm或2%,默认300s | 可阶段性关闭 | 后处理对比 | P1 |
|
||||
| 防护等级 | 产品版IP67 | 原型机可裸板/工装 | 气密/浸水测试 | P1/P0 |
|
||||
|
||||
### 1.4 产品型号与配置边界
|
||||
|
||||
| 配置项 | 原型机/开发版 | 工程样机/正式测试版 | 产品发布版 |
|
||||
| ------- | ------------------------------ | -------------------- | --------------- |
|
||||
| 输入电压 | 允许12V实验室供电 | 建议支持9–36V | 必须9–36V |
|
||||
| IMU | ADIS16488/STIM300/SCH1633按样机配置 | 至少闭环一种主IMU + 一种兼容IMU | 明确标配/选配 |
|
||||
| GNSS | K922或目标GNSS模块 | 双天线、PPS、RTK状态可用 | 双天线RTK/PPK完整 |
|
||||
| 存储 | 可阶段性外部验证 | eMMC/文件系统可用 | eMMC + 掉电保护必须可用 |
|
||||
| PTP | 可先验证网口链路 | 给出PTP实测结论 | 达到≤1µs或调整产品宣称 |
|
||||
| 外壳防护 | 可裸板/工装 | 外场防护方案 | IP67定型 |
|
||||
| COM输出 | 初步协议输出 | 可配置输出 | 出厂默认协议明确 |
|
||||
| Web/FTP | 可先开发最小版本 | 支持配置与文件下载 | 作为正式交付功能 |
|
||||
| 认证 | 暂不认证 | 预扫/摸底 | 按目标市场完成认证 |
|
||||
|
||||
### 1.5 行业对标产品概述
|
||||
|
||||
| 对标产品 | 产品定位 | 可借鉴点 | 对当前产品启示 |
|
||||
| ------------------------------------------------------------- | -------------- | ----------------------------------------- | ----------------------- |
|
||||
| Applanix POS MV SurfMaster / WaveMaster / OceanMaster / Elite | 船用高精度位置姿态系统 | GAMS双天线航向、TrueHeave、微秒级时间标记、COM/以太网输出 | 作为多波束测绘级产品主要对标 |
|
||||
| SBG Ekinox-D / Apogee-D | 高性价比MEMS组合导航 | MEMS IMU + 双天线GNSS + Web配置 + 后处理 | 作为成本/性能平衡对标 |
|
||||
| HydroPOS | 国产POS组合航姿系统 | 双GNSS天线、PCS、IMU、PPS、三点输出、后处理 | 作为国产产品文档和使用流程参考 |
|
||||
| OCTANS / HYDRINS | 高端FOG MRU/INS | 实时升沉/延迟升沉、外部时钟同步、质量指标、安装手册体系 | 作为高端产品文档体系和安装要求参考 |
|
||||
| NovAtel SPAN / ALIGN | GNSS/INS组合导航平台 | ALIGN双天线航向、LEVERARM、EXTHDGOFFSET、INSPVA日志 | 作为算法和后处理生态参考 |
|
||||
| Advanced Navigation Certus类OEM | OEM级GNSS/INS模块 | 规格表、接口Pinout、Web配置、GPIO动态功能、协议包分类 | 作为硬件接口、ICD、Web配置、安装检查参考 |
|
||||
|
||||
### 1.6 产品层级与性能分级
|
||||
|
||||
| 层级 | 产品定位 | 典型对标 | 姿态精度 | 航向精度 | 升沉 | 适用场景 |
|
||||
| --- | ------------ | ------------------------------------ | ------------ | -------------------- | ----------------- | ------------- |
|
||||
| 基础级 | 小型无人船/普通声呐辅助 | 入门级POS/MRU | 0.03°–0.05° | 0.08°@2m | 5cm或5% | 轻量测绘、教学、一般工程 |
|
||||
| 标准级 | 当前主推版本 | POS MV SurfMaster / Ekinox-D | ≤0.02°–0.03° | ≤0.05°@2m | 5cm或5%;延迟2.5cm或2% | 多波束测深、USV |
|
||||
| 高级级 | 高精度测绘版本 | POS MV WaveMaster / Apogee-D | ≤0.02° | 0.03°@2m / 0.015°@4m | TrueHeave级 | 高精度水下测绘 |
|
||||
| 旗舰级 | 高端惯导/深海/特殊环境 | POS MV OceanMaster / Elite / HYDRINS | ≤0.01° | ≤0.02°@2m | 高级延迟升沉 | 高端测绘、GNSS受限环境 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 系统级规格 SYS
|
||||
|
||||
### 2.1 系统关键指标冻结表
|
||||
|
||||
| ID | 指标类别 | 指标项 | 当前版冻结值 | 目标/扩展值 | 验收方式 | 优先级 |
|
||||
| ------------ | -------- | --------------- | ---------------------------------- | ------------------ | ------------ | ----- |
|
||||
| SYS-PERF-001 | 姿态 | Roll/Pitch | RTK有效≤0.02° RMS;RTK失效60s≤0.05° RMS | 高级版≤0.01°–0.015° | 转台/跑船,对比光纤惯导 | P0 |
|
||||
| SYS-PERF-002 | 航向 | Heading | 2m基线≤0.05° | 4m基线≤0.03°或≤0.015° | 双天线基线测试、8字绕行 | P0 |
|
||||
| SYS-PERF-003 | 实时升沉 | Real-time Heave | 5cm或5%,取大值 | TrueHeave级 | 六自由度摇摆台/外场 | P0 |
|
||||
| SYS-PERF-004 | 延迟升沉 | Delayed Heave | 2.5cm或2%,默认300s | 延迟时间可配置 | 后处理真值对比 | P1 |
|
||||
| SYS-PERF-005 | 位置 | RTK Position | 水平1cm+1ppm,垂直2cm+1ppm | PPK/PPP扩展 | RTK固定解统计 | P0 |
|
||||
| SYS-PERF-006 | 速度 | Velocity | TBD | 根据GNSS/INS能力冻结 | 真值对比 | P1 |
|
||||
| SYS-PERF-007 | 数据更新率 | IMU Raw | ≥200Hz,目标支持1kHz | 1kHz | 日志统计/逻辑分析仪 | P0 |
|
||||
| SYS-PERF-008 | 数据更新率 | POS输出 | ≥100Hz,网口目标200Hz | 200Hz | 串口/网口抓包 | P0 |
|
||||
| SYS-PERF-009 | 时间同步 | PPS | ≤5µs | 目标≤1µs | 示波器/逻辑分析仪 | P0 |
|
||||
| SYS-PERF-010 | 时间同步 | PTP | 目标≤1µs | 产品版需实测冻结 | PTP主从测试 | P0/P1 |
|
||||
| SYS-PERF-011 | GNSS失效保持 | 30s/60s退化量 | TBD | 对标竞品失效保持能力 | 遮挡/回放测试 | P1 |
|
||||
| SYS-PERF-012 | 输出延迟 | COM/ETH输出延迟 | TBD | 按多波束要求冻结 | 抓包+时间戳对齐 | P1 |
|
||||
| SYS-PERF-013 | Event打戳 | Event Input时间戳 | TBD | 目标微秒级 | 脉冲发生器测试 | P1 |
|
||||
|
||||
### 2.2 工作模式与状态机
|
||||
|
||||
| 状态 | 触发条件 | 系统行为 | 输出要求 |
|
||||
| ---------- | -------------- | ------------------------ | ------------- |
|
||||
| Power On | 上电 | 电源稳定、MCU启动、加载配置 | 输出启动日志 |
|
||||
| BIT自检 | 启动后 | 检查IMU、GNSS、存储、PPS、网络、配置区 | 输出自检结果 |
|
||||
| Standby | 自检通过 | 等待配置或自动进入对准 | 输出状态,不输出有效POS |
|
||||
| Alignment | IMU/GNSS满足条件 | 静基座/晃动基座/双天线辅助对准 | 输出对准进度 |
|
||||
| Navigation | 对准完成 | 输出姿态、航向、位置、升沉、速度 | 正常协议输出 |
|
||||
| Degraded | GNSS/RTK/IMU异常 | 降级或纯惯导保持 | 输出质量标志和错误码 |
|
||||
| Logging | 记录开启 | 写Raw IMU、GNSS观测值、POS、日志 | 文件可回放 |
|
||||
| Fault | 关键模块异常 | 报警、降级、复位或停止输出 | 错误码明确 |
|
||||
| Shutdown | 掉电检测 | 停止写入、flush/sync、保存文件索引 | 文件系统不损坏 |
|
||||
|
||||
### 2.3 对准与初始化性能
|
||||
|
||||
| ID | 对准/初始化项 | 完成条件 | 完成后有效数据 | 验收方法 |
|
||||
|---|---|---|---|---|
|
||||
| SYS-INIT-001 | 姿态初始化 | IMU稳定,重力方向估计完成 | Roll/Pitch有效 | 静态试验 |
|
||||
| SYS-INIT-002 | 导航初始化 | GNSS 3D Fix或手动初始位置 | 位置/速度有效 | GNSS定位测试 |
|
||||
| SYS-INIT-003 | 航向初始化 | 双天线航向、速度航向或外部航向有效 | Heading有效 | 双天线测试 |
|
||||
| SYS-INIT-004 | 时间初始化 | GNSS时间 + PPS有效 | UTC/GPS时间戳有效 | PPS测试 |
|
||||
| SYS-ALIGN-001 | 静基座初始对准 | 静止条件满足 | 初始姿态 | 静态试验 |
|
||||
| SYS-ALIGN-002 | 晃动基座对准 | 船载晃动条件满足 | 初始姿态/航向 | 摇摆台/外场 |
|
||||
| SYS-ALIGN-003 | 双天线辅助航向对准 | 主副天线有效,基线固定 | 航向快速收敛 | 双天线基线测试 |
|
||||
| SYS-ALIGN-004 | 热启动 | 配置与上次状态有效 | 缩短启动时间 | 多次上电 |
|
||||
| SYS-ALIGN-005 | 对准失败处理 | 对准超时或质量不足 | Standby/Degraded/Error | 故障注入 |
|
||||
|
||||
### 2.4 GNSS失效与降级策略
|
||||
|
||||
| 场景 | 系统行为 | 输出要求 | 验收方式 |
|
||||
|---|---|---|---|
|
||||
| RTK固定→浮动 | 保持导航,降低质量标志 | 输出RTK状态变化 | RTK状态切换测试 |
|
||||
| GNSS短时失效 | 进入惯性保持,协方差增大 | 输出DR状态和误差估计 | 遮挡/回放测试 |
|
||||
| 双天线航向失效 | 使用IMU航向保持或单天线辅助 | 输出Heading质量标志 | 断开副天线测试 |
|
||||
| PPS失效 | 切换内部时钟或PTP时钟,报警 | 输出时间同步异常 | PPS断开测试 |
|
||||
| IMU丢帧 | 标记数据异常,必要时降级 | 输出IMU丢帧计数 | 串口/SPI异常注入 |
|
||||
| 存储异常 | 停止记录或切换日志策略 | 输出存储错误码 | 写满/拔除/断电测试 |
|
||||
|
||||
### 2.5 时间同步与数据延迟指标
|
||||
|
||||
| 指标 | 规格要求 | 验收方法 |
|
||||
|---|---|---|
|
||||
| PPS捕获误差 | ≤5µs | 示波器测PPS边沿与系统时间戳 |
|
||||
| PTP同步误差 | 目标≤1µs | PTP Master/Slave测试 |
|
||||
| IMU时间戳抖动 | TBD,需统计周期方差 | 连续采集统计 |
|
||||
| POS输出延迟 | TBD,需标定串口/网口输出延迟 | 抓包+时间戳对齐 |
|
||||
| Event Marker打戳 | 支持外部事件输入并记录时间 | 外部脉冲测试 |
|
||||
| 每帧相对PPS偏差 | 建议记录到日志 | 日志分析 |
|
||||
| 时间有效标志 | 输出Time Valid、PPS Valid、PTP Sync等状态 | 协议抓包/状态页 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 软件规格 SWE
|
||||
|
||||
### 3.1 软件架构与双核分工
|
||||
|
||||
| ID | 软件项 | 规格要求 | 验收方式 |
|
||||
|---|---|---|---|
|
||||
| SWE-ARCH-001 | 双核架构 | CM4负责实时采样、DMA、PPS捕获;CM7负责算法、网络、文件系统、协议输出 | 架构评审 |
|
||||
| SWE-ARCH-002 | RTOS | 使用ThreadX或同级RTOS,任务优先级、栈空间、周期明确 | 长稳测试 |
|
||||
| SWE-ARCH-003 | 核间通信 | 共享内存/无锁环形缓冲区传输带时间戳数据 | IPC压力测试 |
|
||||
| SWE-ARCH-004 | 状态机 | 支持自检、对准、导航、降级、记录、故障、关机 | 状态迁移测试 |
|
||||
| SWE-ARCH-005 | 看门狗 | 支持系统级和任务级心跳监控 | 故障注入 |
|
||||
| SWE-ARCH-006 | 日志系统 | 支持分级日志、模块标签、关键时间戳和错误码 | 日志检查 |
|
||||
| SWE-ARCH-007 | 配置管理 | 支持默认配置、用户配置、工厂配置、恢复出厂 | 配置测试 |
|
||||
|
||||
### 3.2 BSP与驱动规格
|
||||
|
||||
| ID | 模块 | 规格要求 | 验收方式 |
|
||||
| ----------- | ----------- | ---------------------------------- | ---------------- |
|
||||
| SWE-BSP-001 | GPIO/EXTI | 支持外部中断注册、触发沿、优先级、使能/禁用 | 单元测试 |
|
||||
| SWE-BSP-002 | UART/Stream | 支持DMA、空闲中断、环形缓冲区、接收回调 | 串口压力测试 |
|
||||
| SWE-BSP-003 | SPI | 支持IMU高速读取、片选、DRDY触发 | 逻辑分析仪 |
|
||||
| SWE-BSP-004 | Timer/PPS | 支持PPS/Event硬件捕获、时间戳换算 | PPS测试 |
|
||||
| SWE-BSP-005 | Ethernet | 支持NetX、TCP/UDP、WebServer、FTP、PTP验证 | Ping/Web/FTP/PTP |
|
||||
| SWE-BSP-006 | Storage | 支持eMMC读写、文件分割、掉电同步 | 写入和断电测试 |
|
||||
| SWE-BSP-007 | Watchdog | 支持独立看门狗、窗口看门狗、任务喂狗 | 故障注入 |
|
||||
| SWE-BSP-008 | Bootloader | 支持升级、回滚、版本校验 | 升级测试 |
|
||||
|
||||
### 3.3 算法规格
|
||||
|
||||
| ID | 算法项 | 规格要求 | 验收方式 |
|
||||
|---|---|---|---|
|
||||
| SWE-ALG-001 | 标定补偿 | 支持零偏、标度因数、非正交误差、温度补偿 | 标定数据回放 |
|
||||
| SWE-ALG-002 | 初始对准 | 支持静基座、晃动基座、惯性系对准 | 仿真/转台 |
|
||||
| SWE-ALG-003 | 捷联解算 | 支持姿态、速度、位置积分及圆锥/划船补偿 | 标准轨迹回放 |
|
||||
| SWE-ALG-004 | 杆臂补偿 | 支持IMU、GNSS天线、声呐、VRP三维杆臂 | 单元测试 |
|
||||
| SWE-ALG-005 | 松组合EKF | 支持位置/速度量测更新、协方差传播、失效降级 | 仿真/HIL |
|
||||
| SWE-ALG-006 | 双天线航向融合 | 支持GNSS双天线航向量测融合 | 基线测试 |
|
||||
| SWE-ALG-007 | 实时升沉 | IIR/自适应滤波输出实时Heave | 摇摆台 |
|
||||
| SWE-ALG-008 | 延迟升沉 | FIR零相位或等效算法,默认300s缓存 | 后处理对比 |
|
||||
| SWE-ALG-009 | VRP多点输出 | 支持至少3个虚拟参考点 | 配置测试 |
|
||||
| SWE-ALG-010 | DVL融合 | 可选支持DVL速度量测 | 回放测试 |
|
||||
| SWE-ALG-011 | 异常量测拒绝 | 对GNSS跳变、航向异常、DVL异常进行抗差处理 | 故障注入 |
|
||||
| SWE-ALG-012 | 质量估计 | 输出姿态/航向/位置/速度/升沉质量指标或标准差 | 对比验证 |
|
||||
|
||||
### 3.4 默认协议与COM口输出矩阵
|
||||
|
||||
| 端口 | 默认方向 | 默认协议 | 默认频率 | 默认波特率 | 可配置项 | 用途 |
|
||||
| ------------ | ----- | --------------------------- | --------: | -------------------: | --------- | ------- |
|
||||
| COM1 | 输出 | PASHR + PRDID | 100Hz | 建议460800,最低115200需验算 | 协议、频率、波特率 | 多波束姿态输入 |
|
||||
| COM2 | 输出 | TSS1 | 100Hz | 115200/460800 | 协议、频率、波特率 | 声呐兼容 |
|
||||
| COM3 | 输入 | RTCM | 按RTCM源 | 115200 | 波特率、输入源 | RTK差分 |
|
||||
| COM4 | 输出/调试 | Debug Log / Binary POS | 10–100Hz | 115200/921600 | 日志等级、协议 | 调试/备用 |
|
||||
| Ethernet UDP | 输出 | Binary POS / Protobuf / 自定义 | 100–200Hz | 100M网口 | IP、端口、频率 | 实时输出 |
|
||||
| Ethernet TCP | 输入/控制 | Web/命令 | N/A | 100M网口 | IP、端口 | 配置控制 |
|
||||
| FTP | 输出 | 文件下载 | N/A | 100M网口 | 用户、路径 | 数据下载 |
|
||||
| NTRIP Client | 输入 | RTCM网络差分 | 按服务源 | Ethernet | IP、端口、账号 | CORS差分 |
|
||||
| Event | 输入 | 脉冲事件 | 按外部设备 | 3.3V/5V待定 | 有效沿、去抖 | 声呐事件打戳 |
|
||||
|
||||
### 3.5 数据记录、回放与后处理支持
|
||||
|
||||
| 数据类型 | 是否必须 | 内容 | 默认频率 | 文件格式 | 用途 |
|
||||
|---|---|---|---:|---|---|
|
||||
| Raw IMU | 必须 | 时间戳、角速度、加速度、温度、状态 | ≥200Hz | BIN + 索引 | 算法回放、PPK |
|
||||
| GNSS观测值 | 必须 | 原始观测、星历、RTK状态、PPS时间 | 按模块输出 | RINEX/UBX/RTCM/自定义 | PPK |
|
||||
| POS实时结果 | 必须 | 姿态、航向、位置、速度、升沉、状态 | ≥100Hz | BIN/CSV索引 | 成果回放 |
|
||||
| 系统日志 | 必须 | 状态机、错误码、时间同步、丢帧、存储异常 | 事件触发 | TXT/BIN | 问题定位 |
|
||||
| 配置参数 | 必须 | 杆臂、安装角、端口、网络、IMU/GNSS配置 | 修改触发 | JSON/INI/BIN | 启动加载 |
|
||||
| 后处理导出 | 建议必须 | Raw IMU、GNSS观测、POS、配置、日志 | 按任务 | RINEX/自定义包 | PPK/问题复盘 |
|
||||
|
||||
#### 3.5.1 掉电保护条款
|
||||
|
||||
| 掉电保护项 | 规格 |
|
||||
| ----- | ------------------------------------- |
|
||||
| 掉电检测 | 必须支持PWR_FAIL/PVD/ADC等硬件检测 |
|
||||
| 保持供电 | 默认目标≥200ms,满足文件flush/sync |
|
||||
| 软件动作 | 停止新写入 → flush/sync → 写文件尾/索引 → 标记安全关闭 |
|
||||
| 验收方法 | 写入过程中断电,重启后文件系统不损坏,文件可识别 |
|
||||
| 风险等级 | P0;若PPK/Raw记录作为卖点,则不得取消 |
|
||||
|
||||
### 3.6 诊断、质量指标与错误码
|
||||
|
||||
| ID | 规格项 | 要求 |
|
||||
|---|---|---|
|
||||
| SWE-DIAG-001 | BIT上电自检 | 检查IMU、GNSS、存储、网络、PPS、配置区 |
|
||||
| SWE-DIAG-002 | 运行时监测 | 监测GNSS状态、RTK状态、IMU丢帧、PPS异常、存储异常 |
|
||||
| SWE-DIAG-003 | 质量指标 | 输出姿态、航向、位置、速度、升沉质量标志或标准差 |
|
||||
| SWE-DIAG-004 | 错误码 | 每类错误有唯一错误码、等级、恢复策略 |
|
||||
| SWE-DIAG-005 | FDIR | 支持故障检测、隔离和降级重构 |
|
||||
| SWE-DIAG-006 | 日志导出 | 支持按时间、模块、错误等级导出日志 |
|
||||
| SWE-QA-001 | 编码规范 | MISRA C:2012、Barr-C、CERT C |
|
||||
| SWE-QA-002 | 静态分析 | cppcheck、clang-tidy、clang-format、复杂度检查 |
|
||||
| SWE-QA-003 | 单元测试 | 算法、BSP、协议、文件系统均需测试 |
|
||||
| SWE-QA-004 | 追溯 | SYS-SWE-SDS-Test-Bug全链路追溯 |
|
||||
|
||||
### 3.7 Web配置与监控页面需求
|
||||
|
||||
| 页面 | 最小功能 |
|
||||
| -------- | ---------------------------- |
|
||||
| 状态页 | 系统状态、GNSS状态、Heading状态、时间同步状态 |
|
||||
| 卫星页 | 可见卫星、SNR、主/副天线状态、RTK状态 |
|
||||
| Raw IMU页 | 角速度、加速度、温度、丢帧计数 |
|
||||
| 姿态页 | Roll/Pitch/Heading、角速度、质量标志 |
|
||||
| 位置页 | 经纬高、RTK状态、位置标准差 |
|
||||
| 速度页 | N/E/D速度、船速、速度质量 |
|
||||
| 升沉页 | 实时升沉、延迟升沉、多参考点升沉 |
|
||||
| 通信页 | COM口、以太网、协议、频率、错误统计 |
|
||||
| 数据端口页 | 协议选择、输出频率、目标IP/端口 |
|
||||
| 安装页 | 安装角、主副天线杆臂、声呐杆臂 |
|
||||
| GNSS配置页 | 星座、频点、RTK、NTRIP |
|
||||
| 数据记录页 | 开启/停止记录、文件列表、下载、删除、格式化 |
|
||||
| 固件升级页 | 固件上传、校验、升级、回滚 |
|
||||
| 诊断页 | 错误码、BIT结果、时间同步状态、存储状态 |
|
||||
| 配置备份页 | 导出/导入配置,恢复出厂设置 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 硬件规格 HW
|
||||
|
||||
### 4.1 硬件总体架构
|
||||
|
||||
| ID | 硬件项 | 规格要求 |
|
||||
| ----------- | ------ | ----------------------------------------------------- |
|
||||
| HW-ARCH-001 | 主控 | STM32H747或同级双核MCU,具备FPU、ETH、SPI、UART、Timer、DMA、外部存储接口 |
|
||||
| HW-ARCH-002 | IMU接口 | 支持ADIS16488、STIM300、SCH1633等目标IMU |
|
||||
| HW-ARCH-003 | GNSS接口 | 支持多频多星座GNSS、主/副天线、RTCM输入、PPS输出 |
|
||||
| HW-ARCH-004 | 时间同步 | PPS接入硬件捕获通道;PTP能力需实测确认 |
|
||||
| HW-ARCH-005 | 通信 | Ethernet、≥4路COM、调试口、可选USB/CAN |
|
||||
| HW-ARCH-006 | 存储 | ≥16GB eMMC或等效存储,满足Raw持续写入 |
|
||||
| HW-ARCH-007 | 扩展 | Event Input、DVL、外部GNSS、外部授时预留 |
|
||||
| HW-ARCH-008 | 平台化 | 支持核心板+扩展板、GNSS模组、IMU模组、接口板模块化 |
|
||||
|
||||
### 4.2 硬件接口资源矩阵
|
||||
|
||||
| 功能 | 信号 | MCU资源 | 外部器件 | 方向 | 测试点 | 验收方法 |
|
||||
| ----------- | ------------- | ------------ | ----------- | --------- | --- | ------- |
|
||||
| GNSS数据 | GNSS_TX/RX | USARTx | K922/目标GNSS | 双向 | 是 | 串口抓包 |
|
||||
| GNSS PPS | 1PPS | TIMx_CHx捕获 | GNSS | GNSS→MCU | 是 | 示波器 |
|
||||
| GNSS状态 | RTK/PVT/ERR | GPIO | GNSS | GNSS→MCU | 建议 | 状态切换 |
|
||||
| ADIS16488 | SPI + DRDY | SPIx + EXTI | IMU | 双向 | 是 | 逻辑分析仪 |
|
||||
| SCH1633 | SPI + DRDY | SPIx + EXTI | IMU | 双向 | 是 | 逻辑分析仪 |
|
||||
| STIM300 | UART/RS422 | USARTx/DMA | IMU | IMU→MCU为主 | 是 | 连续采集 |
|
||||
| Ethernet | RMII | ETH MAC | PHY | 双向 | 部分 | Ping/抓包 |
|
||||
| PTP | ETH PTP TS | ETH MAC | PHY | 双向 | 视方案 | PTP测试 |
|
||||
| COM输出 | RS_T/R | UART + SP336 | 声呐/上位机 | 双向 | 是 | 串口抓包 |
|
||||
| Event Input | EVENT_IN | TIM/EXTI | 外部设备 | 外部→MCU | 是 | 脉冲测试 |
|
||||
| eMMC | SDMMC/FMC | SDMMC/FMC | eMMC | 双向 | 否 | 写入测试 |
|
||||
| 掉电检测 | PWR_FAIL | GPIO/ADC/PVD | 电源监控 | 电源→MCU | 是 | 断电测试 |
|
||||
| Debug | SWD/JTAG/UART | SWD/USART | 调试器/产测 | 双向 | 是 | 烧录调试 |
|
||||
|
||||
### 4.3 IMU兼容矩阵
|
||||
|
||||
| 项目 | ADIS16488 | SCH1633 | STIM300 |
|
||||
|---|---|---|---|
|
||||
| 默认定位 | 开发/验证IMU | 目标兼容IMU | 高性能/战术级IMU |
|
||||
| 默认接口 | SPI | SPI | UART/RS422 |
|
||||
| 数据就绪 | DRDY GPIO/EXTI | DRDY GPIO/EXTI | 串口帧到达/同步信号 |
|
||||
| 复位 | MCU GPIO | MCU GPIO | 建议MCU可控 |
|
||||
| 同步方式 | DRDY/PPS对齐 | DRDY/PPS对齐 | 帧时间戳/PPS同步/外部同步 |
|
||||
| 供电 | 按器件手册 | 按器件手册 | 按STIM300手册确认 |
|
||||
| 电平 | 3.3V SPI | 3.3V SPI | RS422/TTL待确认 |
|
||||
| 默认频率 | ≥200Hz | ≥200Hz | 按配置,需支持高频 |
|
||||
| 关键风险 | SPI时序/DRDY | 初始化/DRDY | 粘包、跳帧、帧解析、时间戳 |
|
||||
| 验收 | 连续采样无异常 | 连续采样无异常 | 帧号连续、时间戳单调、无未解释丢帧 |
|
||||
|
||||
### 4.4 IMU传感器指标表
|
||||
|
||||
| 指标项 | 当前要求 | 目标/高配要求 | 说明 |
|
||||
|---|---|---|---|
|
||||
| 陀螺量程 | TBD | 根据选型确定 | °/s |
|
||||
| 加速度计量程 | TBD | 根据选型确定 | g |
|
||||
| 陀螺零偏不稳定性 | TBD | 越小越好 | °/h |
|
||||
| 加计零偏不稳定性 | TBD | 越小越好 | mg |
|
||||
| 角随机游走 | TBD | 越小越好 | °/√h |
|
||||
| 速度随机游走 | TBD | 越小越好 | m/s/√h |
|
||||
| 噪声密度 | TBD | 按器件手册 | 陀螺/加计分别定义 |
|
||||
| 带宽 | TBD | 满足高频采样 | Hz |
|
||||
| 温度范围 | -40℃~+85℃或按型号 | 工业级 | 与产品环境一致 |
|
||||
| 温补 | 必须支持 | 全温补偿 | 出厂标定数据 |
|
||||
|
||||
### 4.5 GNSS接收机选型对比表
|
||||
|
||||
| GNSS方案 | 星座频点 | 最大更新率 | RTK精度 | 授时精度 | RTCM支持 | 当前状态 |
|
||||
|---|---|---:|---|---|---|---|
|
||||
| K922 | 待补 | 待补 | 待补 | 待补 | RTCM v3.x | 当前原型机 |
|
||||
| F9P/X20P类 | 多星座双频 | 25Hz级 | cm级 | ns级 | RTCM v3.x | 参考 |
|
||||
| Mosaic X5类 | 多星座多频 | 100Hz级 | cm级 | <20ns级 | RTCM v2/v3 | 高配参考 |
|
||||
| BD992类 | 多星座多频/L-band | 50Hz级 | mm/cm级 | ns级 | RTCM/CMR/CMR+ | 高配参考 |
|
||||
|
||||
> 说明:该表用于选型与对标,不能直接作为产品承诺。当前产品的GNSS指标必须以最终BOM、模块手册和实测报告冻结。
|
||||
|
||||
### 4.6 GNSS与双天线规格
|
||||
|
||||
| ID | 项目 | 规格要求 |
|
||||
|---|---|---|
|
||||
| HW-GNSS-001 | 模块 | 支持多频多星座RTK-GNSS |
|
||||
| HW-GNSS-002 | 双天线 | 支持主天线和副天线,用于定位和定向 |
|
||||
| HW-GNSS-003 | RTCM输入 | 支持串口或网络RTCM输入 |
|
||||
| HW-GNSS-004 | PPS输出 | GNSS PPS接入MCU硬件捕获 |
|
||||
| HW-GNSS-005 | 状态脚 | RTK/PVT/ERR状态接入MCU GPIO,定义有效电平 |
|
||||
| HW-GNSS-006 | 天线供电 | 支持有源天线供电、短路保护、ESD保护 |
|
||||
| HW-GNSS-007 | 射频走线 | PCB按50Ω阻抗控制,远离噪声源 |
|
||||
| HW-GNSS-008 | NTRIP | 支持网络RTCM差分输入,配置IP/端口/账号 |
|
||||
|
||||
### 4.7 双天线基线与航向状态监测
|
||||
|
||||
| 项目 | 规格要求 |
|
||||
|---|---|
|
||||
| 主天线 | 作为定位主天线,输出位置、速度、PPS、观测值 |
|
||||
| 副天线 | 与主天线构成双天线基线,用于航向解算 |
|
||||
| 基线长度 | 支持配置2m/4m或实测基线长度 |
|
||||
| 基线向量 | 支持输入主天线至副天线在船体坐标系下的XYZ向量 |
|
||||
| 基线精度 | 建议实测误差≤5mm,作为高级航向性能前提 |
|
||||
| 航向状态 | 输出固定解、浮动解、无解、低SNR、周跳、多路径等状态 |
|
||||
| 报警 | 支持天线开路/短路、基线变化异常、RTK失效报警 |
|
||||
| 验收 | 静态基线场、转向机动、8字绕行、断开副天线测试 |
|
||||
|
||||
### 4.8 PPS/PTP/Event/IMU时间同步链路
|
||||
|
||||
| 同步对象 | 来源 | 硬件路径 | 软件处理 | 精度目标 | 验收 |
|
||||
|---|---|---|---|---|---|
|
||||
| PPS | GNSS模块 | PPS → MCU定时器捕获 | 更新UTC/GPS时间基准 | ≤5µs | 示波器/逻辑分析仪 |
|
||||
| PTP | Ethernet | ETH MAC/PHY | IEEE1588修正本地时钟 | ≤1µs目标 | PTP主从测试 |
|
||||
| IMU时间戳 | IMU DRDY/串口帧 | EXTI/TIM/UART DMA | CM4打戳并送CM7 | TBD | 周期统计 |
|
||||
| Event Input | 外部声呐/设备 | Event → TIM捕获 | 记录事件时间 | TBD | 外部脉冲 |
|
||||
| POS输出时间 | 系统时钟 | 协议字段 | 输出UTC/GPS/系统时间 | 与PPS一致 | 协议抓包 |
|
||||
|
||||
强制条款:**PPS不允许仅作为普通GPIO状态读取;产品版应优先接入MCU硬件捕获通道。**
|
||||
|
||||
### 4.9 GPIO动态功能表
|
||||
|
||||
| GPIO功能 | 方向 | 用途 | 是否当前必须 |
|
||||
|---|---|---|---|
|
||||
| 1PPS Input | 输入 | 外部授时 | P1 |
|
||||
| 1PPS Output | 输出 | 给声呐/上位机同步 | P1 |
|
||||
| Event Input | 输入 | 声呐触发事件打戳 | P1 |
|
||||
| GNSS Fix Output | 输出 | GNSS有效状态指示 | P2 |
|
||||
| IMU DRDY | 输入 | IMU数据就绪 | P0 |
|
||||
| RTCM Input | 输入 | 差分数据输入 | P1 |
|
||||
| DVL Input | 输入 | 未来水下速度辅助 | P2 |
|
||||
| TSS1 Output | 输出 | 声呐姿态输出 | P0/P1 |
|
||||
| Fault Output | 输出 | 系统故障告警 | P2 |
|
||||
| User DIO | 输入/输出 | 用户自定义 | P2 |
|
||||
|
||||
### 4.10 连接器与Pinout模板
|
||||
|
||||
| 接口 | 连接器型号 | Pin | 信号 | 方向 | 电平/标准 | 说明 |
|
||||
| --------- | -------- | --: | -------- | ----- | ----------- | ----------- |
|
||||
| 电源 | 待定 | 1 | VIN | 输入 | 9–36V | 船载电源 |
|
||||
| 电源 | 待定 | 2 | GND | - | - | 电源地 |
|
||||
| COM0 | 待定 | 1 | TX | 输出 | RS232/RS422 | PASHR/PRDID |
|
||||
| COM1 | 待定 | 2 | RX | 输入 | RS232/RS422 | 可配置 |
|
||||
| COM2 | 待定 | 1 | TX | 输出 | RS232/RS422 | TSS1 |
|
||||
| COM3 | 待定 | 1 | RX | 输入 | RS232/RS422 | RTCM输入 |
|
||||
| PPS/Event | 待定 | 1 | 1PPS | 输入/输出 | 3.3V/5V待定 | 时间同步 |
|
||||
| PPS/Event | 待定 | 2 | EVENT_IN | 输入 | 3.3V/5V待定 | 事件打戳 |
|
||||
| Ethernet | RJ45/航空插 | - | TX/RX | 双向 | 100Base-T | Web/FTP/PTP |
|
||||
| GNSS ANT1 | SMA/TNC | - | RF_IN1 | 输入 | 50Ω | 主天线 |
|
||||
| GNSS ANT2 | SMA/TNC | - | RF_IN2 | 输入 | 50Ω | 副天线 |
|
||||
| Debug | 待定 | - | SWD/UART | 双向 | 3.3V | 调试/产测 |
|
||||
|
||||
### 4.11 存储、电源与调试接口
|
||||
|
||||
| 项目 | 规格要求 |
|
||||
|---|---|
|
||||
| eMMC | ≥16GB,支持Raw IMU、GNSS观测值、POS数据和日志连续记录 |
|
||||
| 掉电检测 | 支持PWR_FAIL/PVD/ADC等方式触发安全关文件 |
|
||||
| 保持供电 | 保持时间≥200ms或按实测文件系统flush时间确定 |
|
||||
| SWD/JTAG | 必须保留调试口 |
|
||||
| Debug UART | 必须保留调试串口或维护口 |
|
||||
| 关键测试点 | 12V、5V、3V3、1V8、PPS、SPI、UART、DRDY、Reset |
|
||||
| 产测接口 | 支持自动化烧录、版本查询、接口遍历、出厂校验 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 电气规格 EE
|
||||
|
||||
### 5.1 电源与保护
|
||||
|
||||
| 项目 | 产品版规格 | 原型机状态 | 评审要求 |
|
||||
|---|---|---|---|
|
||||
| 输入电压 | 9–36V DC | 可12V调试 | 原理图必须说明差异 |
|
||||
| 反接保护 | 必须 | 若无则P0/P1 | 投板前关闭 |
|
||||
| 过压保护 | 必须 | 待确认 | 电源入口TVS/保护 |
|
||||
| 浪涌/EFT | 必须考虑 | 待确认 | EMC预扫前完成 |
|
||||
| 保险/限流 | 必须 | 待确认 | 保护电流路径 |
|
||||
| 电源滤波 | 必须 | 待确认 | DCDC前后滤波 |
|
||||
| IMU低噪声供电 | 建议必须 | 待确认 | 独立LDO/滤波 |
|
||||
| GNSS天线供电 | 必须明确 | 待确认 | 电压、电流、短路保护 |
|
||||
| 掉电检测 | 必须 | 待确认 | PWR_FAIL/PVD/ADC |
|
||||
| 保持电源 | 必须 | 待确认 | 超级电容/UPS方案 |
|
||||
| 测试点 | 必须 | 待确认 | 12V、5V、3V3、1V8、GNSS、PPS |
|
||||
|
||||
### 5.2 电源轨
|
||||
|
||||
| 电源轨 | 负载对象 | 规格要求 | 验收方式 |
|
||||
|---|---|---|---|
|
||||
| +5V | IMU/外设/中间电源 | 电流余量≥30%,纹波满足负载要求 | 示波器 |
|
||||
| +3V3 | MCU/IO/数字电路 | 电压偏差、纹波、上电时序满足MCU要求 | 电源测试 |
|
||||
| +1V8 | MCU/存储/低压外设 | 满足负载和时序要求 | 电源测试 |
|
||||
| +3V3_GNSS | GNSS/天线供电 | 独立滤波,满足有源天线电流需求 | GNSS测试 |
|
||||
| +3V3_NET | Ethernet PHY | 独立滤波,满足PHY上电时序 | 网络测试 |
|
||||
| IMU_LDO | IMU低噪声供电 | 建议低噪声LDO,纹波满足IMU要求 | 纹波测试 |
|
||||
|
||||
### 5.3 接口电气规格
|
||||
|
||||
| 接口 | 电气要求 | 保护要求 |
|
||||
|---|---|---|
|
||||
| UART/TTL | 3.3V CMOS,波特率可配置 | ESD/限流 |
|
||||
| RS232 | 符合RS232电平 | ESD/浪涌 |
|
||||
| RS422/RS485 | 差分通信,终端匹配可配置 | ESD/共模保护/隔离可选 |
|
||||
| Ethernet | 10/100Base-T,差分阻抗控制 | 网络变压器、ESD |
|
||||
| PPS/Event | 明确电平、有效沿、脉宽、输入容限 | ESD/限流/施密特可选 |
|
||||
| GNSS RF | 50Ω,支持有源天线供电 | RF ESD、防雷可选 |
|
||||
| USB | USB FS/HS按型号定义 | ESD/热插拔保护 |
|
||||
|
||||
### 5.4 功耗与热设计
|
||||
|
||||
| 项目 | 规格要求 | 验收方式 |
|
||||
|---|---|---|
|
||||
| 典型功耗 | TBD,按最终BOM估算并实测 | 电源分析仪 |
|
||||
| 最大功耗 | TBD,所有接口高负载运行 | 电源分析仪 |
|
||||
| 峰值电流 | 上电、GNSS启动、存储写入时需统计 | 示波器/电流探头 |
|
||||
| 温升 | MCU、PHY、电源、IMU附近温升不得影响精度 | 热像仪/温箱 |
|
||||
| 散热路径 | 外壳导热、铜皮散热、热隔离IMU | PCB/结构评审 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 机械、安装与标定规格
|
||||
|
||||
### 6.1 机械规格
|
||||
|
||||
| ID | 项目 | 规格要求 |
|
||||
|---|---|---|
|
||||
| MECH-001 | 外形尺寸 | 长、宽、高、安装孔位、重量按型号定义 |
|
||||
| MECH-002 | 安装基准 | 明确IMU测量中心、外壳安装基准、船体坐标系 |
|
||||
| MECH-003 | 坐标轴标识 | 外壳必须标注X/Y/Z或船艏方向 |
|
||||
| MECH-004 | 连接器 | 防水、防松、防呆,接口定义与用户手册一致 |
|
||||
| MECH-005 | 散热 | 主控、PHY、电源、存储温升不影响IMU精度 |
|
||||
| MECH-006 | 防护 | 满足IP67或型号定义 |
|
||||
| MECH-007 | 维护 | 便于现场连接、状态识别、数据导出、返修定位 |
|
||||
|
||||
### 6.2 坐标系定义
|
||||
|
||||
| 坐标系 | 定义要求 |
|
||||
|---|---|
|
||||
| IMU坐标系 | 以IMU器件/模块测量轴为准,明确X/Y/Z方向 |
|
||||
| 设备坐标系 | 以外壳丝印和安装基准为准,必须与文档一致 |
|
||||
| 船体坐标系 | 建议X向船艏、Y向右舷、Z向下,采用右手坐标系 |
|
||||
| GNSS天线坐标 | 主/副天线相位中心位置必须记录 |
|
||||
| 声呐坐标系 | 明确换能器参考点、安装方向、波束方向 |
|
||||
| 输出坐标系 | NED/ENU/船体系/用户自定义输出必须说明 |
|
||||
|
||||
### 6.3 安装参数记录表
|
||||
|
||||
| 参数 | 内容 | 精度要求 | 记录方式 |
|
||||
|---|---|---|---|
|
||||
| IMU安装角 | Roll/Pitch/Yaw安装偏角 | TBD | 安装表 |
|
||||
| IMU测量中心 | 相对船体参考点XYZ | mm级 | 安装表 |
|
||||
| GNSS主天线杆臂 | 相对IMU/船体参考点XYZ | mm级 | 安装表 |
|
||||
| GNSS副天线杆臂 | 相对主天线/IMU XYZ | mm级 | 安装表 |
|
||||
| 声呐换能器杆臂 | 相对IMU XYZ | mm级 | 安装表 |
|
||||
| 船体坐标系 | X/Y/Z方向定义 | 必须明确 | 图示+文字 |
|
||||
| VRP点 | 船头、船尾、重心等 | mm级 | 配置表 |
|
||||
| COG | 船体重心或升沉参考点 | mm级 | 配置表 |
|
||||
|
||||
### 6.4 安装检查清单
|
||||
|
||||
| 检查项 | 是否完成 | 验收说明 |
|
||||
|---|---|---|
|
||||
| 供电极性和输入电压检查 | □ | 9–36V或实验室12V |
|
||||
| Web/以太网连接 | □ | 可访问配置页面 |
|
||||
| IMU安装方向 | □ | X/Y/Z与船体坐标一致 |
|
||||
| 主天线杆臂 | □ | IMU中心到主天线相位中心 |
|
||||
| 副天线杆臂/基线 | □ | 主副天线基线方向和距离 |
|
||||
| 声呐杆臂 | □ | IMU到换能器参考点 |
|
||||
| COM输出 | □ | PASHR/TSS1/NMEA/Binary |
|
||||
| PPS/Event | □ | 有效沿和时间戳正常 |
|
||||
| 数据记录 | □ | Raw IMU/GNSS/POS/日志 |
|
||||
| 初始化状态 | □ | 姿态、导航、航向、时间均有效 |
|
||||
| 日志下载 | □ | Web/FTP可下载 |
|
||||
| 版本确认 | □ | 硬件、软件、配置、校准版本一致 |
|
||||
|
||||
### 6.5 多波束集成与安装校准
|
||||
|
||||
| 项目 | 要求 |
|
||||
|---|---|
|
||||
| IMU坐标系 | 明确X/Y/Z方向,与外壳丝印、软件坐标系一致 |
|
||||
| 船体坐标系 | 建议采用右手坐标系,明确船艏、右舷、下方向 |
|
||||
| 声呐坐标系 | 明确声呐换能器安装角和参考点 |
|
||||
| 杆臂测量 | IMU→主天线、IMU→副天线、IMU→声呐参考点必须实测 |
|
||||
| 安装偏角 | Roll/Pitch/Yaw Boresight必须记录 |
|
||||
| Patch Test | 支持外场Patch Test校准Roll/Pitch/Yaw安装误差 |
|
||||
| 多点输出 | 支持至少3个VRP输出,如IMU点、声呐点、船体参考点 |
|
||||
| 线缆接线 | 电源、COM、PPS/Event、Ethernet、GNSS天线必须有接线图 |
|
||||
| 集成检查 | 与HYPACK/HYSWEEP、Qimera、CARIS等软件联调时应确认协议、时间、坐标系 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 环境与可靠性规格
|
||||
|
||||
| ID | 项目 | 规格要求 | 验收方式 |
|
||||
|---|---|---|---|
|
||||
| ENV-001 | 防护等级 | IP67,水深1m浸泡30min;长期浸泡另定义IP68 | 气密/浸水 |
|
||||
| ENV-002 | 工作温度 | -40℃~+85℃或按型号定义 | 高低温循环 |
|
||||
| ENV-003 | 存储温度 | -40℃~+85℃或更宽 | 温箱 |
|
||||
| ENV-004 | 湿热 | 满足船载高湿环境 | 湿热试验 |
|
||||
| ENV-005 | 振动 | 符合IEC 60945或项目定义 | 振动台 |
|
||||
| ENV-006 | 冲击 | 满足运输、安装、拍浪冲击 | 冲击测试 |
|
||||
| ENV-007 | 盐雾 | 海洋环境适用 | 盐雾测试 |
|
||||
| ENV-008 | 长稳运行 | 室温/高温/低温长时间运行无严重异常 | 24h/72h/168h |
|
||||
| ENV-009 | EMC预扫 | 样机阶段完成关键接口预扫 | EMC预扫 |
|
||||
| ENV-010 | 线缆可靠性 | 防水、防松、屏蔽、拉力满足外场要求 | 线缆测试 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 认证与合规规格
|
||||
|
||||
### 8.1 目标认证清单
|
||||
|
||||
| ID | 认证项 | 目标要求 | 阶段 |
|
||||
|---|---|---|---|
|
||||
| CERT-001 | CE | EMC、安全、RoHS等 | 产品发布 |
|
||||
| CERT-002 | EMC | 辐射、传导、静电、浪涌、EFT、抗扰度 | 样机/定型 |
|
||||
| CERT-003 | IEC 60945 | 船用电子环境、电磁、振动等 | 船载版本 |
|
||||
| CERT-004 | IP67/IP68 | 防水防尘等级 | 结构定型 |
|
||||
| CERT-005 | RoHS/环保 | 物料环保合规 | 量产 |
|
||||
| CERT-006 | 海洋测绘适配 | IHO S-44、GB 12327、GB/T 42640、JT/T 790等 | 产品验证 |
|
||||
| CERT-007 | 软件质量 | MISRA C、静态分析、单元测试、版本追溯 | 软件发布 |
|
||||
| CERT-008 | 计量/校准 | IMU/GNSS/姿态/升沉校准报告 | 出厂/交付 |
|
||||
| CERT-009 | FCC/国内无线相关 | 仅当包含相关无线模块时适用 | 选配 |
|
||||
|
||||
### 8.2 认证与预认证设计输入
|
||||
|
||||
| 认证风险 | 设计要求 |
|
||||
|---|---|
|
||||
| EMC不过 | 电源入口、串口、网口、PPS、GNSS RF设计ESD/滤波/屏蔽 |
|
||||
| 防水不过 | 外壳、密封圈、连接器、防水堵头、气密测试前置 |
|
||||
| 振动不过 | IMU、连接器、大器件、线缆固定抗振 |
|
||||
| 静电损坏 | 所有外部接口必须有ESD保护 |
|
||||
| 认证样机不一致 | 原理图、PCB、BOM、结构、线缆、固件版本冻结 |
|
||||
| 资料不完整 | 说明书、电气原理图、BOM、关键器件认证、测试报告齐备 |
|
||||
|
||||
---
|
||||
|
||||
## 9. 生产制造、出厂校准与交付
|
||||
|
||||
### 9.1 生产制造规格
|
||||
|
||||
| ID | 项目 | 规格要求 | 验收方式 |
|
||||
|---|---|---|---|
|
||||
| MFG-001 | 烧录 | 支持固件烧录、Boot配置、版本校验 | 产测工装 |
|
||||
| MFG-002 | 配置加载 | 支持出厂配置、IMU标定参数、GNSS参数、网络参数写入 | 配置校验 |
|
||||
| MFG-003 | 序列号 | 每台设备唯一SN、硬件版本、软件版本、校准版本 | 标签/系统查询 |
|
||||
| MFG-004 | 出厂测试 | 电源、IMU、GNSS、PPS、COM、Ethernet、存储全检 | 出厂报告 |
|
||||
| MFG-005 | 标定 | IMU误差参数、安装角、温补、杆臂默认值 | 标定报告 |
|
||||
| MFG-006 | 老化 | 常温/高温老化按产品等级定义 | 老化记录 |
|
||||
| MFG-007 | 包装运输 | 防潮、防震、防静电、运输标识 | 包装检验 |
|
||||
| MFG-008 | 交付清单 | 主机、天线、电源线、数据线、网线、安装件、说明书、校准报告 | 交付检查 |
|
||||
|
||||
### 9.2 出厂校准证书要求
|
||||
|
||||
| 校准项 | 内容 |
|
||||
|---|---|
|
||||
| 设备信息 | SN、硬件版本、软件版本、BOM版本、校准日期 |
|
||||
| IMU标定 | 零偏、比例因子、非正交、温度补偿参数 |
|
||||
| 安装角 | 设备坐标系与IMU坐标系偏差 |
|
||||
| GNSS基线 | 主/副天线基线长度与方向 |
|
||||
| 姿态校准 | Roll/Pitch/Heading验证结果 |
|
||||
| 升沉校准 | 摇摆台或标准数据集验证结果 |
|
||||
| 时间同步 | PPS/PTP测试结果 |
|
||||
| 出厂结论 | 合格/不合格、限制说明、签字 |
|
||||
|
||||
### 9.3 交付与包装清单
|
||||
|
||||
| 类别 | 交付物 |
|
||||
|---|---|
|
||||
| 主设备 | 姿态系统主机 |
|
||||
| 天线 | GNSS主天线、GNSS副天线 |
|
||||
| 线缆 | 电源线、COM线、以太网线、PPS/Event线、GNSS天线线缆 |
|
||||
| 安装件 | 安装支架、螺钉、防水堵头、标识贴 |
|
||||
| 文档 | 产品说明书、安装配置手册、接口控制文档、协议说明书 |
|
||||
| 软件 | Web配置工具、固件升级工具、日志解析工具、后处理导出工具 |
|
||||
| 证书 | 出厂测试报告、校准证书、合格证 |
|
||||
| 包装 | 防震箱、防静电袋、防潮包、装箱单 |
|
||||
|
||||
### 9.4 维护升级与服务支持
|
||||
|
||||
| 项目 | 规格要求 |
|
||||
|---|---|
|
||||
| 固件升级 | 支持Web/维护口升级,升级失败可回滚或恢复 |
|
||||
| 配置备份 | 支持导出/导入配置 |
|
||||
| 日志导出 | 支持按时间、模块、错误等级导出日志 |
|
||||
| 故障诊断 | 提供错误码表、状态灯说明、Web诊断页面 |
|
||||
| 返修数据 | 支持SN、硬件版本、软件版本、运行日志、配置文件导出 |
|
||||
| 维护手册 | 单独形成《故障诊断与维护手册》 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 测试与验收规格
|
||||
|
||||
### 10.1 测试层级
|
||||
|
||||
| 层级 | 测试对象 | 测试内容 |
|
||||
|---|---|---|
|
||||
| 单元测试 SWE.4 | 算法、BSP、协议、文件系统 | 函数级、模块级正确性 |
|
||||
| 板级测试 | 原理图/PCB/接口 | 上电、功耗、信号、电源、通信 |
|
||||
| HIL测试 | 嵌入式系统 | 传感器模拟、数据回放、状态机、异常注入 |
|
||||
| 实验室测试 | 转台/摇摆台/温箱 | 姿态、升沉、温度、时间同步 |
|
||||
| 外场测试 | 车载/船载/正式 | GNSS、RTK、航向、升沉、声呐联调 |
|
||||
| 认证测试 | EMC/IP/振动/环境 | 合规验证 |
|
||||
| 回归测试 | 版本发布前 | 缺陷修复和核心功能复测 |
|
||||
| 出厂测试 | 量产设备 | 供电、接口、传感器、协议、存储、校准 |
|
||||
|
||||
### 10.2 核心测试矩阵
|
||||
|
||||
| 需求ID | 测试项 | 工具/环境 | 通过标准 |
|
||||
|---|---|---|---|
|
||||
| SYS-PERF-001 | 姿态精度 | 转台/光纤惯导真值 | RMS满足指标 |
|
||||
| SYS-PERF-002 | 航向精度 | 双天线基线场/跑船 | 满足基线对应指标 |
|
||||
| SYS-PERF-003 | 实时升沉 | 六自由度摇摆台 | 5cm或5% |
|
||||
| SYS-PERF-009 | PPS时间同步 | 示波器/逻辑分析仪 | ≤5µs |
|
||||
| SYS-PERF-010 | PTP时间同步 | PTP主钟/从钟 | 目标≤1µs |
|
||||
| HW-IMU-007 | IMU连续性 | 长稳采集脚本 | 无未解释丢帧/时间戳回退 |
|
||||
| SWE-LOG-005 | 掉电保护 | 可控电源/写入负载 | 文件系统不损坏 |
|
||||
| HW-GNSS-002 | 双天线定向 | RTK/双天线环境 | 航向稳定 |
|
||||
| SWE-PROT-001 | 协议输出 | 串口抓包/协议解析器 | 字段、频率、校验正确 |
|
||||
| CERT-002 | EMC | EMC实验室 | 满足目标标准 |
|
||||
| ENV-001 | 防水 | 气密/浸水 | 无进水、无异常 |
|
||||
|
||||
### 10.3 正式测试准入清单
|
||||
|
||||
| 类别 | 准入条件 | 是否必须 |
|
||||
|---|---|---|
|
||||
| 硬件 | 原理图V2评审完成,P0关闭,P1有结论 | 必须 |
|
||||
| 电源 | 输入保护、供电稳定、无异常发热 | 必须 |
|
||||
| 防护 | 外壳、连接器、线缆、防水堵头确认 | 必须 |
|
||||
| IMU | 数据连续、时间戳单调、无未解释跳帧 | 必须 |
|
||||
| GNSS | 双天线、RTK状态、PPS输出正常 | 必须 |
|
||||
| PPS | 捕获稳定,有示波器/逻辑分析仪记录 | 必须 |
|
||||
| COM | 至少一路姿态/POS输出稳定 | 必须 |
|
||||
| 网络 | Web/FTP/Ping可用,日志可下载 | 必须 |
|
||||
| 存储 | Raw/POS数据可保存,断电不损坏 | 必须 |
|
||||
| 日志 | 能观察状态、错误码、时间戳、算法输出 | 必须 |
|
||||
| 软件 | 文件系统、COM配置、数据打包输出基本可用 | 必须 |
|
||||
| 算法 | 升沉/松组合可基础联合运行并有log | 必须 |
|
||||
| 风险 | 遗留问题有负责人、风险接受和回退方案 | 必须 |
|
||||
|
||||
### 10.4 原理图评审清单
|
||||
|
||||
| 模块 | 必查项 | 通过标准 |
|
||||
| ------- | ----------------------------------------- | ------------ |
|
||||
| 需求追溯 | 每个关键电路来源于PRD/HRS/RTM/问题单 | 无来源设计需补依据 |
|
||||
| MCU最小系统 | 电源、复位、BOOT、时钟、SWD、VBAT完整 | 可稳定启动、烧录、调试 |
|
||||
| IMU接口 | ADIS16488、STIM300、SCH1633供电、接口、电平、复位、同步明确 | 每种IMU接入路径清晰 |
|
||||
| GNSS模块 | 双天线、PPS、RTK/PVT/ERR、串口完整 | 支持定位、定向、状态监测 |
|
||||
| PPS | 接入MCU定时器捕获通道 | 不仅是普通GPIO |
|
||||
| PTP | ETH MAC/PHY硬件能力明确 | 不明确则列风险 |
|
||||
| 串口COM | RS232/RS422/RS485模式、默认配置、终端匹配明确 | 可配置、可测试 |
|
||||
| 电源输入 | 9–36V、反接、保险、浪涌、TVS、滤波完整 | 满足船载环境 |
|
||||
| 掉电保护 | 掉电检测、保持供电、文件安全关闭链路完整 | 支持数据记录安全 |
|
||||
| 存储 | eMMC供电、接口、写入能力满足需求 | 支持Raw/PPK记录 |
|
||||
| 外部接口 | FPC、RJ45、串口、PPS、Event、GNSS天线定义清楚 | 线缆和结构可落地 |
|
||||
| ESD/EMC | 外部接口具备保护设计 | 保护器件靠近接口侧 |
|
||||
| 调试/产测 | SWD、Debug UART、电源测试点、PPS测试点保留 | 可调试、可产测 |
|
||||
|
||||
### 10.5 PCB评审清单
|
||||
|
||||
| 模块 | 必查项 | 通过标准 |
|
||||
|---|---|---|
|
||||
| IMU布局 | 靠近机械安装基准,远离DCDC、PHY、高热器件 | 降低热、振动、噪声影响 |
|
||||
| IMU坐标轴 | PCB、外壳、软件坐标系一致 | 丝印和文档一致 |
|
||||
| GNSS射频 | RF走线50Ω阻抗控制,远离噪声源 | RF路径短、直、参考地连续 |
|
||||
| PPS/Event | 走线短,远离高速线和开关电源 | 有测试点,回流路径完整 |
|
||||
| 以太网 | RMII、差分线、网络变压器、RJ45符合规范 | 差分阻抗、长度、地参考满足 |
|
||||
| 高速存储 | eMMC/SDRAM走线满足长度、阻抗、参考平面要求 | 无明显高速信号风险 |
|
||||
| 电源布局 | DCDC回路紧凑,敏感电源滤波隔离 | 纹波和EMI可控 |
|
||||
| 地平面 | 无关键回流路径中断 | 关键信号下方连续地 |
|
||||
| 外部接口 | 连接器方向、间距、防呆、防水符合结构 | 装配无干涉 |
|
||||
| 测试点 | 3V3、5V、1V8、PPS、SPI、UART、DRDY、Reset可测 | 探针可接触 |
|
||||
| 热设计 | MCU、PHY、电源、eMMC有散热路径 | 不影响IMU/GNSS |
|
||||
|
||||
---
|
||||
|
||||
## 11. 需求追溯与风险闭环
|
||||
|
||||
### 11.1 需求ID规则
|
||||
|
||||
| 分类 | ID前缀 | 示例 |
|
||||
|---|---|---|
|
||||
| 系统性能 | SYS-PERF | SYS-PERF-001 |
|
||||
| 软件 | SWE | SWE-ALG-001 |
|
||||
| BSP/驱动 | BSP | BSP-SPI-001 |
|
||||
| 硬件 | HW | HW-IMU-001 |
|
||||
| 电气 | EE | EE-PWR-001 |
|
||||
| 机械 | MECH | MECH-001 |
|
||||
| 环境 | ENV | ENV-001 |
|
||||
| 认证 | CERT | CERT-001 |
|
||||
| 制造 | MFG | MFG-001 |
|
||||
| 测试 | TEST | TEST-SYS-001 |
|
||||
|
||||
### 11.2 RTM追溯字段
|
||||
|
||||
| 字段 | 要求 |
|
||||
|---|---|
|
||||
| PRD需求ID | 全局唯一 |
|
||||
| 需求分类 | SYS/SWE/BSP/HW/EE/MECH/ENV/CERT/MFG/TEST |
|
||||
| 功能描述 | 描述物理表现或业务目的,不写代码逻辑 |
|
||||
| 核心性能/约束指标 | 必须量化,有单位 |
|
||||
| 优先级 | P0/P1/P2 |
|
||||
| 所属子系统 | 算法、BSP、硬件、电源、通信、存储等 |
|
||||
| 运行核心 | CM4/CM7/双核/N/A |
|
||||
| 依赖硬件接口 | 具体外设、管脚、接口 |
|
||||
| 详细设计文档 | 对应文档章节 |
|
||||
| 测试阶段 | 单元测试、HIL、转台、外场、认证 |
|
||||
| 测试用例ID | 对应测试管理平台 |
|
||||
| 验收标准DoD | 触发条件 + 动作 + 可观测断言 |
|
||||
| 风险点 | 架构师/负责人视角列出最担心的问题 |
|
||||
|
||||
### 11.3 风险清单
|
||||
|
||||
| 风险ID | 风险描述 | 等级 | 应对措施 | 关闭标准 |
|
||||
|---|---|---|---|---|
|
||||
| RISK-001 | STIM300存在跳帧/粘包风险 | 高 | 独立接口、帧解析、连续采集统计 | 24h无未解释丢帧 |
|
||||
| RISK-002 | PTP 1µs目标未硬件验证 | 高 | 确认MAC/PHY硬件时间戳能力 | PTP测试报告 |
|
||||
| RISK-003 | eMMC掉电损坏风险 | 高 | 掉电检测+保持供电+flush/sync | 断电测试通过 |
|
||||
| RISK-004 | COM默认协议不清 | 中 | 输出COM矩阵并冻结默认配置 | 串口抓包通过 |
|
||||
| RISK-005 | 9–36V电源保护不足 | 高 | 增加反接、浪涌、保险、滤波 | 电源测试通过 |
|
||||
| RISK-006 | IMU坐标轴/安装角不清 | 高 | 坐标轴图+安装表+标定流程 | 安装评审通过 |
|
||||
| RISK-007 | GNSS天线供电/保护不足 | 高 | 明确供电、电流、短路保护、ESD | 天线测试通过 |
|
||||
| RISK-008 | 原理图与测试点不足 | 中 | 建立测试点清单并PCB落实 | 板级测试通过 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 配套文档与附录体系
|
||||
|
||||
### 12.1 配套文档包
|
||||
|
||||
| 文档 | 作用 |
|
||||
|---|---|
|
||||
| 《硬件需求规格书 HRS》 | 细化主控、IMU、GNSS、电源、接口、结构、认证、产测 |
|
||||
| 《软件需求规格书 SRS》 | 细化双核架构、BSP、算法、协议、日志、质量要求 |
|
||||
| 《接口控制文档 ICD》 | 定义所有连接器、Pin、协议、帧格式、电平、时序 |
|
||||
| 《安装与配置手册》 | 定义安装基准、杆臂、天线、GAMS、Web配置 |
|
||||
| 《协议输出说明书》 | 定义NMEA、PASHR、PRDID、TSS1、Binary POS |
|
||||
| 《Web/网络配置指南》 | 定义IP、端口、Web页面、FTP、PTP、NTRIP |
|
||||
| 《出厂测试与校准规范》 | 定义产测、标定、老化、SN、交付报告 |
|
||||
| 《故障诊断与维护手册》 | 定义错误码、状态灯、日志导出、升级、返修定位 |
|
||||
| 《认证与合规计划》 | 定义EMC、IP67、振动、温度、RoHS、船用标准验证 |
|
||||
| 《正式测试方案》 | 定义外场/船测目标、步骤、数据记录和回退方案 |
|
||||
|
||||
### 12.2 附录列表
|
||||
|
||||
| 附录 | 内容 |
|
||||
|---|---|
|
||||
| 附录A | 系统总体框图 |
|
||||
| 附录B | 软件架构图 |
|
||||
| 附录C | 硬件框图 |
|
||||
| 附录D | 电源树 |
|
||||
| 附录E | 接口定义表 |
|
||||
| 附录F | COM口协议输出矩阵 |
|
||||
| 附录G | IMU兼容矩阵 |
|
||||
| 附录H | GNSS天线与基线安装说明 |
|
||||
| 附录I | PPS/PTP/Event时间同步链路图 |
|
||||
| 附录J | 环境与认证测试矩阵 |
|
||||
| 附录K | 出厂测试清单 |
|
||||
| 附录L | RTM需求追溯矩阵 |
|
||||
| 附录M | 风险清单与TBD项 |
|
||||
| 附录N | 竞品指标对标表 |
|
||||
| 附录O | 原理图评审清单 |
|
||||
| 附录P | PCB评审清单 |
|
||||
| 附录Q | 正式测试准入清单 |
|
||||
| 附录R | 安装参数记录表 |
|
||||
| 附录S | 连接器Pinout |
|
||||
| 附录T | Web配置页面需求 |
|
||||
| 附录U | 二进制协议包分类 |
|
||||
|
||||
---
|
||||
|
||||
## 13. 自定义二进制协议包分类建议
|
||||
|
||||
> 说明:不照搬任何竞品私有协议,仅借鉴“状态包、配置包、原始数据包、导航结果包、诊断包”的分类方法。
|
||||
|
||||
| 包类型 | 内容 | 用途 |
|
||||
|---|---|---|
|
||||
| System State | 系统状态、错误码、滤波状态、BIT状态 | 诊断/监控 |
|
||||
| Time | UTC/GPS时间、PPS状态、PTP状态 | 时间同步 |
|
||||
| Raw IMU | 角速度、加速度、温度、状态、时间戳 | 算法回放 |
|
||||
| GNSS PVT | 经纬高、速度、RTK状态、星数、DOP | 导航输入/输出 |
|
||||
| GNSS Orientation | 双天线航向、基线长度、航向状态 | 航向融合 |
|
||||
| Attitude | Roll/Pitch/Heading、标准差 | 实时输出 |
|
||||
| Velocity | N/E/D速度、船体系速度 | 导航输出 |
|
||||
| Heave | 实时升沉、延迟升沉、垂向速度 | 多波束补偿 |
|
||||
| Vessel Motion | 多参考点运动状态 | VRP输出 |
|
||||
| Raw GNSS | 原始观测值、星历、RTCM | PPK/后处理 |
|
||||
| DVL | 水下速度、状态、质量 | 可选扩展 |
|
||||
| Config | COM、网络、杆臂、安装角、GNSS配置 | 参数管理 |
|
||||
| Diagnostics | 丢帧、CRC、存储、PTP、PPS、温度 | 现场诊断 |
|
||||
|
||||
---
|
||||
|
||||
## 14. 正式发布冻结条件
|
||||
|
||||
| 阶段 | 冻结条件 |
|
||||
|---|---|
|
||||
| 规格冻结 | P0/P1需求清晰,TBD项不影响当前阶段 |
|
||||
| 原理图冻结 | P0问题关闭,P1有结论或风险接受 |
|
||||
| PCB冻结 | 关键布局、阻抗、ESD、电源、RF、IMU位置完成评审 |
|
||||
| 软件版本冻结 | 静态扫描、单元测试、核心功能测试通过 |
|
||||
| 测试版本冻结 | 正式测试前准入清单通过 |
|
||||
| 产品发布冻结 | 认证、出厂测试、用户手册、交付清单完成 |
|
||||
|
||||
---
|
||||
504
姿态系统硬件规格书_修订版.md
Normal file
@@ -0,0 +1,504 @@
|
||||
# 姿态系统硬件规格书
|
||||
|
||||
> 文档定位:本文档为船载/水下高精度姿态系统硬件规格书,用于指导硬件原理图设计、PCB设计、BOM选型、接口定义、硬件评审、板级调试、产测和硬件验收。本文档不替代产品需求文档、软件详细设计文档、算法设计文档和用户接口协议文档。
|
||||
|
||||
---
|
||||
|
||||
## 文档控制信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
| ----- | -------------------------- |
|
||||
| 文档名称 | 姿态系统硬件规格书 |
|
||||
| 文档编号 | HWS-POSE-2026-V1.0 |
|
||||
| 产品名称 | 船载/水下高精度组合航姿系统 |
|
||||
| 产品型号 | |
|
||||
| 适用阶段 | 原型机 / 工程样机 / 正式测试版 / 产品发布版 |
|
||||
| 硬件版本 | HW_Vx.x |
|
||||
| 原理图版本 | SCH_Vx.x |
|
||||
| PCB版本 | PCB_Vx.x |
|
||||
| BOM版本 | BOM_Vx.x |
|
||||
| 编写部门 | 硬件 / 嵌入式 / 算法 / 测试 |
|
||||
| 审核人 | 产品、硬件、嵌入式、算法、测试、质量、生产 |
|
||||
| 文档状态 | 草稿 / 评审中 / 已冻结 / 已发布 |
|
||||
| 密级 | 内部受控 |
|
||||
|
||||
### 版本记录
|
||||
|
||||
| 版本 | 日期 | 修改内容 | 修改人 | 评审结论 |
|
||||
|---|---|---|---|---|
|
||||
| V0.1 | 2026-05-22 | 根据产品规格模板重构为独立硬件规格书 | | |
|
||||
| V0.9 | | 硬件评审稿 | | |
|
||||
| V1.0 | | 硬件冻结版 | | |
|
||||
|
||||
---
|
||||
|
||||
## 1. 硬件设计目标
|
||||
|
||||
### 1.1 硬件定位
|
||||
|
||||
本硬件用于船载/水下高精度组合航姿系统,承载 IMU、GNSS、时间同步、通信、存储、电源保护、调试产测和外部接口等功能。硬件设计需要满足后续算法、嵌入式软件、Web配置、数据记录、FTP下载、串口协议输出、PPS/PTP/Event时间同步和外场测试要求。
|
||||
|
||||
### 1.2 硬件设计边界
|
||||
|
||||
| 类型 | 本文档覆盖 | 本文档不覆盖 |
|
||||
|---|---|---|
|
||||
| 覆盖内容 | 主控、IMU、GNSS、通信接口、存储、电源、保护、连接器、测试点、PCB约束、硬件验收 | 算法公式、协议字段详细定义、Web页面详细设计、上位机软件 |
|
||||
| 设计输出 | 原理图、PCB、BOM、接口定义、硬件测试记录、硬件评审结论 | 软件详细设计、算法测试报告、用户手册 |
|
||||
| 评审目标 | 是否能投板、是否满足接口和可靠性要求、是否存在P0硬件风险 | 产品商业定位、完整认证策略 |
|
||||
|
||||
### 1.3 当前硬件默认目标
|
||||
|
||||
| 项目 | 硬件目标 | 优先级 | 验收方式 |
|
||||
| ----- | ------------------------------------ | --: | ----------------- |
|
||||
| 输入电压 | 9–36V DC | P0 | 电源拉偏、反接、瞬断测试 |
|
||||
| 主控 | STM32H747同级双核 MCU | P0 | 上电、烧录、双核启动、外设连通测试 |
|
||||
| IMU兼容 | 支持 ADIS16488、STIM300、SCH1633 的硬件接入路径 | P0 | 连续采集、丢帧统计、逻辑分析仪 |
|
||||
| GNSS | 支持多频多星座 RTK GNSS,预留主/副双天线 | P0 | 定位、定向、PPS、RTCM测试 |
|
||||
| PPS | 输入内阻100欧 | P0 | 万用表 |
|
||||
| PTP | 以太网硬件链路需支持后续 PTP 验证 | P1 | PTP主从测试 |
|
||||
| 通信 | Ethernet + 不少于4路COM + 调试口 | P0 | Ping、Web、FTP、串口抓包 |
|
||||
| 存储 | 16GBeMMC | P0 | 连续写入、文件读取、断电恢复 |
|
||||
| 掉电保护 | 支持掉电检测与保持供电,满足文件系统安全关闭 | P0 | 写入中断电测试 |
|
||||
| 防护设计 | 产品版面向 IP67 结构和防水连接器 | P1 | 结构评审、气密/浸水测试 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 硬件总体架构
|
||||
|
||||
### 2.1 系统框图
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
PWR[9-36V DC 电源输入] --> PROT[保护/滤波/掉电检测]
|
||||
PROT --> DCDC[DCDC/LDO 电源树]
|
||||
DCDC --> MCU[STM32H747/H755 主控]
|
||||
DCDC --> IMU[IMU: ADIS16488/STIM300/SCH1633]
|
||||
DCDC --> GNSS[GNSS RTK 双天线模块]
|
||||
DCDC --> PHY[Ethernet PHY]
|
||||
DCDC --> EMMC[eMMC/存储]
|
||||
|
||||
IMU -->|SPI/UART/DRDY| MCU
|
||||
GNSS -->|UART/RTCM/PPS/状态脚| MCU
|
||||
MCU -->|RMII| PHY
|
||||
PHY --> RJ45[网络接口/隔离变压器/RJ45]
|
||||
MCU --> COM[RS232/RS422/RS485 COM接口]
|
||||
MCU --> EVENT[PPS/Event 输入输出]
|
||||
MCU --> DEBUG[SWD/Debug UART/产测接口]
|
||||
MCU --> EMMC
|
||||
```
|
||||
|
||||
### 2.2 硬件模块划分
|
||||
|
||||
| 模块 | 主要功能 | 关键约束 |
|
||||
| ------ | -------------------------- | --------------------------- |
|
||||
| 主控模块 | 双核运行、外设控制、时间戳、网络、存储、协议输出 | 时钟、复位、BOOT、调试口必须可靠 |
|
||||
| IMU模块 | 采集角速度、加速度、温度、状态信息 | 低噪声供电、稳定安装基准、同步信号明确 |
|
||||
| GNSS模块 | 定位、定向、RTK、PPS、RTCM输入 | 双天线射频、PPS捕获、天线供电保护 |
|
||||
| 时间同步模块 | PPS、PTP、Event Input、IMU时间戳 | PPS/Event优先使用硬件捕获,不仅作普通GPIO |
|
||||
| 通信模块 | Ethernet、COM、调试口、可选USB/CAN | 外部接口必须有ESD/浪涌/共模保护 |
|
||||
| 存储模块 | Raw IMU、GNSS观测值、POS数据、日志记录 | 写入带宽、掉电保护、文件系统安全 |
|
||||
| 电源模块 | 宽压输入、电源转换、保护、保持供电 | 反接、浪涌、过流、纹波、上电时序 |
|
||||
| 结构接口模块 | 防水连接器、安装孔、坐标轴标识 | 与IP67、防呆、防松、线缆装配一致 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 主控与最小系统规格
|
||||
|
||||
### 3.1 MCU选型要求
|
||||
|
||||
| ID | 项目 | 规格要求 | 优先级 | 验收方式 |
|
||||
| ---------- | ---- | ----------------------------------------------------- | --: | ------- |
|
||||
| HW-MCU-001 | 主控型号 | STM32H747、STM32H755 或同级双核 MCU | P0 | BOM评审 |
|
||||
| HW-MCU-002 | 内核能力 | CM7 + CM4,具备 FPU、DMA、Timer、ETH、SPI、UART、SDMMC/FMC 等资源 | P0 | 外设资源表评审 |
|
||||
| HW-MCU-004 | 复位 | NRST、上电复位、外部复位、看门狗复位路径明确 | P0 | 复位测试 |
|
||||
| HW-MCU-005 | BOOT | BOOT配置明确,避免量产误进入系统Boot | P0 | 启动测试 |
|
||||
| HW-MCU-006 | 调试 | 保留 SWD/JTAG、Debug UART、必要测试点 | P0 | 烧录调试测试 |
|
||||
| HW-MCU-007 | 双核启动 | CM7/CM4启动、电源域、时钟域、共享内存资源不冲突 | P0 | 双核启动测试 |
|
||||
|
||||
### 3.2 MCU外设资源分配
|
||||
|
||||
| 功能 | 建议MCU资源 | 连接对象 | 备注 |
|
||||
| ----------------- | ------------------------- | ----------------- | ------------------ |
|
||||
| ADIS16488/SCH1633 | SPIx + EXTI + GPIO CS/RST | SPI IMU | SPI模式、字长、片选时序需确认 |
|
||||
| STIM300 | USARTx + DMA + 可选同步输入 | STIM300 | 默认 UART/RS422 类接口 |
|
||||
| GNSS数据 | USARTx + DMA | GNSS模块 | 支持配置、观测值、NMEA/私有协议 |
|
||||
| RTCM输入 | USARTx 或 Ethernet | GNSS模块/网络 | 可来自COM或NTRIP |
|
||||
| PPS捕获 | TIMx_CHx 输入捕获 | GNSS PPS | 必须硬件捕获 |
|
||||
| Event输入/输出 | TIMx_CHx 或 EXTI | 声呐/外部设备 | 建议硬件捕获优先 |
|
||||
| Ethernet | ETH MAC + RMII | PHY | 预留PTP验证能力 |
|
||||
| 存储 | SDMMC/FMC | eMMC/SDNAND/其他 | 满足连续写入 |
|
||||
| COM口 | USARTx + 收发器 | RS232/RS422/RS485 | 至少4路外部COM |
|
||||
| Debug | SWD + USART | 调试器/维护口 | 量产和问题定位必须保留 |
|
||||
|
||||
---
|
||||
|
||||
## 4. IMU硬件规格
|
||||
|
||||
### 4.1 IMU兼容目标
|
||||
|
||||
| 项目 | ADIS16488 | SCH1633 | STIM300 |
|
||||
|---|---|---|---|
|
||||
| 默认定位 | 开发/验证IMU | 目标兼容IMU | 高性能/战术级IMU |
|
||||
| 默认接口 | SPI | SPI | UART/RS422 |
|
||||
| 数据就绪 | DRDY GPIO/EXTI | DRDY GPIO/EXTI | 串口帧到达/同步信号 |
|
||||
| 复位控制 | MCU GPIO控制 | MCU GPIO控制 | 建议MCU可控或预留复位控制 |
|
||||
| 同步方式 | DRDY/PPS对齐 | DRDY/PPS对齐 | 帧时间戳/PPS同步/外部同步 |
|
||||
| 供电 | 按器件手册 | 按器件手册 | 按STIM300手册确认 |
|
||||
| 电平 | 3.3V SPI为主 | 3.3V SPI为主 | RS422/TTL以实际器件版本确认 |
|
||||
| 默认频率 | ≥200Hz,目标支持更高 | ≥200Hz,目标支持更高 | 按配置,需支持高频输出 |
|
||||
| 关键风险 | SPI时序、DRDY、缓存同步 | 初始化、DRDY、数据有效性 | 粘包、跳帧、帧解析、时间戳 |
|
||||
| 验收方式 | 连续采样无异常 | 连续采样无异常 | 帧号连续、时间戳单调、无未解释丢帧 |
|
||||
|
||||
### 4.2 IMU接口要求
|
||||
|
||||
| ID | 项目 | 规格要求 | 优先级 | 验收方式 |
|
||||
| ---------- | ------------ | ------------------------------- | --: | ------ |
|
||||
| HW-IMU-001 | IMU供电 | IMU电源应具备独立滤波,优先使用低噪声LDO或低噪声电源支路 | P0 | 纹波测试 |
|
||||
| HW-IMU-002 | SPI接口 | SPI信号完整性、时序、电平、片选和字长满足IMU手册 | P0 | 示波器 |
|
||||
| HW-IMU-003 | UART/RS422接口 | STIM300接入路径明确,收发器电平和终端匹配可验证 | P0 | 串口抓包 |
|
||||
| HW-IMU-004 | DRDY | SPI类IMU的DRDY接入MCU EXTI或定时器捕获 | P0 | 示波器 |
|
||||
| HW-IMU-005 | RESET | IMU复位脚应由MCU控制或保留硬件复位手段 | P1 | 复位测试 |
|
||||
| HW-IMU-006 | 同步 | IMU数据时间戳与PPS/Event链路关系明确 | P0 | 周期抖动统计 |
|
||||
| HW-IMU-007 | 测试点 | SPI、UART、DRDY、RESET至少预留可调试测试点 | P1 | 示波器探测 |
|
||||
| HW-IMU-008 | 布局 | IMU靠近机械安装基准,远离DCDC、PHY、高热器件 | P0 | PCB评审 |
|
||||
|
||||
### 4.3 IMU传感器指标记录表
|
||||
|
||||
| 指标项 | 当前要求 | 目标/高配要求 | 单位 | 数据来源 |
|
||||
| -------- | --------- | ------- | ---------- | ------- |
|
||||
| 陀螺量程 | ±450 | ±480 | °/s | 器件手册 |
|
||||
| 加速度计量程 | ±18 | ±18 | g | 器件手册 |
|
||||
| 陀螺零偏不稳定性 | TBD | 越小越好 | °/h | 器件手册 |
|
||||
| 加计零偏不稳定性 | TBD | 越小越好 | mg | 器件手册 |
|
||||
| 角随机游走 | 1σ | 越小越好 | °/√Hz | 器件手册 |
|
||||
| 速度随机游走 | 1σ | 越小越好 | m/s/√Hz | 器件手册 |
|
||||
| 噪声密度 | 0.063 | 按器件手册 | mg/√Hz rms | 器件手册 |
|
||||
| 带宽 | 330 | 满足高频采样 | Hz | 器件手册/实测 |
|
||||
| 温度范围 | -40℃~+85℃ | 工业级 | ℃ | 器件手册 |
|
||||
| 温补 | 必须支持 | 全温补偿 | | 标定报告 |
|
||||
|
||||
---
|
||||
|
||||
## 5. GNSS与双天线硬件规格
|
||||
|
||||
### 5.1 GNSS基本要求
|
||||
|
||||
| ID | 项目 | 规格要求 | 优先级 | 验收方式 |
|
||||
| ----------- | ------ | ------------------------------- | --: | ----------- |
|
||||
| HW-GNSS-001 | 模块 | 支持多频多星座RTK-GNSS | P0 | 模块资料/BOM评审 |
|
||||
| HW-GNSS-002 | 双天线 | 支持主天线和副天线,用于定位和定向 | P0 | 双天线定向测试 |
|
||||
| HW-GNSS-003 | 数据接口 | 支持UART收发,满足GNSS配置、观测值和状态输出 | P0 | 串口抓包 |
|
||||
| HW-GNSS-004 | RTCM输入 | 支持串口或网络RTCM差分输入 | P1 | RTK固定测试 |
|
||||
| HW-GNSS-005 | PPS输出 | GNSS PPS接入MCU定时器捕获通道 | P0 | 示波器/逻辑分析仪 |
|
||||
| HW-GNSS-006 | 状态脚 | RTK/PVT/ERR状态脚接入MCU GPIO,定义有效电平 | P1 | 状态切换测试 |
|
||||
| HW-GNSS-007 | 天线供电 | 支持有源天线供电、短路保护、过流保护、ESD保护 | P0 | 短路/电流测试 |
|
||||
| HW-GNSS-008 | 射频走线 | GNSS RF按50Ω阻抗控制,远离高速数字和开关电源噪声 | P0 | PCB评审/VNA可选 |
|
||||
|
||||
### 5.2 双天线基线要求
|
||||
|
||||
| 项目 | 规格要求 | 验收方式 |
|
||||
| ------ | ---------------------------- | ------ |
|
||||
| 主天线 | 作为定位主天线,输出位置、速度、PPS、观测值 | 定位测试 |
|
||||
| 副天线 | 与主天线构成双天线基线,用于航向解算 | 定向测试 |
|
||||
| 基线长度 | 支持配置2m/4m或实测基线长度 | 基线测量 |
|
||||
| 基线向量 | 支持输入主天线至副天线在船体坐标系下的XYZ向量 | 配置检查 |
|
||||
| 基线测量精度 | 建议实测误差≤5mm,作为高级航向性能前提 | 安装测量记录 |
|
||||
| 航向状态 | 能区分固定解、浮动解、无解、低SNR、周跳、多路径等状态 | 状态日志 |
|
||||
| 异常报警 | 支持天线开路/短路、基线变化异常、RTK失效报警 | 故障注入 |
|
||||
|
||||
### 5.3 GNSS选型记录表
|
||||
|
||||
| GNSS方案 | 星座频点 | 最大更新率 | RTK精度 | 授时精度 | RTCM支持 | 当前状态 |
|
||||
| ---------- | ------------ | -----: | ------ | ------ | ------------- | ----- |
|
||||
| K922 | 待补 | 待补 | 待补 | 待补 | RTCM v3.x | 当前原型机 |
|
||||
| F9P/X20P类 | 多星座双频 | 25Hz级 | cm级 | ns级 | RTCM v3.x | 参考 |
|
||||
| Mosaic X5类 | 多星座多频 | 100Hz级 | cm级 | <20ns级 | RTCM v2/v3 | 高配参考 |
|
||||
| BD992类 | 多星座多频/L-band | 50Hz级 | mm/cm级 | ns级 | RTCM/CMR/CMR+ | 高配参考 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 时间同步硬件规格
|
||||
|
||||
### 6.1 PPS/PTP/Event/IMU时间链路
|
||||
|
||||
| 同步对象 | 来源 | 硬件路径 | 精度目标 | 优先级 | 验收方式 |
|
||||
| ----------- | ------------ | ------------------ | ------------ | --: | --------- |
|
||||
| PPS | GNSS模块 | PPS → MCU TIM输入捕获 | 捕获误差≤5µs | P0 | 示波器/逻辑分析仪 |
|
||||
| PTP | Ethernet | ETH MAC/PHY硬件时间戳能力 | 目标≤1µs,需实测冻结 | P1 | PTP主从测试 |
|
||||
| IMU时间戳 | IMU DRDY/串口帧 | EXTI/TIM/UART DMA | TBD,需统计周期方差 | P0 | 连续采样统计 |
|
||||
| Event Input | 外部声呐/设备 | Event → TIM输入捕获优先 | TBD,目标微秒级 | P1 | 脉冲发生器测试 |
|
||||
| POS输出时间 | 系统时间 | 协议输出字段 | 与PPS时间基准一致 | P1 | 协议抓包 |
|
||||
|
||||
**强制要求:PPS不允许仅作为普通GPIO状态读取。产品版应优先接入MCU硬件捕获通道,并保留PPS测试点。**
|
||||
|
||||
### 6.2 Event接口要求
|
||||
|
||||
| ID | 项目 | 规格要求 | 优先级 |
|
||||
|---|---|---|---:|
|
||||
| HW-TIME-001 | 电平 | 明确支持3.3V/5V/隔离输入中的一种或多种 | P1 |
|
||||
| HW-TIME-002 | 有效沿 | 支持配置上升沿/下降沿,硬件默认状态明确 | P1 |
|
||||
| HW-TIME-003 | 输入保护 | 外部输入必须具备ESD、限流和过压保护 | P0 |
|
||||
| HW-TIME-004 | 捕获资源 | 优先接入定时器捕获通道,避免仅靠软件轮询 | P0 |
|
||||
| HW-TIME-005 | 测试点 | Event信号链路应可通过示波器测试 | P1 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 通信接口硬件规格
|
||||
|
||||
### 7.1 COM口默认配置
|
||||
|
||||
| 端口 | 默认方向 | 默认协议/用途 | 默认频率 | 建议波特率 | 硬件标准 | 优先级 |
|
||||
| ---- | ----- | --------------------------- | -------: | -----------------: | ----- | --: |
|
||||
| COM1 | 输出 | PASHR + PRDID | 100Hz | 460800,最低115200需验算 | RS422 | P0 |
|
||||
| COM2 | 输出 | TSS1 | 100Hz | 115200/460800 | RS232 | P0 |
|
||||
| COM3 | 输入 | RTCM差分输入 | 按RTCM源 | 115200 | RS422 | P1 |
|
||||
| COM4 | 输出/调试 | Debug Log / Binary POS / 备用 | 10–100Hz | 115200/921600 | RS232 | P1 |
|
||||
|
||||
### 7.2 RS232/RS422要求
|
||||
|
||||
| 项目 | 规格要求 | 说明 |
|
||||
| ----- | ------------------------------------ | ------------- |
|
||||
| 收发器 | 根据接口标准选择专用收发器,不允许直接用MCU GPIO外接到外部连接器 | 外部接口可靠性要求 |
|
||||
| ESD保护 | 所有外部COM信号必须有ESD保护 | 保护器件靠近连接器 |
|
||||
| 终端匹配 | RS422根据用途预留可配置终端电阻 | 通过0Ω/跳帽/焊盘配置 |
|
||||
| 隔离 | 长线、船载复杂地环境建议评估隔离 | 原型机可先非隔离但需列风险 |
|
||||
|
||||
|
||||
### 7.3 以太网接口要求
|
||||
|
||||
| ID | 项目 | 规格要求 | 优先级 | 验收方式 |
|
||||
| ---------- | ----- | ------------------------------ | --: | -------- |
|
||||
| HW-ETH-001 | 物理层 | 10/100Base-T,RMII连接MCU ETH MAC | P0 | Ping测试 |
|
||||
| HW-ETH-002 | PHY | PHY型号、地址、复位、时钟、MDIO/MDC明确 | P0 | PHY寄存器读写 |
|
||||
| HW-ETH-003 | 隔离变压器 | 网络隔离变压器应靠近RJ45接口侧,差分路径短且对称 | P0 | PCB评审 |
|
||||
| HW-ETH-004 | ESD保护 | RJ45侧预留以太网专用ESD/浪涌保护 | P0 | 原理图评审 |
|
||||
| HW-ETH-005 | PTP能力 | 确认MCU MAC/PHY组合支持PTP验证所需硬件能力 | P1 | PTP测试 |
|
||||
| HW-ETH-006 | 测试 | 支持Ping、Web、FTP、TCP/UDP实时输出 | P0 | 网络联调 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 存储硬件规格
|
||||
|
||||
### 8.1 存储目标
|
||||
|
||||
| ID | 项目 | 规格要求 | 优先级 | 验收方式 |
|
||||
| ---------- | ----- | ---------------------------------- | --: | ------- |
|
||||
| HW-STO-001 | 存储介质 | eMMC或等效非易失存储,建议容量≥16GB,原型机板载SDNANO | P0 | BOM评审 |
|
||||
| HW-STO-002 | 接口 | SDMMC/FMC等接口需满足持续写入带宽 | P0 | 连续写入测试 |
|
||||
| HW-STO-003 | 数据内容 | 支持Raw IMU、GNSS观测值、POS数据、系统日志 | P0 | 文件解析 |
|
||||
| HW-STO-004 | 掉电保护 | 与电源保持、PWR_FAIL、软件flush/sync闭环 | P0 | 写入中断电测试 |
|
||||
| HW-STO-005 | 信号完整性 | 高速存储走线满足长度、阻抗、参考地要求 | P0 | PCB评审 |
|
||||
| HW-STO-006 | 产测 | 支持容量识别、读写测速、坏块/错误统计 | P1 | 产测脚本 |
|
||||
|
||||
### 8.2 掉电保护硬件要求
|
||||
|
||||
| 项目 | 规格要求 |
|
||||
| ---- | -------------------------------- |
|
||||
| 掉电检测 | 支持PWR_FAIL、PVD、ADC采样或电源监控芯片等方式 |
|
||||
| 触发时机 | 掉电信号必须早于系统电压跌落到不可安全写入的时间点 |
|
||||
| 保持供电 | 目标≥200ms,最终以文件系统flush/sync实测时间冻结 |
|
||||
| 保持对象 | MCU、存储、电源监控和必要外设应保持到安全关闭完成 |
|
||||
| 验收方法 | 写入过程中断电,重启后文件系统不损坏,文件可识别 |
|
||||
|
||||
---
|
||||
|
||||
## 9. 电源与保护规格
|
||||
|
||||
### 9.1 电源输入与保护
|
||||
|
||||
| 项目 | 产品版规格 | 原型机状态 | 优先级 | 评审要求 |
|
||||
| -------- | -------- | ------- | ----: | ----------------------- |
|
||||
| 输入电压 | 9–36V DC | 4.5~28V | P0 | 原理图必须说明差异 |
|
||||
| 反接保护 | 必须支持 | 无 | P0 | 投板前关闭 |
|
||||
| 过压保护 | 必须支持 | 无 | P0 | 电源入口TVS/保护 |
|
||||
| 浪涌/EFT | 必须考虑 | 无 | P1 | EMC预扫前完成 |
|
||||
| 保险/限流 | 必须支持 | 无 | P0 | 保护电流路径明确 |
|
||||
| 电源滤波 | 必须支持 | 有 | P0 | DCDC前后滤波 |
|
||||
| IMU低噪声供电 | 建议必须 | 有 | P0/P1 | 独立LDO/滤波 |
|
||||
| GNSS天线供电 | 必须明确 | 有 | P0 | 电压、电流、短路保护 |
|
||||
| 掉电检测 | 必须支持 | 无 | P0 | PWR_FAIL/PVD/ADC |
|
||||
| 保持电源 | 必须支持 | 无 | P0 | 超级电容/UPS方案 |
|
||||
| 测试点 | 必须预留 | 无 | P0 | 12V、5V、3V3、1V8、GNSS、PPS |
|
||||
|
||||
### 9.2 电源轨定义
|
||||
|
||||
| 电源轨 | 负载对象 | 规格要求 | 验收方式 |
|
||||
| -------- | ------------ | ------------------- | ------ |
|
||||
| VIN | 外部输入 | 9–36V DC,具备保护和滤波 | 电源拉偏 |
|
||||
| +5V | IMU/外设/中间电源 | 电流余量≥30%,纹波满足负载要求 | 示波器 |
|
||||
| VDD_CORE | MCU/IO/数字电路 | 电压偏差、纹波、上电时序满足MCU要求 | 电源测试 |
|
||||
| VDD_GNSS | GNSS/天线供电 | 独立滤波,满足有源天线电流需求 | GNSS测试 |
|
||||
| VDD_NET | Ethernet PHY | 独立滤波,满足PHY上电时序 | 网络测试 |
|
||||
| VDD_IMU | IMU低噪声供电 | 建议低噪声LDO,纹波满足IMU要求 | 纹波测试 |
|
||||
|
||||
### 9.3 功耗与热设计
|
||||
|
||||
| 项目 | 规格要求 | 验收方式 |
|
||||
| ---- | ------------------------ | -------- |
|
||||
| 典型功耗 | 5W | 电源分析仪 |
|
||||
| 最大功耗 | 6W | 电源分析仪 |
|
||||
| 峰值电流 | 0.3A(12V) | 示波器/电流探头 |
|
||||
| 温升 | MCU、PHY、电源、IMU附近温升不得影响精度 | 热像仪/温箱 |
|
||||
| 散热路径 | 外壳导热、铜皮散热、热隔离IMU | PCB/结构评审 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 外部连接器
|
||||
|
||||
|
||||
| 接口 | 连接器型号 | Pin | 信号 | 方向 | 电平/标准 | 说明 |
|
||||
| --------- | ------- | --: | ------------------- | --- | --------- | ----------- |
|
||||
| 电源 | 雷莫1B | 2 | VIN | 输入 | 9–36V | 船载电源 |
|
||||
| COM1 | 雷莫00B | 4 | TX_P/TX_N/RX_T/TX_N | 双向 | RS422 | PASHR/PRDID |
|
||||
| COM2 | 雷莫00B | 2 | TX/RX | 双向 | RS232 | 可配置 |
|
||||
| COM3 | 雷莫00B | 4 | TX_P/TX_N/RX_T/TX_N | 双向 | RS422 | TSS1 |
|
||||
| COM4 | 雷莫00B | 2 | TX/RX | 双向 | RS232 | RTCM输入 |
|
||||
| PPS | 雷莫00B | 2 | 1PPS/GND | 输出 | 3.3V | 时间同步 |
|
||||
| DIOx | 雷莫00B | 4 | EVENT_IN/OUT | 双向 | 3.3V | 事件打戳/时间同步 |
|
||||
| Ethernet | RJ45 | - | TX/RX | 双向 | 100Base-T | Web/FTP/PTP |
|
||||
| GNSS ANT1 | SMA/TNC | - | RF_IN1 | 输入 | 50Ω | 主天线 |
|
||||
| GNSS ANT2 | SMA/TNC | - | RF_IN2 | 输入 | 50Ω | 副天线 |
|
||||
| Debug | SH125 | 8 | SWD/UART | 双向 | 3.3V | 调试/产测 |
|
||||
|
||||
---
|
||||
|
||||
## 11. PCB设计约束
|
||||
|
||||
### 11.1 PCB布局约束
|
||||
|
||||
| 模块 | 必查项 | 通过标准 |
|
||||
|---|---|---|
|
||||
| IMU布局 | 靠近机械安装基准,远离DCDC、PHY、高热器件 | 降低热、振动、噪声影响 |
|
||||
| IMU坐标轴 | PCB、外壳、软件坐标系一致 | 丝印和文档一致 |
|
||||
| GNSS射频 | RF走线50Ω阻抗控制,远离噪声源 | RF路径短、直、参考地连续 |
|
||||
| PPS/Event | 走线短,远离高速线和开关电源 | 有测试点,回流路径完整 |
|
||||
| 以太网 | RMII、差分线、网络变压器、RJ45符合规范 | 差分阻抗、长度、地参考满足 |
|
||||
| 高速存储 | eMMC/SDRAM走线满足长度、阻抗、参考平面要求 | 无明显高速信号风险 |
|
||||
| 电源布局 | DCDC回路紧凑,敏感电源滤波隔离 | 纹波和EMI可控 |
|
||||
| 地平面 | 无关键回流路径中断 | 关键信号下方连续地 |
|
||||
| 外部接口 | 连接器方向、间距、防呆、防水符合结构 | 装配无干涉 |
|
||||
| 测试点 | 3V3、5V、1V8、PPS、SPI、UART、DRDY、Reset可测 | 探针可接触 |
|
||||
| 热设计 | MCU、PHY、电源、eMMC有散热路径 | 不影响IMU/GNSS |
|
||||
|
||||
### 11.2 STM32H7缓存/DMA硬件约束
|
||||
|
||||
| 项目 | 规格要求 | 说明 |
|
||||
|---|---|---|
|
||||
| Ethernet DMA | 描述符和DMA缓冲区应放置在DMA可访问内存区域 | 避免放入DTCM等DMA不可访问区域 |
|
||||
| Cache一致性 | DMA缓冲区必须有明确的Cache策略 | 可使用MPU配置Non-cache区域或严格Clean/Invalidate |
|
||||
| 对齐 | DMA缓冲区建议32字节对齐 | 适配DCache line |
|
||||
| SDMMC DMA | SDMMC读写缓冲需确认内存区域、对齐、Cache维护 | 避免UNDERRUN/OVERRUN类问题 |
|
||||
| NetX/FileX数据路径 | 网络包到存储写入如跨DMA域,需评估是否复制到安全缓冲区 | 原型机已暴露相关风险 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 原理图评审清单
|
||||
|
||||
| 模块 | 必查项 | 通过标准 |
|
||||
|---|---|---|
|
||||
| 需求追溯 | 每个关键电路来源于需求、问题单或接口定义 | 无来源设计需补依据 |
|
||||
| MCU最小系统 | 电源、复位、BOOT、时钟、SWD、VBAT完整 | 可稳定启动、烧录、调试 |
|
||||
| IMU接口 | ADIS16488、STIM300、SCH1633供电、接口、电平、复位、同步明确 | 每种IMU接入路径清晰 |
|
||||
| GNSS模块 | 双天线、PPS、RTK/PVT/ERR、串口完整 | 支持定位、定向、状态监测 |
|
||||
| PPS | 接入MCU定时器捕获通道 | 不仅是普通GPIO |
|
||||
| PTP | ETH MAC/PHY硬件能力明确 | 不明确则列风险 |
|
||||
| 串口COM | RS232/RS422/RS485模式、默认配置、终端匹配明确 | 可配置、可测试 |
|
||||
| 电源输入 | 9–36V、反接、保险、浪涌、TVS、滤波完整 | 满足船载环境 |
|
||||
| 掉电保护 | 掉电检测、保持供电、文件安全关闭链路完整 | 支持数据记录安全 |
|
||||
| 存储 | eMMC供电、接口、写入能力满足需求 | 支持Raw/PPK记录 |
|
||||
| 外部接口 | FPC、RJ45、串口、PPS、Event、GNSS天线定义清楚 | 线缆和结构可落地 |
|
||||
| ESD/EMC | 外部接口具备保护设计 | 保护器件靠近接口侧 |
|
||||
| 调试/产测 | SWD、Debug UART、电源测试点、PPS测试点保留 | 可调试、可产测 |
|
||||
|
||||
---
|
||||
|
||||
## 13. 板级调试与硬件验收
|
||||
|
||||
### 13.1 上电前检查
|
||||
|
||||
| 检查项 | 通过标准 | 记录 |
|
||||
| ------ | --------------- | --- |
|
||||
| 外观检查 | 无短路、虚焊、反件、错件 | □ |
|
||||
| 电源输入阻抗 | VIN对GND无明显短路 | □ |
|
||||
| 关键电源阻抗 | 5V、3V3、1V8无明显短路 | □ |
|
||||
| BOOT配置 | 启动模式符合设计 | □ |
|
||||
| 调试接口 | SWD/JTAG可连接 | □ |
|
||||
| 连接器方向 | 防呆、丝印、线序一致 | □ |
|
||||
|
||||
### 13.2 上电调试项目
|
||||
|
||||
| ID | 测试项 | 工具/环境 | 通过标准 |
|
||||
|---|---|---|---|
|
||||
| TEST-HW-001 | 电源轨测试 | 示波器/万用表 | 电压、纹波、上电时序正常 |
|
||||
| TEST-HW-002 | MCU启动 | 调试器 | 可烧录、可运行、复位正常 |
|
||||
| TEST-HW-003 | IMU通信 | 逻辑分析仪/串口工具 | 能读取数据,频率稳定 |
|
||||
| TEST-HW-004 | GNSS通信 | 串口工具/天线环境 | 有定位输出、PPS有效 |
|
||||
| TEST-HW-005 | PPS捕获 | 示波器/逻辑分析仪 | PPS边沿与捕获计数稳定 |
|
||||
| TEST-HW-006 | Ethernet | 网线/交换机/PC | Ping稳定,Web/FTP可用 |
|
||||
| TEST-HW-007 | COM输出 | 串口工具 | PASHR/TSS1/Debug输出稳定 |
|
||||
| TEST-HW-008 | 存储读写 | 文件系统测试 | 连续读写无错误 |
|
||||
| TEST-HW-009 | 掉电保护 | 可控电源 | 写入断电后文件系统不损坏 |
|
||||
| TEST-HW-010 | 温升 | 热像仪 | 高负载运行无异常热点 |
|
||||
|
||||
### 13.3 正式投板准入条件
|
||||
|
||||
| 类别 | 准入条件 | 是否必须 |
|
||||
|---|---|---|
|
||||
| 原理图 | P0问题关闭,P1问题有明确风险接受或整改计划 | 必须 |
|
||||
| PCB | 关键接口、阻抗、回流、电源、测试点评审完成 | 必须 |
|
||||
| 电源 | 输入保护、供电稳定、无异常发热风险 | 必须 |
|
||||
| IMU | 接入路径、供电、同步、坐标轴方向明确 | 必须 |
|
||||
| GNSS | 双天线、PPS、RTCM、天线供电保护明确 | 必须 |
|
||||
| 通信 | COM、Ethernet、Debug、产测接口定义明确 | 必须 |
|
||||
| 存储 | 存储接口和掉电保护链路明确 | 必须 |
|
||||
| 结构 | 连接器、安装孔、坐标轴、防水方案无明显冲突 | 必须 |
|
||||
| BOM | 关键器件可采购,替代料策略明确 | 必须 |
|
||||
|
||||
---
|
||||
|
||||
## 14. 风险清单
|
||||
|
||||
| 风险ID | 风险项 | 影响 | 等级 | 规避措施 | 状态 |
|
||||
|---|---|---|---:|---|---|
|
||||
| R-HW-001 | IMU接口兼容不完整 | 无法同时兼容ADIS16488/STIM300/SCH1633 | P0 | 投板前冻结每种IMU的供电、接口、电平、复位、同步路径 | Open |
|
||||
| R-HW-002 | PPS只接普通GPIO | 时间戳精度不足,后续难以补救 | P0 | PPS必须接TIM输入捕获并留测试点 | Open |
|
||||
| R-HW-003 | eMMC掉电保护不足 | 文件系统损坏,数据记录不可用 | P0 | 加入PWR_FAIL和保持供电设计,实测flush时间 | Open |
|
||||
| R-HW-004 | Ethernet DMA缓存问题 | Ping/Web/FTP不稳定 | P0 | 明确DMA内存区域、MPU和Cache策略 | Open |
|
||||
| R-HW-005 | SDMMC/存储DMA缓冲不安全 | 写入出现UNDERRUN/OVERRUN或数据错误 | P0 | 规定DMA安全缓冲区和32字节对齐策略 | Open |
|
||||
| R-HW-006 | GNSS RF走线和天线供电不规范 | 定位/定向性能下降 | P0 | 50Ω控制、ESD、防雷、短路保护、远离噪声源 | Open |
|
||||
| R-HW-007 | 外部接口ESD/浪涌不足 | 外场接口损坏 | P1 | 所有外部接口增加保护器件并靠近连接器 | Open |
|
||||
| R-HW-008 | IMU受热源影响 | 姿态和升沉精度下降 | P1 | IMU远离DCDC/PHY/MCU热点,优化散热路径 | Open |
|
||||
|
||||
---
|
||||
|
||||
## 15. 附录:需求ID规则
|
||||
|
||||
| 分类 | ID前缀 | 示例 |
|
||||
|---|---|---|
|
||||
| 硬件架构 | HW-ARCH | HW-ARCH-001 |
|
||||
| MCU | HW-MCU | HW-MCU-001 |
|
||||
| IMU | HW-IMU | HW-IMU-001 |
|
||||
| GNSS | HW-GNSS | HW-GNSS-001 |
|
||||
| 时间同步 | HW-TIME | HW-TIME-001 |
|
||||
| 通信接口 | HW-COM / HW-ETH | HW-ETH-001 |
|
||||
| 存储 | HW-STO | HW-STO-001 |
|
||||
| 电源 | HW-PWR / EE-PWR | HW-PWR-001 |
|
||||
| PCB | HW-PCB | HW-PCB-001 |
|
||||
| 测试 | TEST-HW | TEST-HW-001 |
|
||||
|
||||
---
|
||||
|
||||
## 16. 待补充项
|
||||
|
||||
| 项目 | 当前状态 | 责任人 | 完成时间 |
|
||||
|---|---|---|---|
|
||||
| 最终MCU型号 | 待冻结 | | |
|
||||
| 最终IMU型号和接口版本 | 待冻结 | | |
|
||||
| GNSS模块手册参数 | 待补充 | | |
|
||||
| 连接器型号与Pinout | 待补充 | | |
|
||||
| 电源树电流预算 | 待补充 | | |
|
||||
| eMMC型号与写入带宽 | 待补充 | | |
|
||||
| PTP硬件能力实测 | 待验证 | | |
|
||||
| IP67结构方案 | 待结构确认 | | |
|
||||
| 原理图P0问题清单 | 待评审 | | |
|
||||
| PCB关键约束文件 | 待输出 | | |
|
||||
1009
姿态系统硬件详细设计文档_V0.2.md
Normal file
BIN
姿态系统硬件详细设计文档_V0.2.pdf
Normal file
@@ -65,7 +65,7 @@
|
||||
|
||||
#### 交付物
|
||||
|
||||
- [x] 原型机硬件问题清单 ✅ 2026-05-09
|
||||
- [x] 原型机硬件问题清单 ✅ 2026-05-10
|
||||
- [ ] 新版原理图修改需求清单
|
||||
- [ ] 新版原理图 V1
|
||||
- [ ] 原型机硬件问题修复对照表
|
||||
|
||||