From d22af4a7843da2fea139c8ff3bd7416c6e5000ee Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm Date: Wed, 23 Jul 2025 17:58:08 +0200 Subject: [PATCH] remove binaries, add build script --- build.sh | 9 +++ build/collisionavoid | Bin 21080 -> 0 bytes build/collisionavoid.c | 153 ----------------------------------------- 3 files changed, 9 insertions(+), 153 deletions(-) create mode 100755 build.sh delete mode 100755 build/collisionavoid delete mode 100644 build/collisionavoid.c diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..f5a5c31 --- /dev/null +++ b/build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +halcompile --userspace collisionavoid.comp +mv collisionavoid.c build/ + +gcc -Os -g -I. -I/usr/realtime-4.14.174-rtai-amd64/include -I. -I/usr/realtime-4.14.174-rtai-amd64/include -D_FORTIFY_SOURCE=0 \ + -mhard-float -DRTAI=3 -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -std=c99 -D_GNU_SOURCE -Drealtime \ + -D_FORTIFY_SOURCE=0 -D__MODULE__ -I/usr/include/linuxcnc -Wframe-larger-than=2560 -URTAPI -U__MODULE__ -DULAPI -Os \ + -o build/collisionavoid build/collisionavoid.c -Wl,-rpath,/lib -L/lib -llinuxcnchal diff --git a/build/collisionavoid b/build/collisionavoid deleted file mode 100755 index 3976fa5d69c1a6217da59c63f50c4b28fd669e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21080 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 z -struct __comp_state *__comp_first_inst=0, *__comp_last_inst=0; - -static int __comp_get_data_size(void); -#undef TRUE -#define TRUE (1) -#undef FALSE -#define FALSE (0) -#undef true -#define true (1) -#undef false -#define false (0) - -static int export(char *prefix, long extra_arg) { - int r = 0; - int sz = sizeof(struct __comp_state) + __comp_get_data_size(); - struct __comp_state *inst = hal_malloc(sz); - memset(inst, 0, sz); - r = hal_pin_float_newf(HAL_IN, &(inst->xaxis), comp_id, - "%s.xaxis", prefix); - if(r != 0) return r; - r = hal_pin_float_newf(HAL_IN, &(inst->yaxis), comp_id, - "%s.yaxis", prefix); - if(r != 0) return r; - r = hal_pin_float_newf(HAL_IN, &(inst->zaxis), comp_id, - "%s.zaxis", prefix); - if(r != 0) return r; - r = hal_pin_bit_newf(HAL_IN, &(inst->chuck), comp_id, - "%s.chuck", prefix); - if(r != 0) return r; - r = hal_pin_bit_newf(HAL_IN, &(inst->table), comp_id, - "%s.table", prefix); - if(r != 0) return r; - r = hal_pin_bit_newf(HAL_OUT, &(inst->stop), comp_id, - "%s.stop", prefix); - if(r != 0) return r; - if(__comp_last_inst) __comp_last_inst->_next = inst; - __comp_last_inst = inst; - if(!__comp_first_inst) __comp_first_inst = inst; - return 0; -} -int rtapi_app_main(void) { - int r = 0; - comp_id = hal_init("collisionavoid"); - if(comp_id < 0) return comp_id; - r = export("collisionavoid", 0); - if(r) { - hal_exit(comp_id); - } else { - hal_ready(comp_id); - } - return r; -} - -void rtapi_app_exit(void) { - hal_exit(comp_id); -} -static void user_mainloop(void); -int argc=0; char **argv=0; -int main(int argc_, char **argv_) { - argc = argc_; argv = argv_; - - if(rtapi_app_main() < 0) return 1; - user_mainloop(); - rtapi_app_exit(); - return 0; -} - -#undef FUNCTION -#define FUNCTION(name) static void name(struct __comp_state *__comp_inst, long period) -#undef EXTRA_SETUP -#define EXTRA_SETUP() static int extra_setup(struct __comp_state *__comp_inst, char *prefix, long extra_arg) -#undef EXTRA_CLEANUP -#define EXTRA_CLEANUP() static void extra_cleanup(void) -#undef fperiod -#define fperiod (period * 1e-9) -#undef xaxis -#define xaxis (0+*__comp_inst->xaxis) -#undef yaxis -#define yaxis (0+*__comp_inst->yaxis) -#undef zaxis -#define zaxis (0+*__comp_inst->zaxis) -#undef chuck -#define chuck (0+*__comp_inst->chuck) -#undef table -#define table (0+*__comp_inst->table) -#undef stop -#define stop (*__comp_inst->stop) -#undef FOR_ALL_INSTS -#define __comp_inst __comp_first_inst -#define FOR_ALL_INSTS() - - -#line 19 "collisionavoid.comp" - -#include /* Standard input/output definitions */ - - -void user_mainloop(void) -{ - FOR_ALL_INSTS() //needed for resaons - { - while(1) - { - usleep(500); - if(chuck == 1 && xaxis > 107 && yaxis < 32 && zaxis < -25 ) stop = 1; - else if(table == 1 && xaxis > 107 && yaxis < 32 && zaxis < -25 ) stop = 1; - else stop = 0; - - } - } - exit(0); -} - - - - - -static int __comp_get_data_size(void) { return 0; }