hrithik18k/open-ring-flex
A flexible wearable PCB integrating inductive battery charging, BLE control with SPI flash and 32 MHz crystal, SAM L10 capacitive touch/wear sensing, haptic MOSFET drive with a large capacitor bank, RF antenna matching, and SWD programming/test connectors.
- Version
- 1.0.4
- License
- CC-BY-NC-SA-4.0
- Stars
- 0
scripts/audit-mapping.py
import json
from pathlib import Path
original=json.loads(Path('source-data/original-netlist.json').read_text());adapted=json.loads(Path('source-data/adapted-netlist.json').read_text())
seen={}
for n in adapted:
for p in n['pins']:
assert p not in seen or seen[p]==n['name'],(p,seen.get(p),n['name'])
seen[p]=n['name']
assert len(original)==len(adapted)==47
assert all(len(n['pins'])>=1 for n in adapted)
assert len(json.loads(Path('source-data/bom.json').read_text()))==73
print('PASS: 47 nets; no physical pin assigned to two nets; all 73 populated parts have JLC IDs.')