These will be integrated into the code shortly..irr_shared
@@ -210,3 +210,19 @@ init-$($(module)_NAME): | |||||
update-$($(module)_NAME): | update-$($(module)_NAME): | ||||
git subtree pull -P $($(module)_NAME) --squash $($(module)_REPO) $($(module)_BRANCH) | git subtree pull -P $($(module)_NAME) --squash $($(module)_REPO) $($(module)_BRANCH) | ||||
.endfor | .endfor | ||||
# Making diagrams, imported from fbsdembdev | |||||
# ========================================= | |||||
# https://github.com/ironcamel/Graph-Easy | |||||
.SUFFIXES: .getxt .diag .html | |||||
.getxt.diag: box.sh | |||||
graph-easy < $< | sh $(.CURDIR)/box.sh > $@ | |||||
.diag.html: | |||||
(cat $<; echo; echo '<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>') > $@ | |||||
DIAG?=diag | |||||
test-diag: | |||||
ls $(.CURDIR)/box.sh $(.CURDIR)/$(DIAG).getxt $(.CURDIR)/Makefile | entr sh -c 'cd $(.CURDIR) && $(MAKE) $(.MAKEFLAGS) $(DIAG).diag && cat $(MAKEOBJDIR)/$(DIAG).diag' |
@@ -0,0 +1,3 @@ | |||||
[ lora.py ] -- { label: multicast } [ loraserv.py ] | |||||
[ loraserv.py ] -- { label: "USB VCP" } [ lora.gw.elf\nmain.c ] | |||||
[ lora.gw.elf\nmain.c ] -- { label: LoRa } [ lora.irr.elf\nirr_main.c ] |
@@ -0,0 +1,74 @@ | |||||
#!/bin/sh | |||||
fname=$(mktemp foobar.XXXXX) | |||||
cat > "$fname" | |||||
awk ' | |||||
maxline == 1 { | |||||
if (maxlength < length) | |||||
maxlength = length | |||||
} | |||||
function printtop () { | |||||
blank = sprintf("%*s", maxlength + 4, "") | |||||
gsub(" ", "*", blank) | |||||
printf("%s\n", blank) | |||||
} | |||||
function printline(a) | |||||
{ | |||||
printf("* %s%*s *\n", a, maxlength - length(a), "") | |||||
} | |||||
# return the string a, with the character at pos, replaced with chr | |||||
function replace(a, pos, chr) | |||||
{ | |||||
return substr(a, 1, pos - 1) chr substr(a, pos + 1) | |||||
} | |||||
output == 1 && FNR == 1 { | |||||
printtop() | |||||
printf("* %*s *\n", maxlength, "") | |||||
prevline = $0 | |||||
next | |||||
} | |||||
output == 1 { | |||||
# fix up horizontal issues | |||||
gsub("\\|-", "+-", prevline) | |||||
gsub("\\| -", "+--", prevline) | |||||
gsub("-\\|", "-+", prevline) | |||||
gsub("- \\|", "--+", prevline) | |||||
# Fix up vertical issues | |||||
# first fix edges from below | |||||
r = split($0, a, "|") | |||||
pos = 0 | |||||
for (i = 2; i <= r; i++) { | |||||
pos += length(a[i - 1]) + 1 | |||||
if (substr(prevline, pos, 1) == "-") | |||||
prevline = replace(prevline, pos, "+") | |||||
} | |||||
# fix edges from above | |||||
r = split(prevline, a, "|") | |||||
pos = 0 | |||||
for (i = 2; i <= r; i++) { | |||||
pos += length(a[i - 1]) + 1 | |||||
if (substr($0, pos, 1) == "-") | |||||
$0 = replace($0, pos, "+") | |||||
} | |||||
printline(prevline) | |||||
prevline = $0 | |||||
} | |||||
END { | |||||
printline(prevline) | |||||
printf("* %*s *\n", maxlength, "") | |||||
printtop() | |||||
} | |||||
' maxline=1 "$fname" maxline=0 output=1 "$fname" | |||||
rm "$fname" |
@@ -0,0 +1,6 @@ | |||||
[ 24V AC ] -- { label: "~/~" } [ AC-DC PS 5V ] | |||||
[ AC-DC PS 5V ] -- { label: GND } [ Relay ] | |||||
[ AC-DC PS 5V ] -- { label: "+5V -> JD-VCC" } [ Relay ] | |||||
[ AC-DC PS 5V ] -- { label: GND } [ Node151 ] | |||||
[ AC-DC PS 5V ] -- { label: "+5V -> VUSB" } [ Node151 ] | |||||
[ Node151 ] -- { label: GPIO } [ Relay ] |