firmware+controller: Initial USB device
This commit is contained in:
		
							
								
								
									
										2
									
								
								controller/.envrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								controller/.envrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
watch_file default.nix
 | 
			
		||||
use flake ..#controller --override-input rootdir "file+file://"<(printf %s "$PWD")
 | 
			
		||||
							
								
								
									
										1
									
								
								controller/.python-version
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								controller/.python-version
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
3.13
 | 
			
		||||
							
								
								
									
										30
									
								
								controller/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								controller/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
{
 | 
			
		||||
  perSystem = { libMy, pkgs, ... }: {
 | 
			
		||||
    devenv.shells.controller = libMy.withRootdir {
 | 
			
		||||
      languages = {
 | 
			
		||||
        python = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          version = "3.13";
 | 
			
		||||
          libraries = with pkgs; [
 | 
			
		||||
            libusb1
 | 
			
		||||
          ];
 | 
			
		||||
          uv = {
 | 
			
		||||
            enable = true;
 | 
			
		||||
            sync.enable = true;
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      packages = with pkgs; [ ];
 | 
			
		||||
 | 
			
		||||
      env = { };
 | 
			
		||||
 | 
			
		||||
      scripts = {
 | 
			
		||||
        # build.exec = ''
 | 
			
		||||
        #   cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -D PICO_STDIO_SEMIHOSTING=1
 | 
			
		||||
        #   cmake --build build --parallel
 | 
			
		||||
        # '';
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								controller/pyproject.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								controller/pyproject.toml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
[project]
 | 
			
		||||
name = "valconomy"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
description = "Valconomy controller"
 | 
			
		||||
requires-python = ">=3.13"
 | 
			
		||||
dependencies = [
 | 
			
		||||
    "pyusb>=1.2.1",
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										22
									
								
								controller/uv.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								controller/uv.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
version = 1
 | 
			
		||||
requires-python = ">=3.13"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pyusb"
 | 
			
		||||
version = "1.2.1"
 | 
			
		||||
source = { registry = "https://pypi.org/simple" }
 | 
			
		||||
sdist = { url = "https://files.pythonhosted.org/packages/d9/6e/433a5614132576289b8643fe598dd5d51b16e130fd591564be952e15bb45/pyusb-1.2.1.tar.gz", hash = "sha256:a4cc7404a203144754164b8b40994e2849fde1cfff06b08492f12fff9d9de7b9", size = 75292 }
 | 
			
		||||
wheels = [
 | 
			
		||||
    { url = "https://files.pythonhosted.org/packages/15/a8/4982498b2ab44d1fcd5c49f07ea3795eab01601dc143b009d333fcace3b9/pyusb-1.2.1-py3-none-any.whl", hash = "sha256:2b4c7cb86dbadf044dfb9d3a4ff69fd217013dbe78a792177a3feb172449ea36", size = 58439 },
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "valconomy"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
source = { virtual = "." }
 | 
			
		||||
dependencies = [
 | 
			
		||||
    { name = "pyusb" },
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[package.metadata]
 | 
			
		||||
requires-dist = [{ name = "pyusb", specifier = ">=1.2.1" }]
 | 
			
		||||
							
								
								
									
										8
									
								
								controller/valconomy.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								controller/valconomy.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
import usb.core
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
  print(usb.core.find(idVendor=0x6969, idProduct=0x0004))
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
  main()
 | 
			
		||||
		Reference in New Issue
	
	Block a user