Update vendor manifest with new components, adjust last checked timestamps, and enhance actuator and mounting data structures. Remove deprecated armpitmfg data and improve hardware part definitions across multiple components.
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115",
|
||||
"last_checked": "2026-01-07T01:20:58.324330+00:00",
|
||||
"last_checked": "2026-01-07T06:30:07.525364+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -26,7 +26,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - Belt Clamp.stl",
|
||||
"checksum_sha256": "457a71bc09cb53f12026fd829bec8fa5b04fdead0788822935780f42c90b9a7a",
|
||||
"last_checked": "2026-01-07T01:20:58.945151+00:00",
|
||||
"last_checked": "2026-01-07T06:30:08.525159+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -42,7 +42,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - End Effector.stl",
|
||||
"checksum_sha256": "4860947b201e2e773b295d33bba09423ae40b4adeef3605d62687f2d40277de1",
|
||||
"last_checked": "2026-01-07T01:20:59.854476+00:00",
|
||||
"last_checked": "2026-01-07T06:30:09.547007+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -58,7 +58,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Nut - 5 Sided.stl",
|
||||
"checksum_sha256": "38630c70b2fb929bba9a705dabf5bbd7b49ec882963e042b7108dc74284dd6ff",
|
||||
"last_checked": "2026-01-07T01:21:00.555525+00:00",
|
||||
"last_checked": "2026-01-07T06:30:10.564924+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -74,7 +74,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Extrusion Cap.stl",
|
||||
"checksum_sha256": "56fa9bb318cdeadc6d1698a1e6cef9371e58b0bc9c7729985bf639d8da2f25da",
|
||||
"last_checked": "2026-01-07T01:21:01.205246+00:00",
|
||||
"last_checked": "2026-01-07T06:30:11.578686+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -90,7 +90,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Bottom.stl",
|
||||
"checksum_sha256": "e7abdb99a7e9b9e7408a7b04a7dd50e42cc74510ea2969016a45a2a1387dcde3",
|
||||
"last_checked": "2026-01-07T01:21:02.027595+00:00",
|
||||
"last_checked": "2026-01-07T06:30:14.604915+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -106,7 +106,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Cover.stl",
|
||||
"checksum_sha256": "bbabc742d2f1753d1b4e21e42c197aec31a4a083b5c634e6e825cec69d4e3258",
|
||||
"last_checked": "2026-01-07T01:21:02.767604+00:00",
|
||||
"last_checked": "2026-01-07T06:30:18.689516+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -122,7 +122,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Middle.stl",
|
||||
"checksum_sha256": "ce6fb769378636c287af788ce42bdab1f2185dcffba929a0c72598742793b48a",
|
||||
"last_checked": "2026-01-07T01:21:03.531342+00:00",
|
||||
"last_checked": "2026-01-07T06:30:22.906540+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -133,12 +133,12 @@
|
||||
"source_path": "Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_site_json": "website/src/data/components/mounting/ossm.json",
|
||||
"orig_item_id": "ossm-actuator-body-middle-pivot",
|
||||
"pinned_sha": "ad39a03b628b8e38549b99036c8dfd4131948545",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"checksum_sha256": "f6403a3c53e0d8c8e63d48bf853ab17c9f283421b1665b5503dbb04d59d0f52d",
|
||||
"last_checked": "2026-01-07T01:21:04.528132+00:00",
|
||||
"last_checked": "2026-01-07T07:29:55.699272+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/LICENCE",
|
||||
"upstream_latest_sha": "ad39a03b628b8e38549b99036c8dfd4131948545"
|
||||
@@ -154,7 +154,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Belt Tensioner.stl",
|
||||
"checksum_sha256": "31c74250c237763b0013ff42cc714ce14c293382a726de363f1686a7559f525f",
|
||||
"last_checked": "2026-01-07T01:21:05.499523+00:00",
|
||||
"last_checked": "2026-01-07T07:29:56.698523+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
@@ -165,15 +165,15 @@
|
||||
"source_path": "Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_site_json": "website/src/data/components/mounting/ossm.json",
|
||||
"orig_item_id": "ossm-handle-spacer",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115",
|
||||
"last_checked": "2026-01-07T07:29:59.629891+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-pcb-3030-mount",
|
||||
@@ -181,7 +181,7 @@
|
||||
"source_path": "Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl",
|
||||
"orig_site_json": "website/src/data/components/pcb.json",
|
||||
"orig_site_json": "website/src/data/components/pcb/ossm.json",
|
||||
"orig_item_id": "ossm-pcb-3030-mount",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
@@ -197,7 +197,7 @@
|
||||
"source_path": "Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl",
|
||||
"orig_site_json": "website/src/data/components/pcb.json",
|
||||
"orig_site_json": "website/src/data/components/pcb/ossm.json",
|
||||
"orig_item_id": "ossm-pcb-3030-mount-cover",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
@@ -208,148 +208,26 @@
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pcb-aio-cover-mount",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/PCB/OSSM - PCB - AIO Cover Mount.stl",
|
||||
"id": "ossm-pcb-aio-backpack-base",
|
||||
"source_repo": "armpitMFG/OSSM-Parts",
|
||||
"source_path": "OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - AIO Cover Mount.stl",
|
||||
"orig_site_json": "website/src/data/components/pcb.json",
|
||||
"orig_item_id": "ossm-pcb-aio-cover-mount",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"orig_site_json": "website/src/data/components/pcb/armpitmfg.json",
|
||||
"orig_item_id": "ossm-pcb-aio-backpack-base",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-42AIM30",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl",
|
||||
"id": "ossm-pcb-aio-backpack-cap",
|
||||
"source_repo": "armpitMFG/OSSM-Parts",
|
||||
"source_path": "OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - 42AIM V1.1.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-42AIM30",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-57AIM30",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Mounting Ring - PitClamp Mini - 57AIM V1.1.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-57AIM30",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-dogbone-bolts ",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Bolts.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-dogbone-bolts ",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-dogbone-nuts",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Dogbone Nuts.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-dogbone-nuts",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-handle",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-handle",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-iHSV57",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/Non-standard/OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-iHSV57",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-lower",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-lower",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-pitclamp-mini-upper",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
"source_path": "Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting.json",
|
||||
"orig_item_id": "ossm-pitclamp-mini-upper",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"orig_site_json": "website/src/data/components/pcb/armpitmfg.json",
|
||||
"orig_item_id": "ossm-pcb-aio-backpack-cap",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "ossm-remote-body",
|
||||
@@ -359,13 +237,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl",
|
||||
"orig_site_json": "website/src/data/components/remote.json",
|
||||
"orig_item_id": "ossm-remote-body",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Body.stl",
|
||||
"checksum_sha256": "a0c3bb663a4bba6876a89c8e0dce81d0c6c673c9fc1f4537537000576f7f9e48",
|
||||
"last_checked": "2026-01-07T09:37:56.320094+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-remote-knob",
|
||||
@@ -375,13 +253,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl",
|
||||
"orig_site_json": "website/src/data/components/remote.json",
|
||||
"orig_item_id": "ossm-remote-knob",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl",
|
||||
"checksum_sha256": "3dcf73220cecd534ea9db0d991cec1001b4495f0b9d98f71f5b0b8c68b780439",
|
||||
"last_checked": "2026-01-07T09:37:59.299155+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-remote-knob-knurled",
|
||||
@@ -391,13 +269,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl",
|
||||
"orig_site_json": "website/src/data/components/remote.json",
|
||||
"orig_item_id": "ossm-remote-knob-knurled",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl",
|
||||
"checksum_sha256": "43f68e9467d4da82e6e9aaa545e9d9eda19ef60f8173ccd7fab7fa0835e770d4",
|
||||
"last_checked": "2026-01-07T09:38:02.349095+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-remote-knob-knurled-with-position-indicator",
|
||||
@@ -407,13 +285,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl",
|
||||
"orig_site_json": "website/src/data/components/remote.json",
|
||||
"orig_item_id": "ossm-remote-knob-knurled-with-position-indicator",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl",
|
||||
"checksum_sha256": "4d06b58617b70633610c4d6fc8441eff45e751b904d7b0ecd442ea97a8bfa2a6",
|
||||
"last_checked": "2026-01-07T09:38:05.401527+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-remote-knob-simple-with-position-indicator",
|
||||
@@ -423,13 +301,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl",
|
||||
"orig_site_json": "website/src/data/components/remote.json",
|
||||
"orig_item_id": "ossm-remote-knob-simple-with-position-indicator",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl",
|
||||
"checksum_sha256": "b1816680cc49d5afe57b5d4f5dabab56b5446a429d43c94d184892365bfa9330",
|
||||
"last_checked": "2026-01-07T09:38:08.443214+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-remote-top-cover",
|
||||
@@ -439,13 +317,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl",
|
||||
"orig_site_json": "website/src/data/components/remote.json",
|
||||
"orig_item_id": "ossm-remote-top-cover",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Top Cover.stl",
|
||||
"checksum_sha256": "890a6b117dc6fd306b7523838ad81ae32ad4e642c90179a58d9f313b3f3c783e",
|
||||
"last_checked": "2026-01-07T09:38:11.540477+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "ossm-toy-mount-double-double-24mm-threaded",
|
||||
@@ -459,7 +337,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -475,7 +353,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -491,7 +369,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -507,7 +385,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -523,7 +401,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -539,7 +417,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -555,7 +433,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -571,7 +449,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -587,7 +465,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
@@ -603,10 +481,65 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending",
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-base-ossm-v2",
|
||||
"source_repo": "armpitMFG/PitClamp-Mini",
|
||||
"source_path": "Files/Bases/PitClamp Mini - Base - Modular - OSSM v2.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Bases/PitClamp Mini - Base - Modular - OSSM v2.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting/armpitmfg.json",
|
||||
"orig_item_id": "pitclamp-mini-base-ossm-v2",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-rail-clamp",
|
||||
"source_repo": "armpitMFG/PitClamp-Mini",
|
||||
"source_path": "Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting/armpitmfg.json",
|
||||
"orig_item_id": "pitclamp-mini-rail-clamp",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-rail-pivot",
|
||||
"source_repo": "armpitMFG/PitClamp-Mini",
|
||||
"source_path": "Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting/armpitmfg.json",
|
||||
"orig_item_id": "pitclamp-mini-rail-pivot",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-57aim",
|
||||
"source_repo": "armpitMFG/PitClamp-Mini",
|
||||
"source_path": "Files/Rings/PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting/armpitmfg.json",
|
||||
"orig_item_id": "pitclamp-mini-ring-57aim",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-ihsv57",
|
||||
"source_repo": "armpitMFG/PitClamp-Mini",
|
||||
"source_path": "Files/Rings/PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl",
|
||||
"source_ref": "main",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl",
|
||||
"orig_site_json": "website/src/data/components/mounting/armpitmfg.json",
|
||||
"orig_item_id": "pitclamp-mini-ring-ihsv57",
|
||||
"status": "pending",
|
||||
"pinned_sha": null
|
||||
},
|
||||
{
|
||||
"id": "pivot-plate",
|
||||
"source_repo": "KinkyMakers/OSSM-hardware",
|
||||
@@ -615,13 +548,13 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl",
|
||||
"orig_site_json": "website/src/data/components/stand.json",
|
||||
"orig_item_id": "pivot-plate",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl",
|
||||
"checksum_sha256": "44a5527b613743acc394e4a6dfe89677d37c2e1c8a1537e76184812edbba0216",
|
||||
"last_checked": "2026-01-07T09:38:41.826563+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
},
|
||||
{
|
||||
"id": "pivot-plate-right",
|
||||
@@ -631,12 +564,12 @@
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl",
|
||||
"orig_site_json": "website/src/data/components/stand.json",
|
||||
"orig_item_id": "pivot-plate-right",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error",
|
||||
"license": null,
|
||||
"upstream_latest_sha": null
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl",
|
||||
"checksum_sha256": "20fba186fd8c50f08b35d57c354e62288d582ad283aa474ee271b27f08aa972a",
|
||||
"last_checked": "2026-01-07T10:37:58.707054+00:00",
|
||||
"status": "up-to-date",
|
||||
"license": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/LICENCE",
|
||||
"upstream_latest_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab"
|
||||
}
|
||||
]
|
||||
@@ -46,7 +46,7 @@ Becoming the central hub for starting an OSSM build.
|
||||
## 📋 TODO List
|
||||
|
||||
### High Priority
|
||||
- [ ] Finalize Actuator Components and mapping to BOM [In Progress]
|
||||
- [X] Finalize Actuator Components and mapping to BOM [Printed Parts Validated - Unknown location of M3x20mm SHCS]
|
||||
- [ ] Finalize Stand Components and mapping to BOM
|
||||
- [ ] Finalize PCB Components and mapping to BOM
|
||||
- [ ] Finalize Toy Mounts Components and mapping to BOM
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl
vendored
Normal file
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Handle.stl
vendored
Normal file
Binary file not shown.
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl
vendored
Normal file
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Lower V1.1.stl
vendored
Normal file
Binary file not shown.
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl
vendored
Normal file
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Mounting/OSSM - Base - PitClamp Mini - Upper V1.1.stl
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl
vendored
Normal file
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl
vendored
Normal file
Binary file not shown.
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl
vendored
Normal file
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl
vendored
Normal file
Binary file not shown.
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl
vendored
Normal file
BIN
vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -304,6 +304,65 @@ export default function BOMSummary({ config }) {
|
||||
// Skip hinges and remotes as they're handled separately above
|
||||
if (componentKey === 'hinges' || componentKey === 'remotes') return;
|
||||
|
||||
// Handle components with systems (like mounts)
|
||||
if (component.systems) {
|
||||
// Find the selected system based on config
|
||||
let selectedSystemId = null;
|
||||
if (componentKey === 'mounting' && config.mount) {
|
||||
selectedSystemId = config.mount.id;
|
||||
} else if (componentKey === 'toyMounts' && config.toyMountOptions && config.toyMountOptions.length > 0) {
|
||||
// For toy mounts, process all selected options
|
||||
config.toyMountOptions.forEach((toyMount) => {
|
||||
const system = component.systems[toyMount.id];
|
||||
if (system?.hardwareParts) {
|
||||
system.hardwareParts.forEach((hardware) => {
|
||||
if (!hardware.required) return;
|
||||
if (!evaluateCondition(hardware.Condition, config)) return;
|
||||
|
||||
const key = hardware.id;
|
||||
if (hardwareMap.has(key)) {
|
||||
const existing = hardwareMap.get(key);
|
||||
existing.quantity = (existing.quantity || 1) + (hardware.quantity || 1);
|
||||
} else {
|
||||
hardwareMap.set(key, {
|
||||
...hardware,
|
||||
quantity: hardware.quantity || 1,
|
||||
category: component.category || 'Hardware',
|
||||
hardwareType: getHardwareType(hardware)
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
return; // Skip the rest for toy mounts
|
||||
}
|
||||
|
||||
if (selectedSystemId) {
|
||||
const system = component.systems[selectedSystemId];
|
||||
if (system?.hardwareParts) {
|
||||
system.hardwareParts.forEach((hardware) => {
|
||||
if (!hardware.required) return;
|
||||
if (!evaluateCondition(hardware.Condition, config)) return;
|
||||
|
||||
const key = hardware.id;
|
||||
if (hardwareMap.has(key)) {
|
||||
const existing = hardwareMap.get(key);
|
||||
existing.quantity = (existing.quantity || 1) + (hardware.quantity || 1);
|
||||
} else {
|
||||
hardwareMap.set(key, {
|
||||
...hardware,
|
||||
quantity: hardware.quantity || 1,
|
||||
category: component.category || 'Hardware',
|
||||
hardwareType: getHardwareType(hardware)
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return; // Skip direct hardwareParts check for components with systems
|
||||
}
|
||||
|
||||
// Handle components with direct hardwareParts (old structure)
|
||||
if (!component.hardwareParts) return;
|
||||
|
||||
// Check if this component has any selected printed parts OR selected options
|
||||
@@ -557,10 +616,58 @@ export default function BOMSummary({ config }) {
|
||||
}
|
||||
}
|
||||
|
||||
// Handle mount systems
|
||||
if (config.mount && partsData.components?.mounting?.systems) {
|
||||
const mountSystem = partsData.components.mounting.systems[config.mount.id];
|
||||
if (mountSystem?.hardwareParts) {
|
||||
const componentHardware = [];
|
||||
mountSystem.hardwareParts.forEach((hardware) => {
|
||||
if (hardware.required && evaluateCondition(hardware.Condition, config)) {
|
||||
componentHardware.push({
|
||||
...hardware,
|
||||
quantity: hardware.quantity || 1,
|
||||
hardwareType: getHardwareType(hardware)
|
||||
});
|
||||
}
|
||||
});
|
||||
if (componentHardware.length > 0) {
|
||||
expandedHardware.push({
|
||||
component: partsData.components.mounting.category || 'Mounting',
|
||||
parts: componentHardware,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Handle toy mount systems
|
||||
if (config.toyMountOptions && config.toyMountOptions.length > 0 && partsData.components?.toyMounts?.systems) {
|
||||
config.toyMountOptions.forEach((toyMount) => {
|
||||
const toyMountSystem = partsData.components.toyMounts.systems[toyMount.id];
|
||||
if (toyMountSystem?.hardwareParts) {
|
||||
const componentHardware = [];
|
||||
toyMountSystem.hardwareParts.forEach((hardware) => {
|
||||
if (hardware.required && evaluateCondition(hardware.Condition, config)) {
|
||||
componentHardware.push({
|
||||
...hardware,
|
||||
quantity: hardware.quantity || 1,
|
||||
hardwareType: getHardwareType(hardware)
|
||||
});
|
||||
}
|
||||
});
|
||||
if (componentHardware.length > 0) {
|
||||
expandedHardware.push({
|
||||
component: partsData.components.toyMounts.category || 'Toy Mounts',
|
||||
parts: componentHardware,
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Handle other components
|
||||
const componentPrintedPartIds = new Map();
|
||||
Object.entries(partsData.components || {}).forEach(([componentKey, component]) => {
|
||||
if (componentKey === 'hinges' || componentKey === 'remotes') return;
|
||||
if (componentKey === 'hinges' || componentKey === 'remotes' || componentKey === 'mounting' || componentKey === 'toyMounts') return;
|
||||
if (component.printedParts) {
|
||||
const partIds = component.printedParts.map(p => p.id);
|
||||
componentPrintedPartIds.set(componentKey, new Set(partIds));
|
||||
@@ -568,7 +675,7 @@ export default function BOMSummary({ config }) {
|
||||
});
|
||||
|
||||
Object.entries(partsData.components || {}).forEach(([componentKey, component]) => {
|
||||
if (componentKey === 'hinges' || componentKey === 'remotes') return;
|
||||
if (componentKey === 'hinges' || componentKey === 'remotes' || componentKey === 'mounting' || componentKey === 'toyMounts') return;
|
||||
if (!component.hardwareParts) return;
|
||||
|
||||
const componentPartIds = componentPrintedPartIds.get(componentKey);
|
||||
|
||||
@@ -24,10 +24,34 @@
|
||||
"description": "Hardware fasteners m3 hex nut",
|
||||
"price": 0
|
||||
},
|
||||
"M5 Hex Nut": {
|
||||
"id": "hardware-fasteners-m5-hex-nut",
|
||||
"name": "M5 Hex Nut",
|
||||
"description": "Hardware fasteners m5 hex nut",
|
||||
"M4x10 Socket Head cap Screw": {
|
||||
"id": "hardware-fasteners-m4x10-shcs",
|
||||
"name": "M4x10 SHCS",
|
||||
"description": "Hardware fasteners m4x10 socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M4x12 Socket Head cap Screw": {
|
||||
"id": "hardware-fasteners-m4x12-shcs",
|
||||
"name": "M4x12 SHCS",
|
||||
"description": "Hardware fasteners m4x12 socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M4x25 Socket Head cap Screw": {
|
||||
"id": "hardware-fasteners-m4x25-shcs",
|
||||
"name": "M4x25 SHCS",
|
||||
"description": "Hardware fasteners m4x25 socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M4 Hex Nuts": {
|
||||
"id": "hardware-fasteners-m4-hex-nuts",
|
||||
"name": "M4 Hex Nuts",
|
||||
"description": "Hardware fasteners m4 hex nuts",
|
||||
"price": 0
|
||||
},
|
||||
"M5 Hex Nuts": {
|
||||
"id": "hardware-fasteners-m5-hex-nuts",
|
||||
"name": "M5 Hex Nuts",
|
||||
"description": "Hardware fasteners m5 hex nuts",
|
||||
"price": 0
|
||||
},
|
||||
"M5x20 Socket Head cap Screw": {
|
||||
@@ -42,6 +66,12 @@
|
||||
"description": "Hardware fasteners m5x35 socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M5x40 Socket Head cap Screw": {
|
||||
"id": "hardware-fasteners-m5x40-shcs",
|
||||
"name": "M5x40 SHCS",
|
||||
"description": "Hardware fasteners m5x40 socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M5x20mm Hex Coupling Nut": {
|
||||
"id": "hardware-fasteners-m5x20mm-hex-coupling-nut",
|
||||
"name": "M5x20mm Hex Coupling Nut",
|
||||
@@ -54,6 +84,12 @@
|
||||
"description": "Hardware fasteners m6x12 socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M6x20mm Socket Head cap Screw": {
|
||||
"id": "hardware-fasteners-m6x20mm-shcs",
|
||||
"name": "M6x20mm SHCS",
|
||||
"description": "Hardware fasteners m6x20mm socket head cap screw",
|
||||
"price": 0
|
||||
},
|
||||
"M6x25 Socket Head cap Screw": {
|
||||
"id": "hardware-fasteners-m6x25-shcs",
|
||||
"name": "M6x25 SHCS",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"timeEstimate": "2h14m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"quantity": 1,
|
||||
"filePath": "OSSM - Actuator Body Bottom.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%20Actuator%20-%20Body%20-%20Bottom.stl?raw=true",
|
||||
"vendor": {
|
||||
@@ -19,7 +20,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Bottom.stl",
|
||||
"checksum_sha256": "e7abdb99a7e9b9e7408a7b04a7dd50e42cc74510ea2969016a45a2a1387dcde3",
|
||||
"last_checked": "2026-01-07T06:30:14.604915+00:00",
|
||||
"last_checked": "2026-01-07T23:40:57.300803+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
@@ -31,6 +32,7 @@
|
||||
"timeEstimate": "2h23m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"quantity": 1,
|
||||
"filePath": "OSSM - Actuator Body Middle.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%20Actuator%20-%20Body%20-%20Middle.stl?raw=true",
|
||||
"vendor": {
|
||||
@@ -39,7 +41,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Middle.stl",
|
||||
"checksum_sha256": "ce6fb769378636c287af788ce42bdab1f2185dcffba929a0c72598742793b48a",
|
||||
"last_checked": "2026-01-07T06:30:22.906540+00:00",
|
||||
"last_checked": "2026-01-07T23:40:59.324441+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
@@ -51,6 +53,7 @@
|
||||
"timeEstimate": "1h3m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"quantity": 1,
|
||||
"Condition": {
|
||||
"cover.id": "standard-cover"
|
||||
},
|
||||
@@ -62,7 +65,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Actuator - Body - Cover.stl",
|
||||
"checksum_sha256": "bbabc742d2f1753d1b4e21e42c197aec31a4a083b5c634e6e825cec69d4e3258",
|
||||
"last_checked": "2026-01-07T06:30:18.689516+00:00",
|
||||
"last_checked": "2026-01-07T23:40:58.302462+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
@@ -74,6 +77,7 @@
|
||||
"timeEstimate": "40m25s",
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"quantity": 1,
|
||||
"filePath": "OSSM - Belt Tensioner.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%20Belt%20Tensioner.stl?raw=true",
|
||||
"vendor": {
|
||||
@@ -82,7 +86,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - Belt Tensioner.stl",
|
||||
"checksum_sha256": "31c74250c237763b0013ff42cc714ce14c293382a726de363f1686a7559f525f",
|
||||
"last_checked": "2026-01-07T07:29:56.698523+00:00",
|
||||
"last_checked": "2026-01-07T23:41:01.332754+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
@@ -94,6 +98,7 @@
|
||||
"timeEstimate": "19m36s",
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"quantity": 1,
|
||||
"filePath": "OSSM - 24mm Clamping Thread Belt Clamp.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%2024mm%20Clamping%20Thread%20-%20Belt%20Clamp.stl?raw=true",
|
||||
"vendor": {
|
||||
@@ -102,7 +107,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - Belt Clamp.stl",
|
||||
"checksum_sha256": "457a71bc09cb53f12026fd829bec8fa5b04fdead0788822935780f42c90b9a7a",
|
||||
"last_checked": "2026-01-07T06:30:08.525159+00:00",
|
||||
"last_checked": "2026-01-07T23:40:53.289981+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
@@ -114,6 +119,7 @@
|
||||
"timeEstimate": "1h20m",
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"quantity": 1,
|
||||
"filePath": "OSSM - 24mm Clamping Thread End Effector.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%2024mm%20Clamping%20Thread%20-%20End%20Effector.stl?raw=true",
|
||||
"vendor": {
|
||||
@@ -122,7 +128,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Clamping Thread - End Effector.stl",
|
||||
"checksum_sha256": "4860947b201e2e773b295d33bba09423ae40b4adeef3605d62687f2d40277de1",
|
||||
"last_checked": "2026-01-07T06:30:09.547007+00:00",
|
||||
"last_checked": "2026-01-07T23:40:54.274313+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
@@ -134,6 +140,7 @@
|
||||
"timeEstimate": "21m10s",
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"quantity": 2,
|
||||
"filePath": "OSSM - 24mm Nut 5 Sided.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/OSSM%20-%2024mm%20Nut%20-%205%20Sided.stl?raw=true",
|
||||
"vendor": {
|
||||
@@ -142,7 +149,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Actuator/OSSM - 24mm Nut - 5 Sided.stl",
|
||||
"checksum_sha256": "38630c70b2fb929bba9a705dabf5bbd7b49ec882963e042b7108dc74284dd6ff",
|
||||
"last_checked": "2026-01-07T06:30:10.564924+00:00",
|
||||
"last_checked": "2026-01-07T23:40:55.286530+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
@@ -153,7 +160,8 @@
|
||||
"required": true,
|
||||
"quantity": 8,
|
||||
"relatedParts": [
|
||||
"ossm-actuator-body-bottom"
|
||||
"ossm-actuator-body-bottom",
|
||||
"ossm-actuator-body-cover"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -161,7 +169,7 @@
|
||||
"required": true,
|
||||
"quantity": 2,
|
||||
"relatedParts": [
|
||||
"ossm-24mm-nut-5-sided"
|
||||
"ossm-24mm-clamping-thread-end-effector"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -181,7 +189,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5-hex-nut",
|
||||
"id": "hardware-fasteners-m5-hex-nuts",
|
||||
"required": true,
|
||||
"quantity": 7,
|
||||
"relatedParts": [
|
||||
@@ -237,6 +245,8 @@
|
||||
"relatedParts": [
|
||||
"ossm-24mm-clamping-thread-belt-clamp",
|
||||
"ossm-24mm-nut-5-sided",
|
||||
"ossm-belt-tensioner",
|
||||
"ossm-24mm-clamping-thread-end-effector",
|
||||
"ossm-actuator-body-bottom"
|
||||
]
|
||||
},
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"id": "42AIM30",
|
||||
"name": "42AIM30 \"Round Motor\"",
|
||||
"id": "42AIM",
|
||||
"name": "42AIM \"Round Motor\"",
|
||||
"description": "High precision NEMA 17 stepper motor with 0.9° step angle",
|
||||
"speed": "1500 RPM",
|
||||
"wattage": "100W",
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
{
|
||||
"pitclamp": {
|
||||
"name": "PitClamp Mini",
|
||||
"description": "armpitMFG PitClamp Mini - Modular Quick-Release Mount",
|
||||
"image": "https://raw.githubusercontent.com/armpitMFG/PitClamp-Mini/main/Images/Renders/Primary/Parts%20Only.png",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "pitclamp-mini-base-ossm-v2",
|
||||
"name": "PitClamp Mini Base - OSSM v2",
|
||||
"description": "Modular base for OSSM v2",
|
||||
"filamentEstimate": 65,
|
||||
"timeEstimate": "2h30m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "PitClamp Mini - Base - Modular - OSSM v2.stl",
|
||||
"url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Bases/PitClamp%20Mini%20-%20Base%20-%20Modular%20-%20OSSM%20v2.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "pitclamp-mini-base-ossm-v2",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Bases/PitClamp Mini - Base - Modular - OSSM v2.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-rail-clamp",
|
||||
"name": "PitClamp Mini Rail Clamp",
|
||||
"description": "Standard rail clamp mod",
|
||||
"filamentEstimate": 25,
|
||||
"timeEstimate": "1h",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl",
|
||||
"url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rail%20Components/PitClamp%20Mini%20-%20Rail%20-%20Standard%20Mod%20-%20Clamp%20V1.1.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "pitclamp-mini-rail-clamp",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Clamp V1.1.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-rail-pivot",
|
||||
"name": "PitClamp Mini Rail Pivot",
|
||||
"description": "Standard rail pivot mod",
|
||||
"filamentEstimate": 25,
|
||||
"timeEstimate": "1h",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl",
|
||||
"url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rail%20Components/PitClamp%20Mini%20-%20Rail%20-%20Standard%20Mod%20-%20Pivot%20V1.1.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "pitclamp-mini-rail-pivot",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rail Components/PitClamp Mini - Rail - Standard Mod - Pivot V1.1.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-57aim",
|
||||
"name": "PitClamp Mini Ring - 57AIM",
|
||||
"description": "Motor ring for 57AIM",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "1h45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"Condition": {
|
||||
"motor.id": "57AIM30"
|
||||
},
|
||||
"filePath": "PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl",
|
||||
"url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rings/PitClamp%20Mini%20-%20Ring%20v1.1%20-%2057AIM%20-%205mm%20Offset%20+Passthru.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "pitclamp-mini-ring-57aim",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring v1.1 - 57AIM - 5mm Offset +Passthru.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-ihsv57",
|
||||
"name": "PitClamp Mini Ring - iHSV57",
|
||||
"description": "Motor ring for iHSV57",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "1h45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"Condition": {
|
||||
"motor.id": "iHSV57"
|
||||
},
|
||||
"filePath": "PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl",
|
||||
"url": "https://github.com/armpitMFG/PitClamp-Mini/blob/main/Files/Rings/PitClamp%20Mini%20-%20Ring%20-%20iHSV57%20-%20Default%20-%205mm%20Offset.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "pitclamp-mini-ring-ihsv57",
|
||||
"local_path": "vendor/armpitMFG-PitClamp-Mini/Files/Rings/PitClamp Mini - Ring - iHSV57 - Default - 5mm Offset.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "pitclamp-hardware",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,11 @@
|
||||
import ossm from './ossm.json';
|
||||
import armpitmfg from './armpitmfg.json';
|
||||
|
||||
export default {
|
||||
"mounting": {
|
||||
"category": "Mounting",
|
||||
"type": "base",
|
||||
"systems": {
|
||||
...ossm,
|
||||
...armpitmfg
|
||||
// ...armpitmfg
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,59 +1,240 @@
|
||||
{
|
||||
"middle-pivot": {
|
||||
"name": "Middle Pivot",
|
||||
"description": "Standard OSSM Middle Pivot mounting system",
|
||||
"image": "/images/options/middle-pivot.png",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "ossm-actuator-body-middle-pivot",
|
||||
"name": "Actuator Body Middle Pivot",
|
||||
"description": "Middle Pivot mounting system",
|
||||
"filamentEstimate": 147.19,
|
||||
"timeEstimate": "5h8m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"replaces": [
|
||||
"ossm-actuator-body-middle"
|
||||
],
|
||||
"filePath": "OSSM - Actuator Body Middle Pivot.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/Non-standard/OSSM%20-%20Actuator%20-%20Body%20-%20Middle%20Pivot.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-actuator-body-middle-pivot",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"pinned_sha": "ad39a03b628b8e38549b99036c8dfd4131948545",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"checksum_sha256": "f6403a3c53e0d8c8e63d48bf853ab17c9f283421b1665b5503dbb04d59d0f52d",
|
||||
"last_checked": "2026-01-07T01:21:04.528132+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ossm-handle-spacer",
|
||||
"name": "Handle Spacer",
|
||||
"description": "Handle spacer part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"quantity": 2,
|
||||
"filePath": "OSSM - Handle Spacer.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Handle%20Spacer.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-handle-spacer",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
}
|
||||
"middle-pivot": {
|
||||
"name": "Middle Pivot",
|
||||
"description": "Standard OSSM Middle Pivot mounting system",
|
||||
"image": "/images/options/middle-pivot.png",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "ossm-actuator-body-middle-pivot",
|
||||
"name": "Actuator Body Middle Pivot",
|
||||
"description": "Middle Pivot mounting system",
|
||||
"filamentEstimate": 147.19,
|
||||
"timeEstimate": "5h8m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"replaces": [
|
||||
"ossm-actuator-body-middle"
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m5x35-shcs",
|
||||
"required": true,
|
||||
"quantity": 4
|
||||
"filePath": "OSSM - Actuator Body Middle Pivot.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Actuator/Non-standard/OSSM%20-%20Actuator%20-%20Body%20-%20Middle%20Pivot.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-actuator-body-middle-pivot",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"pinned_sha": "ad39a03b628b8e38549b99036c8dfd4131948545",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/ad39a03b628b8e38549b99036c8dfd4131948545/Printed Parts/Actuator/Non-standard/OSSM - Actuator - Body - Middle Pivot.stl",
|
||||
"checksum_sha256": "f6403a3c53e0d8c8e63d48bf853ab17c9f283421b1665b5503dbb04d59d0f52d",
|
||||
"last_checked": "2026-01-07T23:41:00.422074+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ossm-handle-spacer",
|
||||
"name": "Handle Spacer",
|
||||
"description": "Handle spacer part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"quantity": 2,
|
||||
"filePath": "OSSM - Handle Spacer.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Stand/OSSM%20-%20Stand%20-%203030%20Extrusion%20Base%20-%20Handle%20Spacer.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-handle-spacer",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115",
|
||||
"last_checked": "2026-01-07T23:41:02.238918+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m5x35-shcs",
|
||||
"required": true,
|
||||
"quantity": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
"pitclamp": {
|
||||
"name": "PitClamp Mini",
|
||||
"description": "armpitMFG PitClamp Mini - Modular Quick-Release Mount",
|
||||
"image": "https://raw.githubusercontent.com/armpitMFG/PitClamp-Mini/main/Images/Renders/Primary/Parts%20Only.png",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "pitclamp-mini-base-dogbone-bolts",
|
||||
"name": "PitClamp Mini Base - Dogbone Bolts",
|
||||
"description": "PitClamp Mini base part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - Base - PitClamp Mini - Dogbone Bolts.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Dogbone%20Bolts.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-base-dogbone-nuts",
|
||||
"name": "PitClamp Mini Base - Dogbone Nuts",
|
||||
"description": "PitClamp Mini base part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - Base - PitClamp Mini - Dogbone Nuts.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Dogbone%20Nuts.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-base-dogbone-handle ",
|
||||
"name": "PitClamp Mini Base - Handle",
|
||||
"description": "PitClamp Mini base part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - Base - PitClamp Mini - Handle.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Handle.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-base-dogbone-lower",
|
||||
"name": "PitClamp Mini Base - Lower",
|
||||
"description": "PitClamp Mini base part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - Base - PitClamp Mini - Lower.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Lower%20V1.1.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-base-dogbone-upper",
|
||||
"name": "PitClamp Mini Base - Upper",
|
||||
"description": "PitClamp Mini base part",
|
||||
"filamentEstimate": 10,
|
||||
"colour": "secondary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - Base - PitClamp Mini - Upper.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Base%20-%20PitClamp%20Mini%20-%20Upper%20V1.1.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-57AIM",
|
||||
"name": "PitClamp Mini Ring - 57AIM",
|
||||
"description": "Motor ring for 57AIM",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "1h45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"Condition": {
|
||||
"motor.id": "57AIM30"
|
||||
},
|
||||
"filePath": "OSSM - Mounting Ring - PitClamp Mini - 57AIM v1.1.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/OSSM%20-%20Mounting%20Ring%20-%20PitClamp%20Mini%20-%2057AIM%20V1.1.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-ihsv57",
|
||||
"name": "PitClamp Mini Ring - iHSV57",
|
||||
"description": "Motor ring for iHSV57",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "1h45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"Condition": {
|
||||
"motor.id": "iHSV57"
|
||||
},
|
||||
"filePath": "OSSM - Mounting Ring - PitClamp Mini - iHSV57.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/Non-standard/OSSM%20-%20Mounting%20Ring%20-%20PitClamp%20Mini%20-%20iHSV57.stl?raw=true"
|
||||
},
|
||||
{
|
||||
"id": "pitclamp-mini-ring-42AIM",
|
||||
"name": "PitClamp Mini Ring - 42AIM",
|
||||
"description": "Motor ring for 42AIM",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "1h45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"Condition": {
|
||||
"motor.id": "42AIM"
|
||||
},
|
||||
"filePath": "OSSM - Mounting Ring - PitClamp Mini - 42AIM.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/Mounting/Non-standard/OSSM%20-%20Mounting%20Ring%20-%20PitClamp%20Mini%20-%2042AIM%20V1.1.stl?raw=true"
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m4x25-shcs",
|
||||
"required": true,
|
||||
"quantity": 2
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m4x12-shcs",
|
||||
"required": true,
|
||||
"quantity": 1
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m4x10-shcs",
|
||||
"required": true,
|
||||
"quantity": 1
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m4-hex-nuts",
|
||||
"required": true,
|
||||
"quantity": 3
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5x20-shcs",
|
||||
"required": true,
|
||||
"quantity": 1
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5-hex-nuts",
|
||||
"required": true,
|
||||
"quantity": 1
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m6x20mm-shcs",
|
||||
"required": true,
|
||||
"quantity": 2
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m6-t-nuts",
|
||||
"required": true,
|
||||
"quantity": 2
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5x35-shcs",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"Condition": {
|
||||
"motor.id": "57AIM30"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5-hex-nuts",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"Condition": {
|
||||
"motor.id": "57AIM30"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5x40-shcs",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"Condition": {
|
||||
"motor.id": "iHSV57"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m5-hex-nuts",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"Condition": {
|
||||
"motor.id": "iHSV57"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m3x16-shcs",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"Condition": {
|
||||
"motor.id": "42AIM"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,56 +1,56 @@
|
||||
{
|
||||
"aio-cover-mount": {
|
||||
"name": "AIO Cover Mount",
|
||||
"description": "All-in-one cover mount for OSSM v2 AIO PCB",
|
||||
"image": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Images/Workspace/AIO%20PCB%20Backpack%20-%20Back%20Right.png",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "ossm-pcb-aio-backpack-base",
|
||||
"name": "AIO PCB Backpack Base",
|
||||
"description": "Base part for AIO PCB Backpack V2.3c",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "2h",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Base%20V2.3c.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-aio-backpack-base",
|
||||
"local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ossm-pcb-aio-backpack-cap",
|
||||
"name": "AIO PCB Backpack Cap",
|
||||
"description": "Default cap for AIO PCB Backpack",
|
||||
"filamentEstimate": 15,
|
||||
"timeEstimate": "45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Cap%20(Default).stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-aio-backpack-cap",
|
||||
"local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m3x8-shcs",
|
||||
"required": true,
|
||||
"quantity": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
"aio-cover-mount": {
|
||||
"name": "AIO Cover Mount",
|
||||
"description": "All-in-one cover mount for OSSM v2 AIO PCB",
|
||||
"image": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Images/Workspace/AIO%20PCB%20Backpack%20-%20Back%20Right.png",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "ossm-pcb-aio-backpack-base",
|
||||
"name": "AIO PCB Backpack Base",
|
||||
"description": "Base part for AIO PCB Backpack V2.3c",
|
||||
"filamentEstimate": 45,
|
||||
"timeEstimate": "2h",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Base%20V2.3c.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-aio-backpack-base",
|
||||
"local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"pinned_sha": "9793908c23022a3a95651ac1f2287b056b84cd3d",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/9793908c23022a3a95651ac1f2287b056b84cd3d/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Base V2.3c.stl",
|
||||
"checksum_sha256": "1fc1eb6947f02b6683ab5960adf6f0cb1ab4431d789dc64bca09e0d730d15990",
|
||||
"last_checked": "2026-01-07T23:41:08.621523+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ossm-pcb-aio-backpack-cap",
|
||||
"name": "AIO PCB Backpack Cap",
|
||||
"description": "Default cap for AIO PCB Backpack",
|
||||
"filamentEstimate": 15,
|
||||
"timeEstimate": "45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"url": "https://github.com/armpitMFG/OSSM-Parts/blob/main/OSSM%20v2%20AIO%20PCB%20Backpack%20Mod/Files/OSSM%20Mods%20-%20AIO%20PCB%20Backpack%20-%20Cap%20(Default).stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-aio-backpack-cap",
|
||||
"local_path": "vendor/armpitMFG-OSSM-Parts/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"pinned_sha": "3f67f0834755e7b7e662acf0dbf2af0c257818b3",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/armpitMFG/OSSM-Parts/3f67f0834755e7b7e662acf0dbf2af0c257818b3/OSSM v2 AIO PCB Backpack Mod/Files/OSSM Mods - AIO PCB Backpack - Cap (Default).stl",
|
||||
"checksum_sha256": "dd76229dd480378df73eb101080c34978bb454017888004f64fc33f2c071e121",
|
||||
"last_checked": "2026-01-07T23:41:13.225270+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m3x8-shcs",
|
||||
"required": true,
|
||||
"quantity": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,69 +1,69 @@
|
||||
{
|
||||
"3030-mount": {
|
||||
"name": "3030 Mount",
|
||||
"3030-mount": {
|
||||
"name": "3030 Mount",
|
||||
"description": "PCB mount for 3030 extrusion",
|
||||
"image": "/images/options/3030-pcb-mount.png",
|
||||
"category": "PCB Mount",
|
||||
"type": "base",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "ossm-pcb-3030-mount",
|
||||
"name": "PCB 3030 Mount",
|
||||
"description": "PCB mount for 3030 extrusion",
|
||||
"image": "/images/options/3030-pcb-mount.png",
|
||||
"category": "PCB Mount",
|
||||
"type": "base",
|
||||
"printedParts": [
|
||||
{
|
||||
"id": "ossm-pcb-3030-mount",
|
||||
"name": "PCB 3030 Mount",
|
||||
"description": "PCB mount for 3030 extrusion",
|
||||
"filamentEstimate": 15,
|
||||
"timeEstimate": "45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - PCB - 3030 Mount.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-3030-mount",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ossm-pcb-3030-mount-cover",
|
||||
"name": "PCB 3030 Mount Cover",
|
||||
"description": "Cover for the 3030 mount",
|
||||
"filamentEstimate": 15,
|
||||
"timeEstimate": "45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - PCB - 3030 Mount Cover.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount%20Cover.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-3030-mount-cover",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m6x12-shcs",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"relatedParts": [
|
||||
"ossm-pcb-3030-mount"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m6-t-nuts",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"relatedParts": [
|
||||
"ossm-pcb-3030-mount"
|
||||
]
|
||||
}
|
||||
"filamentEstimate": 15,
|
||||
"timeEstimate": "45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - PCB - 3030 Mount.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-3030-mount",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ossm-pcb-3030-mount-cover",
|
||||
"name": "PCB 3030 Mount Cover",
|
||||
"description": "Cover for the 3030 mount",
|
||||
"filamentEstimate": 15,
|
||||
"timeEstimate": "45m",
|
||||
"colour": "primary",
|
||||
"required": true,
|
||||
"filePath": "OSSM - PCB - 3030 Mount Cover.stl",
|
||||
"url": "https://github.com/KinkyMakers/OSSM-hardware/blob/main/Printed%20Parts/PCB/OSSM%20-%20PCB%20-%203030%20Mount%20Cover.stl?raw=true",
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-pcb-3030-mount-cover",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/PCB/OSSM - PCB - 3030 Mount Cover.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
"hardwareParts": [
|
||||
{
|
||||
"id": "hardware-fasteners-m6x12-shcs",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"relatedParts": [
|
||||
"ossm-pcb-3030-mount"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hardware-fasteners-m6-t-nuts",
|
||||
"required": true,
|
||||
"quantity": 4,
|
||||
"relatedParts": [
|
||||
"ossm-pcb-3030-mount"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -21,11 +21,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-remote-body",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Body.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Body.stl",
|
||||
"checksum_sha256": "a0c3bb663a4bba6876a89c8e0dce81d0c6c673c9fc1f4537537000576f7f9e48",
|
||||
"last_checked": "2026-01-07T23:41:14.337483+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -41,11 +41,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-remote-top-cover",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Top Cover.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Top Cover.stl",
|
||||
"checksum_sha256": "890a6b117dc6fd306b7523838ad81ae32ad4e642c90179a58d9f313b3f3c783e",
|
||||
"last_checked": "2026-01-07T23:41:26.173698+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -63,11 +63,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-remote-knob",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/OSSM - Remote - Knob - Rounded.stl",
|
||||
"checksum_sha256": "3dcf73220cecd534ea9db0d991cec1001b4495f0b9d98f71f5b0b8c68b780439",
|
||||
"last_checked": "2026-01-07T23:41:15.320622+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -102,11 +102,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-remote-knob-simple-with-position-indicator",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Simple With Position Indicator.stl",
|
||||
"checksum_sha256": "b1816680cc49d5afe57b5d4f5dabab56b5446a429d43c94d184892365bfa9330",
|
||||
"last_checked": "2026-01-07T23:41:21.935568+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -121,11 +121,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-remote-knob-knurled",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled.stl",
|
||||
"checksum_sha256": "43f68e9467d4da82e6e9aaa545e9d9eda19ef60f8173ccd7fab7fa0835e770d4",
|
||||
"last_checked": "2026-01-07T23:41:16.349140+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -140,11 +140,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "ossm-remote-knob-knurled-with-position-indicator",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Remote/Non-standard/OSSM - Remote - Knob - Knurled With Position Indicator.stl",
|
||||
"checksum_sha256": "4d06b58617b70633610c4d6fc8441eff45e751b904d7b0ecd442ea97a8bfa2a6",
|
||||
"last_checked": "2026-01-07T23:41:17.344170+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@@ -23,11 +23,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "pivot-plate",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Left.stl",
|
||||
"checksum_sha256": "44a5527b613743acc394e4a6dfe89677d37c2e1c8a1537e76184812edbba0216",
|
||||
"last_checked": "2026-01-07T09:38:41.826563+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -43,11 +43,11 @@
|
||||
"vendor": {
|
||||
"manifest_id": "pivot-plate-right",
|
||||
"local_path": "vendor/KinkyMakers-OSSM-hardware/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl",
|
||||
"pinned_sha": null,
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "error"
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Pivot Plate Right.stl",
|
||||
"checksum_sha256": "20fba186fd8c50f08b35d57c354e62288d582ad283aa474ee271b27f08aa972a",
|
||||
"last_checked": "2026-01-07T10:37:58.707054+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -66,7 +66,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Handle Spacer.stl",
|
||||
"checksum_sha256": "55ede7dff60a31d68159b352b5f2c63792b7a0dbe9d543a43681c3e52d229115",
|
||||
"last_checked": "2026-01-07T06:30:07.525364+00:00",
|
||||
"last_checked": "2026-01-07T23:40:52.301339+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
@@ -187,7 +187,7 @@
|
||||
"pinned_sha": "52537c0896eaef83fd9771dcc633903c7aa6a8ab",
|
||||
"pinned_raw_url": "https://raw.githubusercontent.com/KinkyMakers/OSSM-hardware/52537c0896eaef83fd9771dcc633903c7aa6a8ab/Printed Parts/Stand/OSSM - Stand - 3030 Extrusion Base - Extrusion Cap.stl",
|
||||
"checksum_sha256": "56fa9bb318cdeadc6d1698a1e6cef9371e58b0bc9c7729985bf639d8da2f25da",
|
||||
"last_checked": "2026-01-07T06:30:11.578686+00:00",
|
||||
"last_checked": "2026-01-07T23:40:56.344743+00:00",
|
||||
"status": "up-to-date"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -37,7 +37,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -57,7 +57,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -77,7 +77,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -97,7 +97,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -117,7 +117,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -137,7 +137,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -157,7 +157,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -177,7 +177,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -197,7 +197,7 @@
|
||||
"pinned_raw_url": null,
|
||||
"checksum_sha256": null,
|
||||
"last_checked": null,
|
||||
"status": "pending"
|
||||
"status": "error"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user