Add basic Pi Pico project
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1 +1,2 @@
 | 
				
			|||||||
/.venv/
 | 
					.direnv/
 | 
				
			||||||
 | 
					.devenv/
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										524
									
								
								flake.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										524
									
								
								flake.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,524 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "cachix": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "devenv": "devenv_2",
 | 
				
			||||||
 | 
					        "flake-compat": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "flake-compat"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "pre-commit-hooks": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "pre-commit-hooks"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1712055811,
 | 
				
			||||||
 | 
					        "narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "cachix",
 | 
				
			||||||
 | 
					        "rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "cachix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "devenv": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "cachix": "cachix",
 | 
				
			||||||
 | 
					        "flake-compat": "flake-compat_2",
 | 
				
			||||||
 | 
					        "nix": "nix_2",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "pre-commit-hooks": "pre-commit-hooks"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1715246369,
 | 
				
			||||||
 | 
					        "narHash": "sha256-gpdfUGNLXr64y+EAUMA3YP/sUO0wBVthrlPIm2PDJpw=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "devenv",
 | 
				
			||||||
 | 
					        "rev": "8f089ccfdef53f2ea5e0bfabe25dba4769f5390f",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "devenv",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "devenv_2": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "cachix",
 | 
				
			||||||
 | 
					          "flake-compat"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nix": "nix",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs",
 | 
				
			||||||
 | 
					        "poetry2nix": "poetry2nix",
 | 
				
			||||||
 | 
					        "pre-commit-hooks": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "cachix",
 | 
				
			||||||
 | 
					          "pre-commit-hooks"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1708704632,
 | 
				
			||||||
 | 
					        "narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "devenv",
 | 
				
			||||||
 | 
					        "rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "ref": "python-rewrite",
 | 
				
			||||||
 | 
					        "repo": "devenv",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "devshell": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils_3",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1713532798,
 | 
				
			||||||
 | 
					        "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "devshell",
 | 
				
			||||||
 | 
					        "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "devshell",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-compat": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1673956053,
 | 
				
			||||||
 | 
					        "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
 | 
				
			||||||
 | 
					        "owner": "edolstra",
 | 
				
			||||||
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
 | 
					        "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "edolstra",
 | 
				
			||||||
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-compat_2": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1696426674,
 | 
				
			||||||
 | 
					        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
 | 
				
			||||||
 | 
					        "owner": "edolstra",
 | 
				
			||||||
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
 | 
					        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "edolstra",
 | 
				
			||||||
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-parts": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs-lib": "nixpkgs-lib"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1714641030,
 | 
				
			||||||
 | 
					        "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "systems": "systems"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1689068808,
 | 
				
			||||||
 | 
					        "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils_2": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "systems": "systems_2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1710146030,
 | 
				
			||||||
 | 
					        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils_3": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "systems": "systems_3"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1701680307,
 | 
				
			||||||
 | 
					        "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "gitignore": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "pre-commit-hooks",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1709087332,
 | 
				
			||||||
 | 
					        "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "gitignore.nix",
 | 
				
			||||||
 | 
					        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "gitignore.nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nix": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": "flake-compat",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "cachix",
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs-regression": "nixpkgs-regression"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1712911606,
 | 
				
			||||||
 | 
					        "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
 | 
				
			||||||
 | 
					        "owner": "domenkozar",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "domenkozar",
 | 
				
			||||||
 | 
					        "ref": "devenv-2.21",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nix-github-actions": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "cachix",
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "poetry2nix",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1688870561,
 | 
				
			||||||
 | 
					        "narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nix-github-actions",
 | 
				
			||||||
 | 
					        "rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nix-github-actions",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nix_2": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "flake-compat"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs-regression": "nixpkgs-regression_2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1712911606,
 | 
				
			||||||
 | 
					        "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
 | 
				
			||||||
 | 
					        "owner": "domenkozar",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "domenkozar",
 | 
				
			||||||
 | 
					        "ref": "devenv-2.21",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1692808169,
 | 
				
			||||||
 | 
					        "narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "9201b5ff357e781bf014d0330d18555695df7ba8",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-lib": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1714640452,
 | 
				
			||||||
 | 
					        "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-regression": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1643052045,
 | 
				
			||||||
 | 
					        "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-regression_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1643052045,
 | 
				
			||||||
 | 
					        "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-stable": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1710695816,
 | 
				
			||||||
 | 
					        "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "614b4613980a522ba49f0d194531beddbb7220d3",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixos-23.11",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1715037484,
 | 
				
			||||||
 | 
					        "narHash": "sha256-OUt8xQFmBU96Hmm4T9tOWTu4oCswCzoVl+pxSq/kiFc=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "ad7efee13e0d216bf29992311536fce1d3eefbef",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "id": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "indirect"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "poetry2nix": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
 | 
					        "nix-github-actions": "nix-github-actions",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "cachix",
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1692876271,
 | 
				
			||||||
 | 
					        "narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "poetry2nix",
 | 
				
			||||||
 | 
					        "rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "poetry2nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pre-commit-hooks": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "flake-compat"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils_2",
 | 
				
			||||||
 | 
					        "gitignore": "gitignore",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "devenv",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs-stable": "nixpkgs-stable"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1713775815,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "pre-commit-hooks.nix",
 | 
				
			||||||
 | 
					        "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "pre-commit-hooks.nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "devenv": "devenv",
 | 
				
			||||||
 | 
					        "devshell": "devshell",
 | 
				
			||||||
 | 
					        "flake-parts": "flake-parts",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_2",
 | 
				
			||||||
 | 
					        "rootdir": "rootdir"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "rootdir": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "narHash": "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY=",
 | 
				
			||||||
 | 
					        "type": "file",
 | 
				
			||||||
 | 
					        "url": "file:///dev/null"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "file",
 | 
				
			||||||
 | 
					        "url": "file:///dev/null"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "systems": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1681028828,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "systems_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1681028828,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "systems_3": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1681028828,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										49
									
								
								flake.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								flake.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    flake-parts.url = "github:hercules-ci/flake-parts";
 | 
				
			||||||
 | 
					    devshell.url = "github:numtide/devshell";
 | 
				
			||||||
 | 
					    devshell.inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    devenv.url = "github:cachix/devenv";
 | 
				
			||||||
 | 
					    devenv.inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rootdir = {
 | 
				
			||||||
 | 
					      url = "file+file:///dev/null";
 | 
				
			||||||
 | 
					      flake = false;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = inputs@{ nixpkgs, flake-parts, devenv, rootdir, ... }:
 | 
				
			||||||
 | 
					    flake-parts.lib.mkFlake { inherit inputs; } {
 | 
				
			||||||
 | 
					      imports = [
 | 
				
			||||||
 | 
					        devenv.flakeModule
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      systems = [ "x86_64-linux" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      perSystem = { inputs', system, pkgs, config, ... }:
 | 
				
			||||||
 | 
					      let
 | 
				
			||||||
 | 
					        rootdirOpt =
 | 
				
			||||||
 | 
					          let
 | 
				
			||||||
 | 
					            rootFileContent = builtins.readFile rootdir.outPath;
 | 
				
			||||||
 | 
					          in
 | 
				
			||||||
 | 
					          pkgs.lib.mkIf (rootFileContent != "") rootFileContent;
 | 
				
			||||||
 | 
					      in
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        devenv.shells.mcu = {
 | 
				
			||||||
 | 
					          devenv.root = rootdirOpt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          packages = with pkgs; [
 | 
				
			||||||
 | 
					            gnumake
 | 
				
			||||||
 | 
					            cmake
 | 
				
			||||||
 | 
					            gcc-arm-embedded
 | 
				
			||||||
 | 
					            python3
 | 
				
			||||||
 | 
					            picotool
 | 
				
			||||||
 | 
					            openocd-rp2040
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          env = {
 | 
				
			||||||
 | 
					            PICO_SDK_PATH = "${pkgs.pico-sdk}/lib/pico-sdk";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1
									
								
								mcu/.envrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								mcu/.envrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					use flake ..#mcu --override-input rootdir "file+file://"<(printf %s "$PWD")
 | 
				
			||||||
							
								
								
									
										1
									
								
								mcu/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								mcu/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					/build/
 | 
				
			||||||
							
								
								
									
										19
									
								
								mcu/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								mcu/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					cmake_minimum_required(VERSION 3.12)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Pull in SDK (must be before project)
 | 
				
			||||||
 | 
					include(pico_sdk_import.cmake)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					project(test_project C CXX ASM)
 | 
				
			||||||
 | 
					set(CMAKE_C_STANDARD 11)
 | 
				
			||||||
 | 
					set(CMAKE_CXX_STANDARD 17)
 | 
				
			||||||
 | 
					set(CMAKE_C_COMPILER_WORKS ON)
 | 
				
			||||||
 | 
					set(CMAKE_CXX_COMPILER_WORKS ON)
 | 
				
			||||||
 | 
					pico_sdk_init()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					add_executable(qclk
 | 
				
			||||||
 | 
					  main.c
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					pico_enable_stdio_usb(qclk 1)
 | 
				
			||||||
 | 
					pico_enable_stdio_uart(qclk 1)
 | 
				
			||||||
 | 
					pico_add_extra_outputs(qclk)
 | 
				
			||||||
 | 
					target_link_libraries(qclk pico_stdlib)
 | 
				
			||||||
							
								
								
									
										58
									
								
								mcu/flake.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								mcu/flake.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    flake-parts.url = "github:hercules-ci/flake-parts";
 | 
				
			||||||
 | 
					    devshell.url = "github:numtide/devshell";
 | 
				
			||||||
 | 
					    devshell.inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = inputs@{ nixpkgs, flake-parts, devshell, ... }:
 | 
				
			||||||
 | 
					    flake-parts.lib.mkFlake { inherit inputs; } {
 | 
				
			||||||
 | 
					      imports = [
 | 
				
			||||||
 | 
					        inputs.flake-parts.flakeModules.easyOverlay
 | 
				
			||||||
 | 
					        devshell.flakeModule
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      systems = [ "x86_64-linux" ];
 | 
				
			||||||
 | 
					      perSystem = { inputs', system, pkgs, config, ... }:
 | 
				
			||||||
 | 
					      let
 | 
				
			||||||
 | 
					      in
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        _module.args.pkgs = import nixpkgs {
 | 
				
			||||||
 | 
					          inherit system;
 | 
				
			||||||
 | 
					          overlays = [
 | 
				
			||||||
 | 
					            devshell.overlays.default
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        overlayAttrs = {
 | 
				
			||||||
 | 
					          # inherit (config.packages) quicfs;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        packages = rec {
 | 
				
			||||||
 | 
					          # quicfs = (rustPkgs.workspace.quicfs { }).bin;
 | 
				
			||||||
 | 
					          # default = quicfs;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        devshells.default = {
 | 
				
			||||||
 | 
					          packagesFrom = [
 | 
				
			||||||
 | 
					            # (rustPkgs.workspaceShell { })
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					          packages = with pkgs; [
 | 
				
			||||||
 | 
					            gnumake
 | 
				
			||||||
 | 
					            cmake
 | 
				
			||||||
 | 
					            # gcc-arm-embedded-13
 | 
				
			||||||
 | 
					            # coreboot-toolchain.arm
 | 
				
			||||||
 | 
					            python3
 | 
				
			||||||
 | 
					            picotool
 | 
				
			||||||
 | 
					            openocd
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          env = [
 | 
				
			||||||
 | 
					            { name = "PICO_SDK_PATH"; value = "${pkgs.pico-sdk}/lib/pico-sdk"; }
 | 
				
			||||||
 | 
					            # { name = "CC"; value = "${pkgs.coreboot-toolchain.arm}/bin/arm-none-eabi-gcc"; }
 | 
				
			||||||
 | 
					            # { name = "CXX"; value = "${pkgs.coreboot-toolchain.arm}/bin/arm-none-eabi-g++"; }
 | 
				
			||||||
 | 
					            { name = "PICO_TOOLCHAIN_PATH"; value = "/tmp/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi"; }
 | 
				
			||||||
 | 
					            # { name = "CC"; value = "/tmp/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc"; }
 | 
				
			||||||
 | 
					            # { name = "CXX"; value = "/tmp/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-g++"; }
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								mcu/main.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								mcu/main.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include "pico/stdlib.h"
 | 
				
			||||||
 | 
					#include "hardware/gpio.h"
 | 
				
			||||||
 | 
					#include "pico/binary_info.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint LED_PIN = 25;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main() {
 | 
				
			||||||
 | 
					  bi_decl(bi_program_description("This is a test binary."));
 | 
				
			||||||
 | 
					  bi_decl(bi_1pin_with_name(LED_PIN, "On-board LED"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  stdio_init_all();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  gpio_init(LED_PIN);
 | 
				
			||||||
 | 
					  gpio_set_dir(LED_PIN, GPIO_OUT);
 | 
				
			||||||
 | 
					  while (1) {
 | 
				
			||||||
 | 
					    gpio_put(LED_PIN, 0);
 | 
				
			||||||
 | 
					    sleep_ms(250);
 | 
				
			||||||
 | 
					    gpio_put(LED_PIN, 1);
 | 
				
			||||||
 | 
					    puts("Hello World\n");
 | 
				
			||||||
 | 
					    sleep_ms(1000);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										73
									
								
								mcu/pico_sdk_import.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								mcu/pico_sdk_import.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					# This is a copy of <PICO_SDK_PATH>/external/pico_sdk_import.cmake
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This can be dropped into an external project to help locate this SDK
 | 
				
			||||||
 | 
					# It should be include()ed prior to project()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH))
 | 
				
			||||||
 | 
					    set(PICO_SDK_PATH $ENV{PICO_SDK_PATH})
 | 
				
			||||||
 | 
					    message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')")
 | 
				
			||||||
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT))
 | 
				
			||||||
 | 
					    set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT})
 | 
				
			||||||
 | 
					    message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')")
 | 
				
			||||||
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH))
 | 
				
			||||||
 | 
					    set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH})
 | 
				
			||||||
 | 
					    message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')")
 | 
				
			||||||
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK")
 | 
				
			||||||
 | 
					set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable")
 | 
				
			||||||
 | 
					set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (NOT PICO_SDK_PATH)
 | 
				
			||||||
 | 
					    if (PICO_SDK_FETCH_FROM_GIT)
 | 
				
			||||||
 | 
					        include(FetchContent)
 | 
				
			||||||
 | 
					        set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR})
 | 
				
			||||||
 | 
					        if (PICO_SDK_FETCH_FROM_GIT_PATH)
 | 
				
			||||||
 | 
					            get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}")
 | 
				
			||||||
 | 
					        endif ()
 | 
				
			||||||
 | 
					        # GIT_SUBMODULES_RECURSE was added in 3.17
 | 
				
			||||||
 | 
					        if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0")
 | 
				
			||||||
 | 
					            FetchContent_Declare(
 | 
				
			||||||
 | 
					                    pico_sdk
 | 
				
			||||||
 | 
					                    GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk
 | 
				
			||||||
 | 
					                    GIT_TAG master
 | 
				
			||||||
 | 
					                    GIT_SUBMODULES_RECURSE FALSE
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        else ()
 | 
				
			||||||
 | 
					            FetchContent_Declare(
 | 
				
			||||||
 | 
					                    pico_sdk
 | 
				
			||||||
 | 
					                    GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk
 | 
				
			||||||
 | 
					                    GIT_TAG master
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (NOT pico_sdk)
 | 
				
			||||||
 | 
					            message("Downloading Raspberry Pi Pico SDK")
 | 
				
			||||||
 | 
					            FetchContent_Populate(pico_sdk)
 | 
				
			||||||
 | 
					            set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR})
 | 
				
			||||||
 | 
					        endif ()
 | 
				
			||||||
 | 
					        set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE})
 | 
				
			||||||
 | 
					    else ()
 | 
				
			||||||
 | 
					        message(FATAL_ERROR
 | 
				
			||||||
 | 
					                "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git."
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					    endif ()
 | 
				
			||||||
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}")
 | 
				
			||||||
 | 
					if (NOT EXISTS ${PICO_SDK_PATH})
 | 
				
			||||||
 | 
					    message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found")
 | 
				
			||||||
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake)
 | 
				
			||||||
 | 
					if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE})
 | 
				
			||||||
 | 
					    message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK")
 | 
				
			||||||
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include(${PICO_SDK_INIT_CMAKE_FILE})
 | 
				
			||||||
		Reference in New Issue
	
	Block a user