Compare commits
No commits in common. "master" and "csa_mirror" have entirely different histories.
master
...
csa_mirror
26 changed files with 25 additions and 346 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -14,6 +14,9 @@ thhor_crs.xy
|
|||
*.gbr
|
||||
*.cnc
|
||||
*.zip
|
||||
gerber/*.pdf
|
||||
gerber/*.odt
|
||||
gerber/thhor_crs-*.png
|
||||
*.o
|
||||
*.d
|
||||
*.eeprom
|
||||
|
|
@ -25,6 +28,6 @@ sensor/*.pdf
|
|||
vcd
|
||||
*.log
|
||||
sallen-key-pulse.hex
|
||||
|
||||
*~.pcb
|
||||
*.backup
|
||||
*.xy
|
||||
|
|
|
|||
9
gerber/.gitignore
vendored
9
gerber/.gitignore
vendored
|
|
@ -1,9 +0,0 @@
|
|||
*.xy
|
||||
*.gbr
|
||||
*.cnc
|
||||
*.zip
|
||||
*.pdf
|
||||
*.odt
|
||||
*-bot.png
|
||||
*-top.png
|
||||
*.bom
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
PROJ = thhor_crs
|
||||
VERSION = v01
|
||||
include ../gerber.makefile
|
||||
include gerber.makefile
|
||||
|
|
@ -2,10 +2,8 @@
|
|||
# PROJ = …
|
||||
# VERSION = v01
|
||||
|
||||
HERE = ..
|
||||
PCBDIR = $(HERE)/..
|
||||
GERBERS = $(PROJ).plated-drill.cnc
|
||||
GVP2MAKE = $(HERE)/gvp2make.py
|
||||
GVP2MAKE = ./gvp2make.py
|
||||
GV_OPT = -D600
|
||||
|
||||
default: zip bom png
|
||||
|
|
@ -23,21 +21,18 @@ GERBER_AWK = '/- +[-a-z_]+\.[-a-z]+\.[-a-z]+ +[a-z]/{print $$2}'
|
|||
rm -fv $@
|
||||
zip $@ $< $$(awk $(GERBER_AWK) $<)
|
||||
|
||||
%.plated-drill.cnc: $(PCBDIR)/%.pcb
|
||||
%.plated-drill.cnc: ../%.pcb
|
||||
pcb -x gerber --gerberfile $* --name-style single $<
|
||||
|
||||
bom: $(PROJ)_bom.pdf
|
||||
|
||||
%.bom: $(PCBDIR)/%.pcb
|
||||
%.bom: ../%.pcb
|
||||
pcb -x bom --bomfile $@ $<
|
||||
|
||||
%_bom.txt: %.bom
|
||||
bom.py -h $< > $@
|
||||
|
||||
%_bom.pdf: %.bom $(HERE)/bom.py
|
||||
$(word 2,$^) -h $< | utf82pdf > $@
|
||||
%_bom.pdf: %.bom bom.py
|
||||
bom.py -h $< | utf82pdf > $@
|
||||
|
||||
.PRECIOUS: %.plated-drill.cnc %.png
|
||||
|
||||
clean:
|
||||
rm -f *.png *.pdf *.bom *.gbr *.cnc
|
||||
|
|
|
|||
BIN
gerber/thhor_crs.png
Normal file
BIN
gerber/thhor_crs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 172 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 172 KiB |
|
|
@ -1,3 +0,0 @@
|
|||
PROJ = thhor_csa
|
||||
VERSION = v01
|
||||
include ../gerber.makefile
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Project thhor_csa version v01
|
||||
|
||||
Six layer rigid PCB, 6mil/8mil rules, 0.3mm vias, 8mil annular
|
||||
|
||||
- Size: 60x80 mm²
|
||||
- Thickness: 1.6 mm.
|
||||
- With soldermask, no silk.
|
||||
- Surface finish HAL.
|
||||
|
||||
## Copper layer order:
|
||||
|
||||
- thhor_csa.top.gbr top side copper
|
||||
- thhor_csa.ground.gbr chassis/analog ground
|
||||
- thhor_csa.vcc.gbr power Vcc plane
|
||||
- thhor_csa.vss.gbr power Vss plane
|
||||
- thhor_csa.vfet.gbr power Vfet plane
|
||||
- thhor_csa.bottom.gbr back side copper
|
||||
|
||||
## Mechanical layers
|
||||
|
||||
- thhor_csa.plated-drill.cnc drill file
|
||||
- thhor_csa.outline.gbr board outline
|
||||
- thhor_csa.topmask.gbr soldermask top
|
||||
- thhor_csa.bottommask.gbr soldermask bottom
|
||||
|
||||
## Pretty picture
|
||||
|
||||

|
||||
|
|
@ -1,82 +0,0 @@
|
|||
(gerbv-file-version! "2.0A")
|
||||
(define-layer! 14 (cons 'filename "thhor_csa.ground.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(27113 27113 27113))
|
||||
(cons 'alpha #(12079))
|
||||
)
|
||||
(define-layer! 13 (cons 'filename "thhor_csa.vfet.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(65535 50491 34053))
|
||||
(cons 'alpha #(12079))
|
||||
)
|
||||
(define-layer! 12 (cons 'filename "thhor_csa.vss.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(65535 34990 63468))
|
||||
(cons 'alpha #(15163))
|
||||
)
|
||||
(define-layer! 11 (cons 'filename "thhor_csa.vcc.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 24400 24400))
|
||||
(cons 'alpha #(15163))
|
||||
)
|
||||
(define-layer! 10 (cons 'filename "thhor_csa.bottom.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(60294 24022 3320))
|
||||
)
|
||||
(define-layer! 9 (cons 'filename "thhor_csa.bottompaste.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(63479 30069 17733))
|
||||
)
|
||||
(define-layer! 8 (cons 'filename "thhor_csa.bottommask.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(29344 65535 28765))
|
||||
)
|
||||
(define-layer! 7 (cons 'filename "thhor_csa.top.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(63383 4945 17070))
|
||||
(cons 'alpha #(27242))
|
||||
)
|
||||
(define-layer! 6 (cons 'filename "thhor_csa.toppaste.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(65535 2469 0))
|
||||
(cons 'alpha #(23644))
|
||||
)
|
||||
(define-layer! 5 (cons 'filename "thhor_csa.topmask.gbr")
|
||||
(cons 'inverted #t)
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(25200 65535 30627))
|
||||
)
|
||||
(define-layer! 4 (cons 'filename "thhor_csa.plated-drill.cnc")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(61307 61307 61307))
|
||||
(cons 'alpha #(65535))
|
||||
(cons 'attribs (list
|
||||
(list 'autodetect 'Boolean 1)
|
||||
(list 'zero_suppression 'Enum 0)
|
||||
(list 'units 'Enum 0)
|
||||
(list 'digits 'Integer 4)
|
||||
))
|
||||
)
|
||||
(define-layer! 3 (cons 'filename "thhor_csa.bottomsilk.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(0 0 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 2 (cons 'filename "thhor_csa.topsilk.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 1 (cons 'filename "thhor_csa.outline.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(65535 47429 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 0 (cons 'filename "thhor_csa.fab.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
)
|
||||
(define-layer! -1 (cons 'filename "/home/falbala/stephan/eda/thhor_crs/gerber/thhor_csa")
|
||||
(cons 'color #(65535 65535 65535))
|
||||
)
|
||||
(set-render-type! 3)
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
(gerbv-file-version! "2.0A")
|
||||
(define-layer! 14 (cons 'filename "thhor_csa.ground.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(27113 27113 27113))
|
||||
(cons 'alpha #(12079))
|
||||
)
|
||||
(define-layer! 13 (cons 'filename "thhor_csa.vfet.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(65535 50491 34053))
|
||||
(cons 'alpha #(12079))
|
||||
)
|
||||
(define-layer! 12 (cons 'filename "thhor_csa.vss.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(65535 34990 63468))
|
||||
(cons 'alpha #(15163))
|
||||
)
|
||||
(define-layer! 11 (cons 'filename "thhor_csa.vcc.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 24400 24400))
|
||||
(cons 'alpha #(15163))
|
||||
)
|
||||
(define-layer! 10 (cons 'filename "thhor_csa.bottom.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(60294 24022 3320))
|
||||
)
|
||||
(define-layer! 9 (cons 'filename "thhor_csa.bottompaste.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(63479 30069 17733))
|
||||
)
|
||||
(define-layer! 8 (cons 'filename "thhor_csa.bottommask.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(29344 65535 28765))
|
||||
)
|
||||
(define-layer! 7 (cons 'filename "thhor_csa.top.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(63383 4945 17070))
|
||||
(cons 'alpha #(27242))
|
||||
)
|
||||
(define-layer! 6 (cons 'filename "thhor_csa.toppaste.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(65535 2469 0))
|
||||
(cons 'alpha #(23644))
|
||||
)
|
||||
(define-layer! 5 (cons 'filename "thhor_csa.topmask.gbr")
|
||||
(cons 'inverted #t)
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(25200 65535 30627))
|
||||
)
|
||||
(define-layer! 4 (cons 'filename "thhor_csa.plated-drill.cnc")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(61307 61307 61307))
|
||||
(cons 'alpha #(65535))
|
||||
(cons 'attribs (list
|
||||
(list 'autodetect 'Boolean 1)
|
||||
(list 'zero_suppression 'Enum 0)
|
||||
(list 'units 'Enum 0)
|
||||
(list 'digits 'Integer 4)
|
||||
))
|
||||
)
|
||||
(define-layer! 3 (cons 'filename "thhor_csa.bottomsilk.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 2 (cons 'filename "thhor_csa.topsilk.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(0 0 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 1 (cons 'filename "thhor_csa.outline.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(65535 47429 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 0 (cons 'filename "thhor_csa.fab.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
)
|
||||
(define-layer! -1 (cons 'filename "/home/falbala/stephan/eda/thhor_crs/gerber/thhor_csa")
|
||||
(cons 'color #(65535 65535 65535))
|
||||
)
|
||||
(set-render-type! 3)
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
(gerbv-file-version! "2.0A")
|
||||
(define-layer! 14 (cons 'filename "thhor_csa.ground.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(27113 27113 27113))
|
||||
(cons 'alpha #(12079))
|
||||
)
|
||||
(define-layer! 13 (cons 'filename "thhor_csa.vfet.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(65535 50491 34053))
|
||||
(cons 'alpha #(12079))
|
||||
)
|
||||
(define-layer! 12 (cons 'filename "thhor_csa.vss.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(65535 34990 63468))
|
||||
(cons 'alpha #(15163))
|
||||
)
|
||||
(define-layer! 11 (cons 'filename "thhor_csa.vcc.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(0 24400 24400))
|
||||
(cons 'alpha #(15163))
|
||||
)
|
||||
(define-layer! 10 (cons 'filename "thhor_csa.bottom.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(60294 24022 3320))
|
||||
)
|
||||
(define-layer! 9 (cons 'filename "thhor_csa.bottompaste.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(63479 30069 17733))
|
||||
)
|
||||
(define-layer! 8 (cons 'filename "thhor_csa.bottommask.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(29344 65535 28765))
|
||||
)
|
||||
(define-layer! 7 (cons 'filename "thhor_csa.top.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(63383 4945 17070))
|
||||
(cons 'alpha #(27242))
|
||||
)
|
||||
(define-layer! 6 (cons 'filename "thhor_csa.toppaste.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(65535 2469 0))
|
||||
(cons 'alpha #(23644))
|
||||
)
|
||||
(define-layer! 5 (cons 'filename "thhor_csa.topmask.gbr")
|
||||
(cons 'inverted #t)
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(25200 65535 30627))
|
||||
)
|
||||
(define-layer! 4 (cons 'filename "thhor_csa.plated-drill.cnc")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(61307 61307 61307))
|
||||
(cons 'alpha #(65535))
|
||||
(cons 'attribs (list
|
||||
(list 'autodetect 'Boolean 1)
|
||||
(list 'zero_suppression 'Enum 0)
|
||||
(list 'units 'Enum 0)
|
||||
(list 'digits 'Integer 4)
|
||||
))
|
||||
)
|
||||
(define-layer! 3 (cons 'filename "thhor_csa.bottomsilk.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 2 (cons 'filename "thhor_csa.topsilk.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 1 (cons 'filename "thhor_csa.outline.gbr")
|
||||
(cons 'visible #t)
|
||||
(cons 'color #(65535 47429 0))
|
||||
(cons 'alpha #(65535))
|
||||
)
|
||||
(define-layer! 0 (cons 'filename "thhor_csa.fab.gbr")
|
||||
(cons 'visible #f)
|
||||
(cons 'color #(0 0 0))
|
||||
)
|
||||
(define-layer! -1 (cons 'filename "/home/falbala/stephan/eda/thhor_crs/gerber/thhor_csa")
|
||||
(cons 'color #(65535 65535 65535))
|
||||
)
|
||||
(set-render-type! 3)
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 149 KiB |
|
|
@ -21,17 +21,15 @@ const struct config config = {
|
|||
[0] = 0xd1 | FM_READ, // Buffer 1 Read (Low-Frequency)
|
||||
[1] = 0xd3 | FM_READ, // Buffer 2 Read (Low-Frequency)
|
||||
},
|
||||
.page_start = 0x0400,
|
||||
.page_start = 0x0800,
|
||||
.page_end = 0x1000,
|
||||
#ifdef HAVE_nFETs
|
||||
.pwm_min = 0x0000,
|
||||
.pwm_max = 0xffff,
|
||||
#endif
|
||||
#ifdef HAVE_FPGA
|
||||
.fpga_config_page = 0x100,
|
||||
.fpga_config_count = 3955,
|
||||
.dorn_config_page = 8,
|
||||
.dorn_config_count = 1,
|
||||
.fpga_config_page = 8,
|
||||
.fpga_config_count = 504,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ struct config {
|
|||
#ifdef HAVE_FPGA
|
||||
uint16_t fpga_config_page;
|
||||
uint16_t fpga_config_count;
|
||||
uint16_t dorn_config_page;
|
||||
uint16_t dorn_config_count;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
|||
13
src/dose.py
13
src/dose.py
|
|
@ -645,7 +645,7 @@ class dose_cmd(uart.uart):
|
|||
status |= 0x10 # PS_528
|
||||
dest &=~ self.PIPE["FLASH"]
|
||||
if dest & self.PIPE["FPGA"] and not n:
|
||||
n = 512//64 * npages
|
||||
n = 512/64 * npages
|
||||
if dest & self.PIPE["FLASH"]:
|
||||
flash = flags2int(self.FSS, ["Write", "Ready", "P528"])
|
||||
status |= 0x10 # PS_528
|
||||
|
|
@ -661,8 +661,6 @@ class dose_cmd(uart.uart):
|
|||
source, dest, status, valid, 0,
|
||||
astatus, n, psize//2, 0, 0,
|
||||
page, npages-1, flash)
|
||||
if self._verbose >= 2:
|
||||
print(f"PIPE {n=} {b2hex(d)}", file=sys.stderr)
|
||||
return self.cmd(c, d)
|
||||
|
||||
def erase_flash(self, page, npages=1):
|
||||
|
|
@ -744,7 +742,7 @@ class dose_cmd(uart.uart):
|
|||
f.close()
|
||||
return result
|
||||
|
||||
def write_pipe(self, data=[], timeout=2, n=None, parity=None, bfill=b'\0', pfill=b'\xff'):
|
||||
def write_pipe(self, data=[], timeout=2, n=None, parity="pipe", bfill=b'\0', pfill=b'\xff'):
|
||||
if isinstance(data, str):
|
||||
f = open(data, "rb")
|
||||
data = []
|
||||
|
|
@ -806,7 +804,7 @@ class dose_cmd(uart.uart):
|
|||
s = 1
|
||||
if nn:
|
||||
break
|
||||
if parity and bb != b:
|
||||
if bb != b:
|
||||
raise ValueError(f"block number mismatch {b=} != {bb=}")
|
||||
if b >= len(page):
|
||||
break
|
||||
|
|
@ -842,11 +840,6 @@ class dose_cmd(uart.uart):
|
|||
self.pipe("CMD", "CONFIG", n=n*64)
|
||||
self.write_pipe(filename, n=n)
|
||||
|
||||
def fpga_config_f(self, filename="../fpga/quartus/thhor_crs.rbf"):
|
||||
self.fpga_reset()
|
||||
n = os.stat(filename).st_size
|
||||
self.pipe("FLASH", "CONFIG", page=0x100, n=n)
|
||||
|
||||
def fix_page(self, page):
|
||||
if self.load_galois():
|
||||
page = bch.fix_page(page)
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ uint8_t fpga_pipe_ready()
|
|||
const struct pipe pipe_config_fpga_config = {
|
||||
.source = pipe_flash,
|
||||
.dest = pipe_fpga,
|
||||
.status = PS_BCH | PS_528 | PS_OUT,
|
||||
.status = PS_BCH | PS_528,
|
||||
.fpga = {
|
||||
.status = AS_CONFIG,
|
||||
},
|
||||
|
|
@ -179,5 +179,5 @@ void fpga_config(uint16_t page, uint16_t count)
|
|||
fpga_reset();
|
||||
pipe = pipe_config_fpga_config;
|
||||
pipe.fpga.count = count;
|
||||
flash_start_stream(page, count >> 3, FS_Read|FS_528|FS_Ready);
|
||||
flash_start_stream(page, count >> 3, FS_Read|FS_528);
|
||||
}
|
||||
|
|
|
|||
10
src/pipe.c
10
src/pipe.c
|
|
@ -22,8 +22,6 @@ uint8_t pipe_busy()
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint8_t pipe_sleep;
|
||||
|
||||
uint8_t pipe_poll()
|
||||
{
|
||||
/************************************************************
|
||||
|
|
@ -49,7 +47,6 @@ uint8_t pipe_poll()
|
|||
// the data goes nowhere.
|
||||
uint8_t r = pipe.status;
|
||||
uint8_t dest = pipe.dest;
|
||||
pipe_sleep = 1;
|
||||
|
||||
if (pipe_busy() || !dest)
|
||||
return r;
|
||||
|
|
@ -68,11 +65,10 @@ uint8_t pipe_poll()
|
|||
if (dest & pipe_cmd && valid & 0x1f)
|
||||
// cmd did not drain the buffer, yet
|
||||
goto done;
|
||||
if (dest & pipe_flash && ~fs.status & FS_Ready) {
|
||||
if (dest & pipe_flash && ~fs.status & FS_Ready)
|
||||
// flash did not finish yet, successfully
|
||||
pipe_sleep = ~fs.status & FS_Busy;
|
||||
goto done;
|
||||
}
|
||||
|
||||
// Return if next ADC reading is not yet due.
|
||||
// Come back here, until is is.
|
||||
|
||||
|
|
@ -83,7 +79,6 @@ uint8_t pipe_poll()
|
|||
// We are done with this buffer
|
||||
|
||||
r &=~ PS_OUT;
|
||||
pipe_sleep = 0;
|
||||
|
||||
// Continue the flash stream.
|
||||
|
||||
|
|
@ -205,7 +200,6 @@ adc_done:
|
|||
goto done;
|
||||
|
||||
// The buffer is full, send it.
|
||||
pipe_sleep = 0;
|
||||
r |= PS_OUT;
|
||||
|
||||
#ifdef HAVE_FPGA
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ struct pipe {
|
|||
#endif
|
||||
} pipe;
|
||||
|
||||
extern uint8_t pipe_sleep;
|
||||
|
||||
struct pipe_config {
|
||||
struct pipe pipe;
|
||||
uint16_t page;
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ int main()
|
|||
// The sleep command will execute even when an irq becomes
|
||||
// pending after cli(). It will wake us immediately.
|
||||
cli();
|
||||
if (!command_pending() && pipe_sleep) {
|
||||
if (!command_pending() || adc_busy() || spi_busy_p()) {
|
||||
sei();
|
||||
sleep_cpu();
|
||||
}
|
||||
|
|
@ -56,7 +56,5 @@ int main()
|
|||
command();
|
||||
if (~magic.flags & hold_pipe)
|
||||
pipe_poll();
|
||||
else
|
||||
pipe_sleep = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 934 KiB |
|
|
@ -9,8 +9,8 @@ Grid[0.5000mm 0.0000 0.0000 1]
|
|||
PolyArea[200000000.000000]
|
||||
Thermal[0.500000]
|
||||
DRC[0.1999mm 0.0100mm 0.1500mm 0.0025mm 0.3000mm 0.2000mm]
|
||||
Flags("nameonpcb,alldirection,clearnew,thindrawpoly")
|
||||
Groups("1,c:2:5:4:3:6,s:7:8")
|
||||
Flags("nameonpcb,alldirection,clearnew,thindrawpoly,locknames")
|
||||
Groups("1,c:2:3:4:5:6,s:7:8")
|
||||
Styles["Signal,0.2000mm,0.7000mm,0.3000mm,0.2000mm,0.5000mm:Power,0.6000mm,1.0000mm,0.5000mm,0.2000mm,0.8000mm:Fat,1.0000mm,4.0000mm,2.2000mm,0.2000mm,4.1000mm:Skinny,0.1524mm,0.6101mm,0.3000mm,0.1524mm"]
|
||||
Symbol[' ' 0.4572mm]
|
||||
(
|
||||
|
|
@ -7581,7 +7581,6 @@ Layer(1 "top" "copper")
|
|||
Text[21.5000mm 43.0000mm 0 261 "THHOR CSA V01M" "clearline"]
|
||||
Text[20.9000mm 39.1000mm 1 168 "2026-05-04 SiB" "clearline"]
|
||||
Text[23.3000mm 39.1000mm 1 152 "FORGE.BEXUS.ORG" "clearline"]
|
||||
Text[55.5000mm 27.5000mm 1 300 "1" "clearline"]
|
||||
Polygon("via")
|
||||
(
|
||||
[22.2000mm 15.2000mm] [22.1933mm 15.2368mm] [22.1862mm 15.2714mm] [22.1246mm 15.6076mm] [22.1035mm 15.6311mm]
|
||||
|
|
@ -7631,25 +7630,17 @@ Layer(1 "top" "copper")
|
|||
)
|
||||
Layer(2 "ground" "copper")
|
||||
(
|
||||
Text[55.5000mm 25.5000mm 1 300 "2" "clearline"]
|
||||
Polygon("clearpoly")
|
||||
(
|
||||
[65.0000mm 83.5000mm] [63.5000mm 85.0000mm] [7.5000mm 85.0000mm] [6.0000mm 83.5000mm] [6.0000mm 7.5000mm]
|
||||
[7.5000mm 6.0000mm] [63.5000mm 6.0000mm] [65.0000mm 7.5000mm]
|
||||
Hole (
|
||||
[55.5000mm 12.0000mm] [55.5000mm 28.5000mm] [60.0000mm 28.5000mm] [60.0000mm 12.0000mm]
|
||||
)
|
||||
[65.0000mm 83.5000mm] [65.0000mm 7.5000mm] [63.5000mm 6.0000mm] [7.5000mm 6.0000mm] [6.0000mm 7.5000mm]
|
||||
[6.0000mm 83.5000mm] [7.5000mm 85.0000mm] [63.5000mm 85.0000mm]
|
||||
)
|
||||
)
|
||||
Layer(3 "vfet" "copper")
|
||||
(
|
||||
Text[55.5000mm 17.0000mm 1 300 "5" "clearline"]
|
||||
Polygon("clearpoly")
|
||||
(
|
||||
[6.0000mm 6.0000mm] [65.0000mm 6.0000mm] [65.0000mm 85.0000mm] [6.0000mm 85.0000mm]
|
||||
Hole (
|
||||
[55.5000mm 12.0000mm] [55.5000mm 28.5000mm] [60.0000mm 28.5000mm] [60.0000mm 12.0000mm]
|
||||
)
|
||||
)
|
||||
)
|
||||
Layer(4 "vss" "copper")
|
||||
|
|
@ -7690,7 +7681,6 @@ Layer(4 "vss" "copper")
|
|||
Line[58.3000mm 71.6000mm 58.8000mm 71.6000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Line[58.8000mm 71.6000mm 61.1000mm 69.3000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Line[61.1000mm 69.3000mm 61.1000mm 57.2000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Text[55.5000mm 20.0000mm 1 300 "4" "clearline"]
|
||||
Polygon("clearpoly")
|
||||
(
|
||||
[65.0000mm 39.0000mm] [40.0000mm 39.0000mm] [34.5000mm 33.5000mm] [34.5000mm 6.0000mm] [6.0000mm 6.0000mm]
|
||||
|
|
@ -7709,7 +7699,6 @@ Layer(5 "vcc" "copper")
|
|||
Line[16.1000mm 66.3000mm 16.3000mm 70.4000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Line[10.2000mm 57.3000mm 10.2000mm 64.8000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Line[11.7000mm 66.3000mm 10.2000mm 64.8000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Text[55.5000mm 22.5000mm 1 300 "3" "clearline"]
|
||||
Polygon("clearpoly")
|
||||
(
|
||||
[34.5000mm 6.0000mm] [6.0000mm 6.0000mm] [6.0000mm 56.5000mm] [65.0000mm 56.5000mm] [65.0000mm 39.0000mm]
|
||||
|
|
@ -8351,7 +8340,6 @@ Layer(6 "bottom" "copper")
|
|||
Line[54.8000mm 72.1000mm 55.6000mm 72.1000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Line[55.6000mm 70.4000mm 55.6000mm 72.1000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Line[54.1000mm 70.4000mm 53.1000mm 72.1000mm 0.2000mm 0.4000mm "clearline"]
|
||||
Text[55.5000mm 13.0000mm 1 300 "6" "clearline,onsolder"]
|
||||
)
|
||||
Layer(7 "outline" "outline")
|
||||
(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue