From 33c340749c5728136461b898a74478be5b148b6a Mon Sep 17 00:00:00 2001 From: vx-clutch Date: Fri, 27 Mar 2026 15:38:41 -0400 Subject: [PATCH] first commit --- LICENSE | 15 +++++++++++++++ Makefile | 30 ++++++++++++++++++++++++++++++ README | 23 +++++++++++++++++++++++ config.mk | 12 ++++++++++++ frcctrlmgr | Bin 0 -> 11144 bytes src/frcctrlmgr.c | 22 ++++++++++++++++++++++ src/frcctrlmgr.h | 11 +++++++++++ src/frcctrlmgr.o | Bin 0 -> 1736 bytes 8 files changed, 113 insertions(+) create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README create mode 100644 config.mk create mode 100755 frcctrlmgr create mode 100644 src/frcctrlmgr.c create mode 100644 src/frcctrlmgr.h create mode 100644 src/frcctrlmgr.o diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8990af7 --- /dev/null +++ b/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2026 vxc + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..973f61f --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +include config.mk + +OBJ = src/frcctrlmgr.o +BIN = frcctrlmgr + +all: $(BIN) + +$(BIN): $(OBJ) + $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LDLIBS) + +install: all + mkdir -p $(DESTDIR)$(PREFIX)/bin + cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN) + rm -f $(DESTDIR)$(MANPREFIX)/man8/$(BIN).8 + +dist: clean + mkdir -p frcctrlmgr-$(VERSION) + cp LICENSE Makefile README config.mk src/frcctrlmgr.c src/frcctrlmgr.h frcctrlmgr-$(VERSION) + tar -cf frcctrlmgr-$(VERSION).tar frcctrlmgr-$(VERSION) + gzip frcctrlmgr-$(VERSION).tar + rm -rf frcctrlmgr-$(VERSION) + +clean: + rm -f $(BIN) $(OBJ) frcctrlmgr-$(VERSION).tar.gz + +.PHONY: + all install uninstall dist clean diff --git a/README b/README new file mode 100644 index 0000000..68412f4 --- /dev/null +++ b/README @@ -0,0 +1,23 @@ +frcctrlmgr - FRC Control Manager +================================ + +frcctrlmgr is a fast and simple tool for generating reference documents of your +control scheme. + +Why? +---- + +I wanted to have an easy way to visualize the controls. + +How? +---- + +The main way to use this is to invoke in the shell with the root of the +project. i.e. + + frcctrlmgr . + frcctrlmgr path/to/project/ + +This is tested on the Adambots 2026 repository. + +[1] https://github.com/Adambots245/Adambots2026 diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..63eb805 --- /dev/null +++ b/config.mk @@ -0,0 +1,12 @@ +# frcctrlmgr version +VERSION = 0.1 + +# paths +PREFIX = /usr/local +MANPREFIX = $(PREFIX)/share/man + +CC = cc +LD = $(CC) +CPPFLAGS = +CFLAGS = -Wextra -Wall -Os +LDFLAGS = -s diff --git a/frcctrlmgr b/frcctrlmgr new file mode 100755 index 0000000000000000000000000000000000000000..5998288d537016dcd4675a7e08206306e0e5eea6 GIT binary patch literal 11144 zcmeHNU2GiH6+XM0pXG1835mK*AQ_N}9AL-0{!6liGPaX=Orv6K5*`X&#=C3p277n4 zI|~j{TbGnb4m=pCt@7L_9(gF0pNNqQv{I!SRjMqdl_Cm~BU+SFKvpZVJ?GwYobj-> zs#fYt=SVZ>o}cfYbI;7|oqKnFc=GhAa3};qVfYr1v>dUNN}mCu?Mh_bQMd~%H~{y; z4%BSJ!%`OFx+Q!itPR4W>=!{!IEb?%Zs`W|dsr=8G9NyM!UTuXF)H2LGLFm8o$!VUHpF7d`bcJu#9yb;DN@6sJF@3K@w_`_Na z!X@65h@*P`yCk>OD979E`bGJ=377kf;_ktNF2m4w&cKHqdt+BFu09#5{9$&!^NVl) zvmJi@_qGH7urK^2YQMVur z6X}7MNv5#Zmr?A0YIyGRGjm^!rLP|Q(+}<&e)aet-(J8Pt^OX3uPiohzjB47w@|X1 zOP^f*ZhG0|ag zYY{v2p8dg1ch`CkJGloxp7Nc2bPkh(#@%P^xsO+0!lAvl{YBJ-o?ZG{Jo5kK62N-x zH&k1dAUFjT2r3X%AgDl4fuI6G1%e6$6$mP@Nd-EmO5=S!om2VbRH@vUNzNSYOZN4c z^@`c05VSCnW0Njgs%fpZyM=}NYNbzXqPI|Q;PEx8HrzU7vzUG^TX&tBo1Jz_WvIKg z+;kO4O@ruzq0_?ygV`>#%j{imclRK2a=KDxWR`jl<61AG#!6BM<%7s&9og7dx{X$Y zhgtWF*MEjX3_~wDBdv5=iqp7hj6&BudRfaV8?L8_cH$vh2P8*5dfoycwaP~|_>@c* z3sY4nI`w?<`EyRan1BAE+l$CA6YeuyG$KnOe}-fvTH_Lh zUK)kaOgyyz&YjVD8~}}*_FmpZ>>+YEu`^D(6du1to$SH1lL?Om>c|GM_^DXp@wPi& zjLyPi`yP3)yZwGrci=IFhk<@aNHGwLzZO0bOI(Z$#*7Qwim}9CEIttP?n_XA6o=N| z;aOOu`blj=5ZWMzeKPq{zT{7MBC4mi)=C+if(ir`2r3X%AgDl4fuI6G1%e9vA5`GY zZI&A4EOU9UrZo@IotnY%h^1P0vAn?k-(*?-2i?!Iyua^b8B9yHu)IT|04$boXZZ={cQB`QBhg;X*3YtbTIKbZy!Wd$3VO-9ht^+2-_Q(Z`2R@J z+bm1og2%<6B8h*qsmGIGfBX|mjZf-&gXJjO8U8oM|7@nGn(jJw3`WmpYK?NaRGu^@b2&d2 z2F_-ja=9{IDz`KbJ)KF-9Le{kdi%Nz)9kFDujdQZdMEBkbUNduWVzxN%p8o3WV&H& zFq4MCQ<s>c=idhBG}db~2NK(iomLq);lCT#Topa9efB?G3)T0pXT% z$y#BmlG8b+44+Q*rCn-vret%poNl@ zHpX$LOF2xUf?@Dvs(3ouc)bp0t};DcD5H@dI8_4FuNT2|T(?#lZ@7gz-Dv+k(eJT$ zFDt>{*0ICGno(`J6I|A>2dxcm-$67e*E`+_~$tObBveYZNaPO3kBhn zpEo{zEI~BS_(Np$kl;l1AU3>sd4?7^QJFu*-=9C_M|hd1fag6)Q07m;`_h4dg3yha}8(kFn z^B+Ym&6$Fic{0l13Ca8~am7zKZQ;@!EV9hQ3C2@>iTwF%EkGF?bWH>=^SmVEyw-}%XVqu}`QfR7MM z*H7^Bf5HmCkc%I>C=$Hz>!|hO<-K>6@g0m4COF}r`S9_SrCj5NV(Q-3Eq$g~URpze z`jY(jFn*7rz5Lh9kN*nYNGH#!M&Wz9p0}-aohyI7wz)SPcDfO eOL_j}KE>dK58rA$GIov7=au_4f5?aTiSRF^^mIc2 literal 0 HcmV?d00001 diff --git a/src/frcctrlmgr.c b/src/frcctrlmgr.c new file mode 100644 index 0000000..503cea1 --- /dev/null +++ b/src/frcctrlmgr.c @@ -0,0 +1,22 @@ +#include "frcctrlmgr.h" + +char *argv0; + +void usage(int code) { + printf("usage: %s: [-h help] [-v]\n", argv0); + exit(code); +} + +int main(int argc, char *argv[]) { + argv0 = argv[0]; + + for (int i = 0; i < argc; ++i) { + if (STRCMP("--help")) + usage(0); + if (STRCMP("-h")) + usage(0); + if (STRCMP("-v")) + printf("%s/%s\n", argv0, VERSION); + } + return 0; +} diff --git a/src/frcctrlmgr.h b/src/frcctrlmgr.h new file mode 100644 index 0000000..7ed9b08 --- /dev/null +++ b/src/frcctrlmgr.h @@ -0,0 +1,11 @@ +#ifndef FRCCTRLMGR_H_ +#define FRCCTRLMGR_H_ + +#define VERSION "0.1" + +#include +#include + +#define STRCMP(x) !strcmp(argv[i], x) + +#endif // FRCTRLMGR_H_ diff --git a/src/frcctrlmgr.o b/src/frcctrlmgr.o new file mode 100644 index 0000000000000000000000000000000000000000..d5c0a94bd90b5c5e83423a54fdffc0f19eaf10dd GIT binary patch literal 1736 zcmbtT&ubG=5S~qOc*}O?MYkJXv$;|h?Z{C~tGP`x_&h3OG0hnRz)aG%$mTJMoV?QrfYe@hA6k}C+nW!SfaiE4wJY8{r7bDsOeD< z$$37Rn!<#*p*KRTqmQz9J-t88=D*g{{L`KV^r-0q9FLNi^Z6V}M|u4I_mLyx`R$=W zJ>zSb(Cp|;aHPROTMd5!CNR=G@^_dO{1QewKQAzcHzGODgoxZX#|OxB9+ke2f=C|M zR&b5J1<`I_*%4X1FYcd(TbR(E@%ryVP-3Bo@%l~VN4?*w*pT0e-jBXru4jJK*>u!p tanW}K&<>*0Iq~`f$i-(5DflAlPZNlkp!>{W%tqC>MgQA{{c$qjY9wc literal 0 HcmV?d00001