diff options
author | joe <rbo@gmx.us> | 2025-09-20 16:31:48 +0200 |
---|---|---|
committer | joe <rbo@gmx.us> | 2025-09-20 16:31:48 +0200 |
commit | 4baef6078163edf6ad761e37d74dbf9330f9670b (patch) | |
tree | e163f2784fa7dfe9f8ba447e0d3103c7b43e9891 | |
parent | good (diff) | |
download | halfcab-4baef6078163edf6ad761e37d74dbf9330f9670b.tar.gz halfcab-4baef6078163edf6ad761e37d74dbf9330f9670b.tar.bz2 halfcab-4baef6078163edf6ad761e37d74dbf9330f9670b.tar.xz halfcab-4baef6078163edf6ad761e37d74dbf9330f9670b.tar.zst halfcab-4baef6078163edf6ad761e37d74dbf9330f9670b.zip |
c
Diffstat (limited to '')
-rw-r--r-- | Makefile | 59 | ||||
-rw-r--r-- | src/c_halfcab.c | 62 | ||||
-rw-r--r-- | src/c_halfcab.h | 53 | ||||
-rw-r--r-- | src/esp/halfcab/halfcab.ino (renamed from esp/halfcab/halfcab.ino) | 2 |
4 files changed, 168 insertions, 8 deletions
@@ -16,20 +16,29 @@ # # GNU Makefile -default: esp +default: debug + +SHELL := /bin/sh +OS = $(shell /usr/bin/uname) ESP_DIR = esp/halfcab/ OBJ_DIR = obj/ SRC_DIR = src/ -TRGT_DIR = ./ +TRG_DIR = ./ ESP_FQBN = esp8266:esp8266:d1_mini ESP_DEV = /dev/ttyUSB0 -TRGT_NAME = hc +TARGET = hc ESP_NAME = halfcab.ino +SRC_NAME = c_halfcab + +SRCS = $(addprefix ${SRC_DIR}, $(addsuffix .c, ${SRC_NAME})) +INCS = $(addprefix ${SRC_DIR}, $(addsuffix .h, ${SRC_NAME})) +OBJS = $(patsubst ${SRC_DIR}%.c, ${OBJ_DIR}%.c.o, ${SRCS}) + ARDUINO = arduino-cli CC = cc CFLAGS = -std=c89 @@ -40,16 +49,52 @@ CFLAGS += -pedantic CFLAGS += -march=haswell CFLAGS += -O2 CFLAGS += -pipe +# ifeq (${OS}, Linux) +# CFLAGS += -D_GNU_SOURCE +# endif + +ifeq (${OS}, Linux) +CINCS = -isystem /usr/include +endif + +MKDIR = mkdir -p +RMDIR = rmdir +RM = rm -rf + +${OBJ_DIR}%.c.o: ${SRC_DIR}%.c ${INCS} Makefile + ${CC} ${CFLAGS} -c ${CINCS} -o $@ $< + +${OBJ_DIR}: + ${MKDIR} ${OBJ_DIR} + +${TRG_DIR}${TARGET}: ${OBJ_DIR} ${OBJS} + ${CC} ${CFLAGS} -o $@ ${OBJS} ${LDFLAGS} + +debug: CFLAGS += -O0 +debug: CFLAGS += -g3 +debug: all + +asan: CFLAGS += -O0 +asan: CFLAGS += -g3 +asan: CFLAGS += -fsanitize=address +asan: all + +clean: + ${RM} ${OBJS} vgcore.* ${TARGET}.core ${TARGET} ${OBJ_DIR} esp: - ${ARDUINO} compile -v -j8 --warnings all --fqbn ${ESP_FQBN} ${ESP_DIR} - ${ARDUINO} upload -p ${ESP_DEV} --fqbn ${ESP_FQBN} ${ESP_DIR} + ${ARDUINO} compile -v -j8 --warnings all --fqbn ${ESP_FQBN} ${SRC_DIR}${ESP_DIR} + ${ARDUINO} upload -p ${ESP_DEV} --fqbn ${ESP_FQBN} ${SRC_DIR}${ESP_DIR} attach: - ${ARDUINO} board attach -p ${ESP_DEV} -b ${ESP_FQBN} ${ESP_DIR}${ESP_NAME} + ${ARDUINO} board attach -p ${ESP_DEV} -b ${ESP_FQBN} ${SRC_DIR}${ESP_DIR}${ESP_NAME} mon: ${ARDUINO} monitor -p ${ESP_DEV} -b ${ESP_FQBN} --config 115200 --config 'rts=off' --config 'dtr=off' --quiet +all: esp ${TRG_DIR}${TARGET} + +run: debug + ${TRG_DIR}${TARGET} -.PHONY: esp attach mon +.PHONY: esp attach mon hc diff --git a/src/c_halfcab.c b/src/c_halfcab.c new file mode 100644 index 0000000..68943f0 --- /dev/null +++ b/src/c_halfcab.c @@ -0,0 +1,62 @@ +/* + * ===================== + * ==== =============== + * ===================== + * === === ==== == + * ==== == == = = + * ==== == = == = + * ==== == = == ==== + * ==== == = == = = + * = = === ==== == + * == ================ + * ===================== + * + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 2025, joe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the organization nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * halfcab: src/c_halfcab.c + * Sat, 20 Sep 2025 16:24:57 +0200 + * joe <rbo@gmx.us> + * + * the main + */ + +#include <stdlib.h> + +int +main +(int argc, + const char* argv[]) +{ + (void)argc; + (void)argv; + return (EXIT_SUCCESS); +} diff --git a/src/c_halfcab.h b/src/c_halfcab.h new file mode 100644 index 0000000..f938c8f --- /dev/null +++ b/src/c_halfcab.h @@ -0,0 +1,53 @@ +/* + * ===================== + * ==== =============== + * ===================== + * === === ==== == + * ==== == == = = + * ==== == = == = + * ==== == = == ==== + * ==== == = == = = + * = = === ==== == + * == ================ + * ===================== + * + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 2025, joe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the organization nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * halfcab: src/c_halfcab.h + * Sat, 20 Sep 2025 16:24:57 +0200 + * joe <rbo@gmx.us> + */ + +#ifndef __C_HALFCAB_H__ +#define __C_HALFCAB_H__ + +#endif /* __C_HALFCAB_H__ */ diff --git a/esp/halfcab/halfcab.ino b/src/esp/halfcab/halfcab.ino index b5a0d49..5af220d 100644 --- a/esp/halfcab/halfcab.ino +++ b/src/esp/halfcab/halfcab.ino @@ -42,7 +42,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * halfcab: eps/halfcab.ino + * halfcab: esp/halfcab/halfcab.ino * Sat, 20 Sep 2025 00:17:38 +0200 * joe <rbo@gmx.us> * |