You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(12) |
Jul
(105) |
Aug
(245) |
Sep
(165) |
Oct
(100) |
Nov
(92) |
Dec
(74) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(179) |
Feb
(233) |
Mar
(175) |
Apr
(168) |
May
(146) |
Jun
(165) |
Jul
(18) |
Aug
(95) |
Sep
(134) |
Oct
(120) |
Nov
(51) |
Dec
(65) |
2005 |
Jan
(96) |
Feb
(100) |
Mar
(113) |
Apr
(82) |
May
(281) |
Jun
(168) |
Jul
(54) |
Aug
(72) |
Sep
(104) |
Oct
(182) |
Nov
(126) |
Dec
(133) |
2006 |
Jan
(211) |
Feb
(252) |
Mar
(291) |
Apr
(199) |
May
(345) |
Jun
(282) |
Jul
(272) |
Aug
(261) |
Sep
(287) |
Oct
(464) |
Nov
(233) |
Dec
(210) |
2007 |
Jan
(669) |
Feb
(304) |
Mar
(483) |
Apr
(150) |
May
(293) |
Jun
(215) |
Jul
(178) |
Aug
(138) |
Sep
(159) |
Oct
(301) |
Nov
(367) |
Dec
(165) |
2008 |
Jan
(171) |
Feb
(148) |
Mar
(150) |
Apr
(180) |
May
(112) |
Jun
(109) |
Jul
(196) |
Aug
(319) |
Sep
(294) |
Oct
(284) |
Nov
(399) |
Dec
(280) |
2009 |
Jan
(536) |
Feb
(454) |
Mar
(382) |
Apr
(255) |
May
(321) |
Jun
(318) |
Jul
(412) |
Aug
(226) |
Sep
(76) |
Oct
(251) |
Nov
(134) |
Dec
(101) |
2010 |
Jan
(262) |
Feb
(210) |
Mar
(219) |
Apr
(55) |
May
(180) |
Jun
(225) |
Jul
(151) |
Aug
(184) |
Sep
(54) |
Oct
(160) |
Nov
(237) |
Dec
(115) |
2011 |
Jan
(141) |
Feb
(68) |
Mar
(204) |
Apr
(329) |
May
(68) |
Jun
(34) |
Jul
(304) |
Aug
(206) |
Sep
(183) |
Oct
(121) |
Nov
(1125) |
Dec
(934) |
2012 |
Jan
(466) |
Feb
(161) |
Mar
(314) |
Apr
(63) |
May
(62) |
Jun
(53) |
Jul
(47) |
Aug
(41) |
Sep
(36) |
Oct
(108) |
Nov
(297) |
Dec
(73) |
2013 |
Jan
(236) |
Feb
(81) |
Mar
(422) |
Apr
(441) |
May
(86) |
Jun
(177) |
Jul
(146) |
Aug
(140) |
Sep
(93) |
Oct
(126) |
Nov
(133) |
Dec
(230) |
2014 |
Jan
(380) |
Feb
(233) |
Mar
(251) |
Apr
(214) |
May
(168) |
Jun
(670) |
Jul
(538) |
Aug
(459) |
Sep
(330) |
Oct
(327) |
Nov
(339) |
Dec
(456) |
2015 |
Jan
(188) |
Feb
(426) |
Mar
(186) |
Apr
(71) |
May
(151) |
Jun
(283) |
Jul
(208) |
Aug
(477) |
Sep
(148) |
Oct
(302) |
Nov
(297) |
Dec
(331) |
2016 |
Jan
(474) |
Feb
(55) |
Mar
(92) |
Apr
(118) |
May
(286) |
Jun
(751) |
Jul
(494) |
Aug
(166) |
Sep
(97) |
Oct
(216) |
Nov
(41) |
Dec
(78) |
2017 |
Jan
(148) |
Feb
(205) |
Mar
(112) |
Apr
(119) |
May
(125) |
Jun
(102) |
Jul
(242) |
Aug
(26) |
Sep
(53) |
Oct
(28) |
Nov
(38) |
Dec
(97) |
2018 |
Jan
(71) |
Feb
(49) |
Mar
(43) |
Apr
(13) |
May
(19) |
Jun
(44) |
Jul
(74) |
Aug
(30) |
Sep
(44) |
Oct
(57) |
Nov
(74) |
Dec
(34) |
2019 |
Jan
(41) |
Feb
(50) |
Mar
(30) |
Apr
(24) |
May
(44) |
Jun
(101) |
Jul
(94) |
Aug
(123) |
Sep
(101) |
Oct
(81) |
Nov
(48) |
Dec
(51) |
2020 |
Jan
(74) |
Feb
(81) |
Mar
(129) |
Apr
(310) |
May
(176) |
Jun
(97) |
Jul
(137) |
Aug
(205) |
Sep
(84) |
Oct
(71) |
Nov
(106) |
Dec
(138) |
2021 |
Jan
(117) |
Feb
(94) |
Mar
(89) |
Apr
(71) |
May
(98) |
Jun
(99) |
Jul
(67) |
Aug
(129) |
Sep
(108) |
Oct
(127) |
Nov
(115) |
Dec
(114) |
2022 |
Jan
(115) |
Feb
(85) |
Mar
(97) |
Apr
(92) |
May
(102) |
Jun
(109) |
Jul
(168) |
Aug
(230) |
Sep
(183) |
Oct
(106) |
Nov
(109) |
Dec
(146) |
2023 |
Jan
(186) |
Feb
(126) |
Mar
(99) |
Apr
(92) |
May
(158) |
Jun
(74) |
Jul
(113) |
Aug
(93) |
Sep
(84) |
Oct
(163) |
Nov
(72) |
Dec
(81) |
2024 |
Jan
(71) |
Feb
(85) |
Mar
(63) |
Apr
(50) |
May
(45) |
Jun
(28) |
Jul
(106) |
Aug
(45) |
Sep
(60) |
Oct
(44) |
Nov
(53) |
Dec
(28) |
2025 |
Jan
(87) |
Feb
(58) |
Mar
(71) |
Apr
(37) |
May
(37) |
Jun
(46) |
Jul
(74) |
Aug
(26) |
Sep
(55) |
Oct
(16) |
Nov
|
Dec
|
From: <pa...@us...> - 2003-07-26 01:47:19
|
Update of /cvsroot/emc/rtapi/src/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv8211/rtapi Modified Files: rtai_rtapi.c rtai_ulapi.c Log Message: Added braces to some of the conditional routines Index: rtai_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** rtai_rtapi.c 25 Jul 2003 04:11:55 -0000 1.7 --- rtai_rtapi.c 25 Jul 2003 22:04:20 -0000 1.8 *************** *** 9,13 **** #include <linux/kernel.h> /* FIXME - on my system malloc.h is deprecated, use slab.h instead */ ! /* #include <linux/malloc.h> */ /* kmalloc(), kfree(), GFP_USER */ #include <linux/slab.h> --- 9,13 ---- #include <linux/kernel.h> /* FIXME - on my system malloc.h is deprecated, use slab.h instead */ ! /* #include <linux/malloc.h> *//* kmalloc(), kfree(), GFP_USER */ #include <linux/slab.h> [...1053 lines suppressed...] ! int rtapi_fifo_write(rtapi_fifo_handle fifo, char *buf, ! unsigned long int size) { ! int retval; /* validate fifo handle */ ! if (fifo == NULL) { return RTAPI_BADH; ! } ! if (fifo->magic != FIFO_MAGIC) { return RTAPI_BADH; ! } /* get whatever data is available */ ! retval = rtf_put(fifo->fd, buf, size); ! if (retval < 0) { return RTAPI_INVAL; + } return retval; } Index: rtai_ulapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_ulapi.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** rtai_ulapi.c 19 Jul 2003 07:17:22 -0000 1.2 --- rtai_ulapi.c 25 Jul 2003 22:04:20 -0000 1.3 *************** *** 19,38 **** struct ulapi_shmem { ! int magic; /* to check for valid handle */ ! int key; /* key to shared memory area */ ! unsigned long int size; /* size of shared memory area */ ! void *mem; /* pointer to the memory */ ! }; struct ulapi_fifo { ! int magic; /* to check for valid handle */ ! int key; /* key to fifo */ ! int fd; /* file descripter for fifo */ ! int mode; /* O_RDONLY or O_WRONLY */ ! unsigned long int size; /* size of fifo area */ ! }; ! #define SHMEM_MAGIC 25453 /* random numbers used as signatures */ #define FIFO_MAGIC 10293 --- 19,38 ---- struct ulapi_shmem { ! int magic; /* to check for valid handle */ ! int key; /* key to shared memory area */ ! unsigned long int size; /* size of shared memory area */ ! void *mem; /* pointer to the memory */ ! }; struct ulapi_fifo { ! int magic; /* to check for valid handle */ ! int key; /* key to fifo */ ! int fd; /* file descripter for fifo */ ! int mode; /* O_RDONLY or O_WRONLY */ ! unsigned long int size; /* size of fifo area */ ! }; ! #define SHMEM_MAGIC 25453 /* random numbers used as signatures */ #define FIFO_MAGIC 10293 *************** *** 52,73 **** ! int ulapi_shmem_new( int key, unsigned int size, ! ulapi_shmem_handle *shmemptr ) { ! ulapi_shmem_handle shmem; /* validate shmemptr */ ! if ( shmemptr == NULL ) return ULAPI_INVAL; ! /* alloc space for shmem structure */ ! shmem = malloc( sizeof(struct ulapi_shmem) ); ! if ( shmem == NULL ) return ULAPI_NOMEM; ! /* now get shared memory block from OS */ shmem->mem = rtai_malloc(key, size); ! if ( shmem->mem == NULL ) { ! free ( shmem ); return ULAPI_NOMEM; } --- 52,72 ---- ! int ulapi_shmem_new(int key, unsigned int size, ulapi_shmem_handle * shmemptr) { ! ulapi_shmem_handle shmem; /* validate shmemptr */ ! if (shmemptr == NULL) { return ULAPI_INVAL; ! } /* alloc space for shmem structure */ ! shmem = malloc(sizeof(struct ulapi_shmem)); ! if (shmem == NULL) { return ULAPI_NOMEM; ! } /* now get shared memory block from OS */ shmem->mem = rtai_malloc(key, size); ! if (shmem->mem == NULL) { ! free(shmem); return ULAPI_NOMEM; } *************** *** 85,96 **** ! int ulapi_shmem_getptr ( ulapi_shmem_handle shmem, void **ptr ) { /* validate shmem handle */ ! if ( shmem == NULL ) return ULAPI_BADH; ! if ( shmem->magic != SHMEM_MAGIC ) return ULAPI_BADH; ! /* pass memory address back to caller */ *ptr = shmem->mem; --- 84,96 ---- ! int ulapi_shmem_getptr(ulapi_shmem_handle shmem, void **ptr) { /* validate shmem handle */ ! if (shmem == NULL) { return ULAPI_BADH; ! } ! if (shmem->magic != SHMEM_MAGIC) { return ULAPI_BADH; ! } /* pass memory address back to caller */ *ptr = shmem->mem; *************** *** 100,153 **** ! int ulapi_shmem_delete( ulapi_shmem_handle shmem ) { /* validate shmem handle */ ! if ( shmem == NULL ) return ULAPI_BADH; ! if ( shmem->magic != SHMEM_MAGIC ) return ULAPI_BADH; ! /* free the shared memory */ ! rtai_free( shmem->key, shmem->mem ); /* free the shmem structure */ shmem->magic = 0; ! free ( shmem ); return ULAPI_SUCCESS; } ! int ulapi_fifo_new( int key, unsigned long int size, char mode, ! ulapi_fifo_handle *fifoptr ) { ! ulapi_fifo_handle fifo; ! int retval, flags; ! enum { DEVSTR_LEN = 256 }; ! char devstr[DEVSTR_LEN]; /* validate fifoptr */ ! if ( fifoptr == NULL ) return ULAPI_INVAL; ! /* alloc space for fifo structure */ ! fifo = malloc( sizeof(struct ulapi_fifo) ); ! if ( fifo == NULL ) return ULAPI_NOMEM; ! /* determine system name for fifo */ sprintf(devstr, "/dev/rtf%d", key); /* determine mode for fifo */ ! if ( mode == 'R' ) flags = O_RDONLY; ! else if ( mode == 'W' ) ! flags = O_WRONLY; ! else ! return ULAPI_INVAL; /* open the fifo */ ! retval = open( devstr, flags ); ! if ( retval < 0 ) { /* open failed */ ! free ( fifo ); return ULAPI_NOTFND; } --- 100,158 ---- ! int ulapi_shmem_delete(ulapi_shmem_handle shmem) { /* validate shmem handle */ ! if (shmem == NULL) { return ULAPI_BADH; ! } ! if (shmem->magic != SHMEM_MAGIC) { return ULAPI_BADH; ! } /* free the shared memory */ ! rtai_free(shmem->key, shmem->mem); /* free the shmem structure */ shmem->magic = 0; ! free(shmem); return ULAPI_SUCCESS; } ! int ulapi_fifo_new(int key, unsigned long int size, char mode, ! ulapi_fifo_handle * fifoptr) { ! ulapi_fifo_handle fifo; ! int retval, flags; ! enum { DEVSTR_LEN = 256 }; ! char devstr[DEVSTR_LEN]; /* validate fifoptr */ ! if (fifoptr == NULL) { return ULAPI_INVAL; ! } /* alloc space for fifo structure */ ! fifo = malloc(sizeof(struct ulapi_fifo)); ! if (fifo == NULL) { return ULAPI_NOMEM; ! } /* determine system name for fifo */ sprintf(devstr, "/dev/rtf%d", key); /* determine mode for fifo */ ! if (mode == 'R') { flags = O_RDONLY; ! } else { ! if (mode == 'W') { ! flags = O_WRONLY; ! } + else { + return ULAPI_INVAL; + } + } /* open the fifo */ ! retval = open(devstr, flags); ! if (retval < 0) { /* open failed */ ! free(fifo); return ULAPI_NOTFND; } *************** *** 166,227 **** ! int ulapi_fifo_delete( ulapi_fifo_handle fifo ) { /* validate fifo handle */ ! if ( fifo == NULL ) return ULAPI_BADH; ! if ( fifo->magic != FIFO_MAGIC ) return ULAPI_BADH; ! /* close the fifo */ ! if ( close( fifo->fd ) < 0 ) return ULAPI_NOTFND; ! /* free the fifo structure */ fifo->magic = 0; ! free ( fifo ); return ULAPI_SUCCESS; } ! int ulapi_fifo_read( ulapi_fifo_handle fifo, ! char *buf, unsigned long int size) { ! int retval; /* validate fifo handle */ ! if ( fifo == NULL ) return ULAPI_BADH; ! if ( fifo->magic != FIFO_MAGIC ) return ULAPI_BADH; ! if ( fifo->mode != O_RDONLY ) return ULAPI_UNSUP; ! /* get whatever data is available */ ! retval = read( fifo->fd, buf, size ); ! if ( retval < 0 ) return ULAPI_FAIL; return retval; } ! int ulapi_fifo_write( ulapi_fifo_handle fifo, ! char *buf, unsigned long int size) { ! int retval; /* validate fifo handle */ ! if ( fifo == NULL ) return ULAPI_BADH; ! if ( fifo->magic != FIFO_MAGIC ) return ULAPI_BADH; ! if ( fifo->mode != O_WRONLY ) return ULAPI_UNSUP; /* get whatever data is available */ ! retval = write( fifo->fd, buf, size ); ! if ( retval < 0 ) return ULAPI_FAIL; return retval; } - --- 171,238 ---- ! int ulapi_fifo_delete(ulapi_fifo_handle fifo) { /* validate fifo handle */ ! if (fifo == NULL) { return ULAPI_BADH; ! } ! if (fifo->magic != FIFO_MAGIC) { return ULAPI_BADH; ! } /* close the fifo */ ! if (close(fifo->fd) < 0) { return ULAPI_NOTFND; ! } /* free the fifo structure */ fifo->magic = 0; ! free(fifo); return ULAPI_SUCCESS; } ! int ulapi_fifo_read(ulapi_fifo_handle fifo, char *buf, unsigned long int size) { ! int retval; /* validate fifo handle */ ! if (fifo == NULL) { return ULAPI_BADH; ! } ! if (fifo->magic != FIFO_MAGIC) { return ULAPI_BADH; ! } ! if (fifo->mode != O_RDONLY) { return ULAPI_UNSUP; ! } /* get whatever data is available */ ! retval = read(fifo->fd, buf, size); ! if (retval < 0) { return ULAPI_FAIL; + } return retval; } ! int ulapi_fifo_write(ulapi_fifo_handle fifo, ! char *buf, unsigned long int size) { ! int retval; /* validate fifo handle */ ! if (fifo == NULL) { return ULAPI_BADH; ! } ! if (fifo->magic != FIFO_MAGIC) { return ULAPI_BADH; ! } ! if (fifo->mode != O_WRONLY) { return ULAPI_UNSUP; + } /* get whatever data is available */ ! retval = write(fifo->fd, buf, size); ! if (retval < 0) { return ULAPI_FAIL; + } return retval; } |
From: <pa...@us...> - 2003-07-26 01:47:19
|
Update of /cvsroot/emc/rtapi/examples/timertask In directory sc8-pr-cvs1:/tmp/cvs-serv8246/timertask Modified Files: timertask.c Log Message: Added braces to some of the conditional routines Index: timertask.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/timertask/timertask.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** timertask.c 23 Jul 2003 01:22:49 -0000 1.3 --- timertask.c 25 Jul 2003 22:04:34 -0000 1.4 *************** *** 17,21 **** --- 17,23 ---- { while (1) { + /* a simple counter... */ timer_count++; + /* put the task to sleep untill the next interrupt */ rtapi_wait(); } *************** *** 25,28 **** --- 27,32 ---- /* part of the Linux kernel module that kicks off the timer task */ + /* rtapi_app_main() is expanded to init_module() via a macro in + rtapi_app.h */ int rtapi_app_main(void) { *************** *** 47,56 **** --- 51,64 ---- /* create the timer task */ + /* the address of the pointer needs to be passed rather than it's value */ retval = rtapi_task_new( &timer_task ); if ( retval != RTAPI_SUCCESS ) { + /* See rtapi.h for the error codes returned */ rtapi_print( "timertask init: rtapi_task_new returned %d\n", retval ); return -1; } + /* the third arg is an abitrary int that is passed to the timer task + on the first iterration */ retval = rtapi_task_start( timer_task, timer_code, 0, timer_prio, *************** *** 68,75 **** --- 76,86 ---- /* part of the Linux kernel module that stops the timer task */ + /* rtapi_app_exit() is substituted for cleanup_module() by a + macro in rtapi_app.h */ void rtapi_app_exit(void) { int retval; + /* Stop the task */ retval = rtapi_task_stop(timer_task); if ( retval != RTAPI_SUCCESS ) { *************** *** 77,80 **** --- 88,92 ---- return; } + /* Remove the task from the list */ retval = rtapi_task_delete( timer_task ); if ( retval != RTAPI_SUCCESS ) { *************** *** 83,88 **** } rtapi_print("timertask exit: timer count is %d\n", timer_count); ! rtapi_app_return(); } --- 95,102 ---- } + /* Print the final count just to show that the task did it's job */ rtapi_print("timertask exit: timer count is %d\n", timer_count); ! /* Clean up and exit */ rtapi_app_return(); + } |
From: <pa...@us...> - 2003-07-26 01:47:18
|
Update of /cvsroot/emc/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv8400 Modified Files: configure Log Message: Another fix for the adeos V TNG conflict Index: configure =================================================================== RCS file: /cvsroot/emc/rtapi/configure,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** configure 25 Jul 2003 01:40:38 -0000 1.5 --- configure 25 Jul 2003 22:05:29 -0000 1.6 *************** *** 22,25 **** --- 22,33 ---- echo MOD_DIR = /lib/modules/$version/misc >> Makefile.inc + if [ $(/sbin/ksyms -a | grep _adeos_ | wc -l) -ge 1 ] ; then + if [ -d /lib/modules/$version/build ] ; then + # We have a 2.4 or later kernel if this symlink exists, + # so add an include to the correct headers for the kernel running. + echo KERNEL_INC = -I/lib/modules/$version/build/include >> Makefile.inc + fi + fi + echo CC = gcc >> Makefile.inc echo CFLAGS = -g -Wall -I\$\(INC_DIR\) >> Makefile.inc *************** *** 88,104 **** # ditto for an RTAI boot by looking through the kernel for telltale symbols: # set_rtai_callback, remove_rtai_callback for 2.2, 2.4 kernels ! RTAIBOOT=$(/sbin/ksyms -a | grep _rtai_ | wc -l) if [ $RTAIBOOT -gt 0 ] ; then echo found RTAI installed in the kernel fi ! # ditto for an ADEOS boot by looking through the kernel for telltale symbols: ! # ???_adeos_????, ????_adeos_???? ! ADEOSBOOT=$(/sbin/ksyms -a | grep _adeos_ | wc -l) ! if [ $ADEOSBOOT -gt 0 ] ; then ! echo found ADEOS installed in the kernel ! fi ! ! # append stuff into Makefile.inc only if we have found the RTL dir # and have booted it if [ "$RTLDIR" != "" -a $RTLBOOT -gt 0 ] ; then --- 96,105 ---- # ditto for an RTAI boot by looking through the kernel for telltale symbols: # set_rtai_callback, remove_rtai_callback for 2.2, 2.4 kernels ! RTAIBOOT=$(/sbin/ksyms -a | grep -E '(_rtai_|_adeos_)' | wc -l) if [ $RTAIBOOT -gt 0 ] ; then echo found RTAI installed in the kernel fi ! # append stuff into Makefile.inc only if we have found the RTL dir # and have booted it if [ "$RTLDIR" != "" -a $RTLBOOT -gt 0 ] ; then *************** *** 150,162 **** rm -f configure.tmp # end of JK hack - - # Paul added this at the top to make adeos RTAI work, but it causes warnings - # when compiling rtai_rtapi.c for "regular" rtai. (BDI-TNG) - # So I moved it down here and only do it if adeos is present - jmkasunich - if [ -d /lib/modules/$version/build -a $ADEOSBOOT -gt 0 ] ; then - # We have a 2.4 or later kernel if this symlink exists, - # so add an include to the correct headers for the kernel running. - echo KERNEL_INC = -I/lib/modules/$version/build/include >> Makefile.inc - fi # leave when we configured one --- 151,154 ---- |
From: <jmk...@us...> - 2003-07-25 04:11:58
|
Update of /cvsroot/emc/rtapi/examples/fifo In directory sc8-pr-cvs1:/tmp/cvs-serv2846/examples/fifo Modified Files: fifotask.c fifousr.c Log Message: troubleshooting fifos Index: fifotask.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/fifo/fifotask.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** fifotask.c 23 Jul 2003 01:22:49 -0000 1.2 --- fifotask.c 25 Jul 2003 04:11:55 -0000 1.3 *************** *** 11,15 **** static rtapi_task_handle fifo_task = 0; /* the task structure */ static rtapi_fifo_handle fifo; ! enum { FIFO_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */ enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */ --- 11,15 ---- static rtapi_task_handle fifo_task = 0; /* the task structure */ static rtapi_fifo_handle fifo; ! enum { FIFO_PERIOD_NSEC = 1000000000 }; /* timer period, in nanoseconds */ enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */ *************** *** 27,30 **** --- 27,32 ---- } rtapi_fifo_write ( fifo, buffer, count ); + buffer[n] = '\0'; + rtapi_print ( "fifotask: wrote '%s'\n", buffer ); count++; if ( count > 9 ) *************** *** 49,53 **** --- 51,57 ---- /* allocate and initialize the fifo */ + /* debug, remove when working */ rtapi_print ( "debug - Calling rtapi_fifo_new()\n" ); retval = rtapi_fifo_new( FIFO_KEY, FIFO_SIZE, &fifo ); + /* debug, remove when working */ rtapi_print( "debug - fifotask init: rtapi_fifo_new returned %d\n", retval ); if ( retval != RTAPI_SUCCESS ) { rtapi_print( "fifotask init: rtapi_fifo_new returned %d\n", retval ); *************** *** 110,114 **** } ! rtapi_print("fifotask exit: %d writes\n", count); rtapi_app_return(); --- 114,118 ---- } ! rtapi_print("fifotask exit: done\n" ); rtapi_app_return(); Index: fifousr.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/fifo/fifousr.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** fifousr.c 23 Jul 2003 01:22:49 -0000 1.2 --- fifousr.c 25 Jul 2003 04:11:55 -0000 1.3 *************** *** 41,44 **** --- 41,46 ---- signal(SIGINT, quit); + printf ( "waiting for fifo data, ctrl-C to quit\n" ); + while (1) { nchars = ulapi_fifo_read( fifo, buffer, FIFO_SIZE ); |
From: <jmk...@us...> - 2003-07-25 04:11:58
|
Update of /cvsroot/emc/rtapi/src/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv2846/src/rtapi Modified Files: rtai_rtapi.c Log Message: troubleshooting fifos Index: rtai_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** rtai_rtapi.c 23 Jul 2003 01:22:50 -0000 1.6 --- rtai_rtapi.c 25 Jul 2003 04:11:55 -0000 1.7 *************** *** 596,604 **** /* create the fifo */ retval = rtf_create ( key, size ); if ( retval != size ) { /* create failed */ kfree ( fifo ); - rtapi_print ( "rtapi_fifo_new: rtf_create ( %d, %d ) returned %d\n", key, size, retval ); if ( retval == ENOMEM ) /* couldn't allocate memory */ --- 596,608 ---- /* create the fifo */ + /* debug, remove when working */ rtapi_print ( "rtapi_fifo_new: calling rtf_create( %d, %d)\n", key, size ); retval = rtf_create ( key, size ); + /* debug, remove when working */ rtapi_print ( "rtapi_fifo_new: rtf_create ( %d, %d ) returned %d\n", key, size, retval ); + + #if ( 1 ) /* set to 1 to ignore bad return from rtf_create() */ + if ( retval != size ) { /* create failed */ kfree ( fifo ); if ( retval == ENOMEM ) /* couldn't allocate memory */ *************** *** 606,609 **** --- 610,615 ---- return RTAPI_INVAL; } + + #endif /* label as a valid fifo structure */ |
From: <jmk...@us...> - 2003-07-25 01:40:41
|
Update of /cvsroot/emc/rtapi/src/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv15521/src/rtapi Modified Files: localdefs.h rtapi.h Log Message: tweaked the adeos mods in configure script Index: localdefs.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/localdefs.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** localdefs.h 22 Jul 2003 17:20:22 -0000 1.5 --- localdefs.h 25 Jul 2003 01:40:38 -0000 1.6 *************** *** 2,8 **** #define LOCALDEFS_H ! /* automatically generated by config script on Tue Jul 22 13:03:40 UTC 2003 */ ! #define LOCAL_MHZ 807.966 #endif --- 2,8 ---- #define LOCALDEFS_H ! /* automatically generated by config script on Thu Jul 24 21:36:47 EDT 2003 */ ! #define LOCAL_MHZ 233.866 #endif Index: rtapi.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtapi.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** rtapi.h 23 Jul 2003 01:22:50 -0000 1.7 --- rtapi.h 25 Jul 2003 01:40:38 -0000 1.8 *************** *** 20,23 **** --- 20,24 ---- /** Typedefs for object handles. The structs to which these handles * * refer are private, and may vary from one RTOS to another. * + * In fact, don't even count on handles always being pointers. */ |
From: <jmk...@us...> - 2003-07-25 01:40:41
|
Update of /cvsroot/emc/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv15521 Modified Files: Makefile.inc configure Log Message: tweaked the adeos mods in configure script Index: Makefile.inc =================================================================== RCS file: /cvsroot/emc/rtapi/Makefile.inc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Makefile.inc 23 Jul 2003 01:22:49 -0000 1.5 --- Makefile.inc 25 Jul 2003 01:40:38 -0000 1.6 *************** *** 18,22 **** # Makefile add-ons from rtai.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static --- 18,22 ---- # Makefile add-ons from rtai.mk ! RTFLAGS = -Wall $(KERNEL_INC) -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static Index: configure =================================================================== RCS file: /cvsroot/emc/rtapi/configure,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** configure 23 Jul 2003 01:22:49 -0000 1.4 --- configure 25 Jul 2003 01:40:38 -0000 1.5 *************** *** 22,31 **** echo MOD_DIR = /lib/modules/$version/misc >> Makefile.inc - if [ -d /lib/modules/$version/build ] ; then - # We have a 2.4 or later kernel if this symlink exists, - # so add an include to the correct headers for the kernel running. - echo KERNEL_INC = -I/lib/modules/$version/build/include >> Makefile.inc - fi - echo CC = gcc >> Makefile.inc echo CFLAGS = -g -Wall -I\$\(INC_DIR\) >> Makefile.inc --- 22,25 ---- *************** *** 94,103 **** # ditto for an RTAI boot by looking through the kernel for telltale symbols: # set_rtai_callback, remove_rtai_callback for 2.2, 2.4 kernels ! RTAIBOOT=$(/sbin/ksyms -a | grep -E '(_rtai_|_adeos_)' | wc -l) if [ $RTAIBOOT -gt 0 ] ; then echo found RTAI installed in the kernel fi ! # append stuff into Makefile.inc only if we have found the RTL dir # and have booted it if [ "$RTLDIR" != "" -a $RTLBOOT -gt 0 ] ; then --- 88,104 ---- # ditto for an RTAI boot by looking through the kernel for telltale symbols: # set_rtai_callback, remove_rtai_callback for 2.2, 2.4 kernels ! RTAIBOOT=$(/sbin/ksyms -a | grep _rtai_ | wc -l) if [ $RTAIBOOT -gt 0 ] ; then echo found RTAI installed in the kernel fi ! # ditto for an ADEOS boot by looking through the kernel for telltale symbols: ! # ???_adeos_????, ????_adeos_???? ! ADEOSBOOT=$(/sbin/ksyms -a | grep _adeos_ | wc -l) ! if [ $ADEOSBOOT -gt 0 ] ; then ! echo found ADEOS installed in the kernel ! fi ! ! # append stuff into Makefile.inc only if we have found the RTL dir # and have booted it if [ "$RTLDIR" != "" -a $RTLBOOT -gt 0 ] ; then *************** *** 149,152 **** --- 150,162 ---- rm -f configure.tmp # end of JK hack + + # Paul added this at the top to make adeos RTAI work, but it causes warnings + # when compiling rtai_rtapi.c for "regular" rtai. (BDI-TNG) + # So I moved it down here and only do it if adeos is present - jmkasunich + if [ -d /lib/modules/$version/build -a $ADEOSBOOT -gt 0 ] ; then + # We have a 2.4 or later kernel if this symlink exists, + # so add an include to the correct headers for the kernel running. + echo KERNEL_INC = -I/lib/modules/$version/build/include >> Makefile.inc + fi # leave when we configured one |
From: <jmk...@us...> - 2003-07-23 01:22:53
|
Update of /cvsroot/emc/rtapi/examples/shmem In directory sc8-pr-cvs1:/tmp/cvs-serv23441/examples/shmem Modified Files: shmemtask.c shmemusr.c Log Message: changed examples to use new api - fifo not working yet Index: shmemtask.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/shmem/shmemtask.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** shmemtask.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- shmemtask.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 9,22 **** #include "common.h" /* shmem structure, SHMEM_KEY */ ! static void *shmem_task = 0; /* the task structure */ enum { SHMEM_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ enum { SHMEM_STACKSIZE = 1024 }; /* how big the stack is */ static int key = SHMEM_KEY; - static int id = 0; static SHMEM_STRUCT *shmem_struct = 0; /* task code, executed each timer interrupt */ ! void shmem_code(void) { while (1) { --- 9,22 ---- #include "common.h" /* shmem structure, SHMEM_KEY */ ! static rtapi_task_handle shmem_task; /* the task */ ! static rtapi_shmem_handle shmem_mem; /* the shared memory area */ enum { SHMEM_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ enum { SHMEM_STACKSIZE = 1024 }; /* how big the stack is */ static int key = SHMEM_KEY; static SHMEM_STRUCT *shmem_struct = 0; /* task code, executed each timer interrupt */ ! void shmem_code ( int arg ) { while (1) { *************** *** 33,70 **** int rtapi_app_main(void) { int shmem_prio; - int t; if (0 != rtapi_init()) { return -1; } /* allocate and initialize the shared memory structure */ ! if (0 != rtapi_alloc_shmem(key, sizeof(SHMEM_STRUCT), &id, ! (void **) &shmem_struct)) { ! rtapi_print("shmemtask: can't allocate shared memory\n"); return -1; } shmem_struct->heartbeat = 0; /* set the base timer period */ ! rtapi_clock_set_period(SHMEM_PERIOD_NSEC); /* set the task priority to lowest, since we only have one task */ shmem_prio = rtapi_prio_lowest(); ! /* launch the shmem task */ ! shmem_task = rtapi_task_new(); ! if (0 == shmem_task) { ! rtapi_print("shmemtask: can't create shmem task\n"); return -1; } ! if (0 != rtapi_task_start(shmem_task, shmem_code, shmem_prio, SHMEM_STACKSIZE, SHMEM_PERIOD_NSEC, 0)) { /* 0 = no floating point */ ! rtapi_print("shmemtask: can't start shmem task\n"); return -1; } ! rtapi_print("shmemtask: started shmem task\n"); return 0; --- 33,87 ---- int rtapi_app_main(void) { + int retval; int shmem_prio; + /* if (0 != rtapi_init()) { return -1; } + */ /* allocate and initialize the shared memory structure */ ! retval = rtapi_shmem_new( key, sizeof(SHMEM_STRUCT), &shmem_mem ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "shmemtask init: rtapi_shmem_new returned %d\n", retval ); return -1; } + retval = rtapi_shmem_getptr( shmem_mem, (void **)&shmem_struct ); + if ( retval != RTAPI_SUCCESS ) { + rtapi_print( "shmemtask init: rtapi_shmem_getptr returned %d\n", retval ); + return -1; + } + shmem_struct->heartbeat = 0; /* set the base timer period */ ! retval = rtapi_clock_set_period(SHMEM_PERIOD_NSEC); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "shmemtask init: rtapi_clock_set_period returned %d\n", retval ); ! return -1; ! } /* set the task priority to lowest, since we only have one task */ shmem_prio = rtapi_prio_lowest(); ! /* create the shmem task */ ! retval = rtapi_task_new( &shmem_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "shmemtask init: rtapi_task_new returned %d\n", retval ); return -1; } ! /* start the shmem task */ ! retval = rtapi_task_start( shmem_task, shmem_code, ! 0, shmem_prio, ! SHMEM_STACKSIZE, ! SHMEM_PERIOD_NSEC, RTAPI_NO_FP ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("shmemtask init: rtapi_task_start returned %d\n", retval ); return -1; } ! rtapi_print("shmemtask init: started shmem task\n"); return 0; *************** *** 74,97 **** void rtapi_app_exit(void) { if (0 != shmem_struct) { ! rtapi_print("shmemtask: heartbeat is %u\n", shmem_struct->heartbeat); } ! if (0 != shmem_task) { ! if (0 != rtapi_task_stop(shmem_task)) { ! rtapi_print("shmemtask: can't stop shmem task\n"); ! } ! if (0 != rtapi_task_delete(shmem_task)) { ! rtapi_print("shmemtask: can't delete shmem task\n"); ! } ! shmem_task = 0; } ! if (0 != shmem_struct) { ! if (0 != rtapi_free_shmem(key, sizeof(SHMEM_STRUCT), ! id, (void *) shmem_struct)) { ! rtapi_print("shmemtask: can't free shared memory\n"); ! } ! shmem_struct = 0; } --- 91,115 ---- void rtapi_app_exit(void) { + int retval; + if (0 != shmem_struct) { ! rtapi_print("shmemtask exit: heartbeat is %u\n", shmem_struct->heartbeat); } ! retval = rtapi_task_stop( shmem_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("shmemtask exit: rtapi_task_stop returned %d\n", retval ); ! return; ! } ! retval = rtapi_task_delete( shmem_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("shmemtask exit: rtapi_task_delete returned %d\n", retval ); ! return; } ! retval = rtapi_shmem_delete( shmem_mem ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("shmemtask exit: rtapi_shmem_delete returned %d\n", retval ); ! return; } Index: shmemusr.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/shmem/shmemusr.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** shmemusr.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- shmemusr.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 6,10 **** static int key = SHMEM_KEY; ! static int id = 0; static SHMEM_STRUCT *shmem_struct; --- 6,10 ---- static int key = SHMEM_KEY; ! static ulapi_shmem_handle shmem_mem; static SHMEM_STRUCT *shmem_struct; *************** *** 17,29 **** int main() { ! if (0 != ulapi_init()) { ! fprintf(stderr, "can't initialize user-level interface\n"); return -1; } ! if (0 != ulapi_alloc_shmem(key, sizeof(SHMEM_STRUCT), &id, ! (void **) &shmem_struct) || 0 == shmem_struct) { ! fprintf(stderr, "can't allocate shared memory\n"); return -1; } --- 17,37 ---- int main() { + int retval; ! retval = ulapi_init(); ! if ( retval != ULAPI_SUCCESS ) { ! printf("shmemusr main: ulapi_init returned %d\n", retval ); return -1; } ! /* allocate the shared memory structure */ ! retval = ulapi_shmem_new( key, sizeof(SHMEM_STRUCT), &shmem_mem ); ! if ( retval != ULAPI_SUCCESS ) { ! printf( "shmemusr main: ulapi_shmem_new returned %d\n", retval ); ! return -1; ! } ! retval = ulapi_shmem_getptr( shmem_mem, (void **)&shmem_struct ); ! if ( retval != ULAPI_SUCCESS ) { ! printf( "shmemusr main: ulapi_shmem_getptr returned %d\n", retval ); return -1; } *************** *** 31,41 **** signal(SIGINT, quit); while (!done) { ! printf("%u\n", shmem_struct->heartbeat); sleep(1); } ! if (0 != shmem_struct) { ! ulapi_free_shmem(key, sizeof(shmem_struct), id, shmem_struct); ! shmem_struct = 0; } --- 39,50 ---- signal(SIGINT, quit); while (!done) { ! printf("%lu\n", shmem_struct->heartbeat); sleep(1); } ! retval = ulapi_shmem_delete( shmem_mem ); ! if ( retval != ULAPI_SUCCESS ) { ! printf("shmemusr main: ulapi_free_shmem returned %d\n", retval ); ! return -1; } |
From: <jmk...@us...> - 2003-07-23 01:22:53
|
Update of /cvsroot/emc/rtapi/src/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv23441/src/rtapi Modified Files: rtai_rtapi.c rtapi.h Log Message: changed examples to use new api - fifo not working yet Index: rtai_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** rtai_rtapi.c 22 Jul 2003 17:20:22 -0000 1.5 --- rtai_rtapi.c 23 Jul 2003 01:22:50 -0000 1.6 *************** *** 108,113 **** ! int rtapi_init(void) { rt_linux_use_fpu(1); return RTAPI_SUCCESS; --- 108,115 ---- ! ! static int rtapi_init(void) { + rtapi_print( "Initing RTAPI\n" ); rt_linux_use_fpu(1); return RTAPI_SUCCESS; *************** *** 115,124 **** ! int rtapi_exit(void) { return RTAPI_SUCCESS; } int rtapi_clock_set_period(unsigned long int nsecs) { --- 117,138 ---- ! static int rtapi_exit(void) { + rtapi_print ( "Removing RTAPI\n" ); return RTAPI_SUCCESS; } + int init_module ( void ) + { + return ( rtapi_init() ); + } + + void cleanup_module ( void ) + { + rtapi_exit(); + } + + int rtapi_clock_set_period(unsigned long int nsecs) { *************** *** 134,138 **** /* validate taskptr */ ! if ( &taskptr == NULL ) return RTAPI_INVAL; --- 148,152 ---- /* validate taskptr */ ! if ( taskptr == NULL ) return RTAPI_INVAL; *************** *** 146,150 **** /* and return handle to the caller */ ! taskptr = task; return RTAPI_SUCCESS; --- 160,164 ---- /* and return handle to the caller */ ! *taskptr = task; return RTAPI_SUCCESS; *************** *** 427,435 **** retval = rt_request_global_irq(irq, handler); ! if ( retval != 0 ) if ( retval == EBUSY ) return RTAPI_BUSY; else ! return RTAPI_INVAL; return RTAPI_SUCCESS; } --- 441,450 ---- retval = rt_request_global_irq(irq, handler); ! if ( retval != 0 ) { if ( retval == EBUSY ) return RTAPI_BUSY; else ! return RTAPI_FAIL; ! } return RTAPI_SUCCESS; } *************** *** 443,447 **** retval = rt_free_global_irq(irq); if ( retval != 0 ) ! return RTAPI_INVAL; return RTAPI_SUCCESS; } --- 458,462 ---- retval = rt_free_global_irq(irq); if ( retval != 0 ) ! return RTAPI_FAIL; return RTAPI_SUCCESS; } *************** *** 585,588 **** --- 600,604 ---- /* create failed */ kfree ( fifo ); + rtapi_print ( "rtapi_fifo_new: rtf_create ( %d, %d ) returned %d\n", key, size, retval ); if ( retval == ENOMEM ) /* couldn't allocate memory */ Index: rtapi.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtapi.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** rtapi.h 22 Jul 2003 17:20:22 -0000 1.6 --- rtapi.h 23 Jul 2003 01:22:50 -0000 1.7 *************** *** 14,18 **** #define RTAPI_FAIL -8 /* operation failed */ ! /** Typedefs for object handles. The structs to which these handles * --- 14,20 ---- #define RTAPI_FAIL -8 /* operation failed */ ! /* flags for the rtapi_task_start() call */ ! #define RTAPI_NO_FP 0 ! #define RTAPI_USES_FP 1 /** Typedefs for object handles. The structs to which these handles * *************** *** 29,33 **** * any rtapi functions. Returns a status code, as defined above. */ ! extern int rtapi_init( void ); --- 31,35 ---- * any rtapi functions. Returns a status code, as defined above. */ ! /* extern int rtapi_init( void ); */ *************** *** 36,40 **** * status code. */ ! extern int rtapi_exit( void ); --- 38,42 ---- * status code. */ ! /* extern int rtapi_exit( void ); */ *************** *** 95,99 **** * rtapi_task_new(). 'taskcode' is the name of a function taking one * * int and returning void, which contains the task code. 'arg' will be * ! * passed to 'taskcode' as an abitrary int value when the task is * * invoked. 'prio' is the priority, as determined by one of the * * priority functions above. * --- 97,101 ---- * rtapi_task_new(). 'taskcode' is the name of a function taking one * * int and returning void, which contains the task code. 'arg' will be * ! * passed to 'taskcode' as an abitrary int value when the task is * * invoked. 'prio' is the priority, as determined by one of the * * priority functions above. * |
From: <jmk...@us...> - 2003-07-23 01:22:52
|
Update of /cvsroot/emc/rtapi/examples/semaphore In directory sc8-pr-cvs1:/tmp/cvs-serv23441/examples/semaphore Modified Files: common.h master.c slave.c Log Message: changed examples to use new api - fifo not working yet Index: common.h =================================================================== RCS file: /cvsroot/emc/rtapi/examples/semaphore/common.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** common.h 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- common.h 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 2,6 **** #define COMMON_H ! extern void * master_sem; /* the global semaphore */ #endif /* COMMON_H */ --- 2,6 ---- #define COMMON_H ! extern rtapi_sem_handle master_sem; /* the global semaphore */ #endif /* COMMON_H */ Index: master.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/semaphore/master.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** master.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- master.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 11,16 **** #include "common.h" /* master_sem decl */ ! void *master_sem = 0; /* the global semaphore */ ! static void *master_task = 0; /* the task structure */ static unsigned int master_count = 0; enum { MASTER_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ --- 11,16 ---- #include "common.h" /* master_sem decl */ ! rtapi_sem_handle master_sem; /* the global semaphore */ ! rtapi_task_handle master_task; /* the task structure */ static unsigned int master_count = 0; enum { MASTER_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ *************** *** 18,22 **** /* task code, executed each timer interrupt */ ! void master_code(void) { while (1) { --- 18,22 ---- /* task code, executed each timer interrupt */ ! void master_code( int arg ) { while (1) { *************** *** 32,50 **** int rtapi_app_main(void) { int master_prio; if (0 != rtapi_app_init()) { return -1; } /* create the semaphore */ ! master_sem = rtapi_sem_new(); ! if (0 == master_sem) { ! rtapi_print("mastertask: can't get semaphore\n"); return -1; } /* set the base timer period */ ! rtapi_clock_set_period(MASTER_PERIOD_NSEC); /* set the task priority to one above the lowest; the slave --- 32,57 ---- int rtapi_app_main(void) { + int retval; int master_prio; + /* if (0 != rtapi_app_init()) { return -1; } + */ /* create the semaphore */ ! retval = rtapi_sem_new( &master_sem ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "sem master init: rtapi_sem_new returned %d\n", retval ); return -1; } /* set the base timer period */ ! retval = rtapi_clock_set_period(MASTER_PERIOD_NSEC); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "sem master init: rtapi_clock_set_period returned %d\n", retval ); ! return -1; ! } /* set the task priority to one above the lowest; the slave *************** *** 52,68 **** master_prio = rtapi_prio_next_higher(rtapi_prio_lowest()); ! /* launch the master task */ ! master_task = rtapi_task_new(); ! if (0 == master_task) { ! rtapi_print("mastertask: can't allocate master task\n"); return -1; } ! if (0 != rtapi_task_start(master_task, master_code, master_prio, MASTER_STACKSIZE, MASTER_PERIOD_NSEC, 0)) { /* 0 = no floating point */ ! rtapi_print("mastertask: can't start master task\n"); return -1; } ! rtapi_print("mastertask: started master task\n"); return 0; --- 59,80 ---- master_prio = rtapi_prio_next_higher(rtapi_prio_lowest()); ! /* create the master task */ ! retval = rtapi_task_new( &master_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "sem master init: rtapi_task_new returned %d\n", retval ); return -1; } ! /* start the master task */ ! retval = rtapi_task_start( master_task, master_code, ! 0, master_prio, ! MASTER_STACKSIZE, ! MASTER_PERIOD_NSEC, RTAPI_NO_FP ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem master init: rtapi_task_start returned %d\n", retval ); return -1; } ! rtapi_print("sem master init: started master task\n"); return 0; *************** *** 72,88 **** void rtapi_app_exit(void) { ! if (0 != master_task) { ! if (0 != rtapi_task_stop(master_task)) { ! rtapi_print("mastertask: can't stop master task\n"); ! } ! if (0 != rtapi_task_delete(master_task)) { ! rtapi_print("mastertask: can't delete master task\n"); ! } ! master_task = 0; } ! rtapi_sem_delete(master_sem); ! rtapi_print("mastertask: master count is %d\n", master_count); rtapi_app_return(); --- 84,107 ---- void rtapi_app_exit(void) { ! int retval; ! ! retval = rtapi_task_stop( master_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem master exit: rtapi_task_stop returned %d\n", retval ); ! return; ! } ! retval = rtapi_task_delete( master_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem master exit: rtapi_task_delete returned %d\n", retval ); ! return; } ! retval = rtapi_sem_delete( master_sem ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem master exit: rtapi_sem_delete returned %d\n", retval ); ! return; ! } ! rtapi_print("sem master exit: master count is %d\n", master_count); rtapi_app_return(); Index: slave.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/semaphore/slave.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** slave.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- slave.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 11,20 **** #include "common.h" /* master_sem */ ! static void *slave_task = 0; /* the task structure */ static unsigned int slave_count = 0; enum { SLAVE_STACKSIZE = 1024 }; /* how big the stack is */ /* task code, executed when semaphore is released by master task */ ! void slave_code(void) { while (1) { --- 11,20 ---- #include "common.h" /* master_sem */ ! static rtapi_task_handle slave_task; /* the task structure */ static unsigned int slave_count = 0; enum { SLAVE_STACKSIZE = 1024 }; /* how big the stack is */ /* task code, executed when semaphore is released by master task */ ! void slave_code( int arg ) { while (1) { *************** *** 29,32 **** --- 29,33 ---- int rtapi_app_main(void) { + int retval; int slave_prio; *************** *** 38,55 **** slave_prio = rtapi_prio_lowest(); ! /* launch the slave task */ ! slave_task = rtapi_task_new(); ! if (0 == slave_task) { ! rtapi_print("slavetask: can't allocate slave task\n"); return -1; } ! if (0 != rtapi_task_start(slave_task, slave_code, slave_prio, SLAVE_STACKSIZE, 0, /* 0 = don't run task on timer */ ! 0)) { /* 0 = no floating point */ ! rtapi_print("slavetask: can't start slave task\n"); return -1; } ! rtapi_print("slavetask: started slave task\n"); return 0; --- 39,60 ---- slave_prio = rtapi_prio_lowest(); ! /* create the slave task */ ! retval = rtapi_task_new( &slave_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "sem slave init: rtapi_task_new returned %d\n", retval ); return -1; } ! /* start the slave task */ ! retval = rtapi_task_start( slave_task, slave_code, ! 0, slave_prio, ! SLAVE_STACKSIZE, ! 0 /* not periodic */, RTAPI_NO_FP ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem slave init: rtapi_task_start returned %d\n", retval ); return -1; } ! rtapi_print("sem slave init: started slave task\n"); return 0; *************** *** 59,73 **** void rtapi_app_exit(void) { ! if (0 != slave_task) { ! if (0 != rtapi_task_stop(slave_task)) { ! rtapi_print("slavetask: can't stop slave task\n"); ! } ! if (0 != rtapi_task_delete(slave_task)) { ! rtapi_print("slavetask: can't delete slave task\n"); ! } ! slave_task = 0; } ! rtapi_print("slavetask: slave count is %d\n", slave_count); rtapi_app_return(); --- 64,81 ---- void rtapi_app_exit(void) { ! int retval; ! ! retval = rtapi_task_stop( slave_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem slave exit: rtapi_task_stop returned %d\n", retval ); ! return; ! } ! retval = rtapi_task_delete( slave_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("sem slave exit: rtapi_task_delete returned %d\n", retval ); ! return; } ! rtapi_print("sem slave exit: slave count is %d\n", slave_count); rtapi_app_return(); |
From: <jmk...@us...> - 2003-07-23 01:22:52
|
Update of /cvsroot/emc/rtapi/examples/timertask In directory sc8-pr-cvs1:/tmp/cvs-serv23441/examples/timertask Modified Files: timertask.c Log Message: changed examples to use new api - fifo not working yet Index: timertask.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/timertask/timertask.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** timertask.c 22 Jul 2003 17:20:22 -0000 1.2 --- timertask.c 23 Jul 2003 01:22:49 -0000 1.3 *************** *** 9,19 **** #include "rtapi_app.h" /* rtapi_app_main,exit() */ ! static void *timer_task = 0; /* pointer to the task structure */ static int timer_count = 0; /* the output variable */ enum { TIMER_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ enum { TIMER_STACKSIZE = 1024 }; /* how big the stack is */ ! /* task code, executed each timer interrupt */ ! static void timer_code(int t) { while (1) { --- 9,18 ---- #include "rtapi_app.h" /* rtapi_app_main,exit() */ ! static rtapi_task_handle timer_task; /* the task */ static int timer_count = 0; /* the output variable */ enum { TIMER_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ enum { TIMER_STACKSIZE = 1024 }; /* how big the stack is */ ! static void timer_code( int arg ) { while (1) { *************** *** 28,65 **** int rtapi_app_main(void) { int timer_prio; - int ret_val; if (0 != rtapi_app_init()) { return -1; } /* set the base timer period */ ! rtapi_clock_set_period(TIMER_PERIOD_NSEC); /* set the task priority to lowest, since we only have one task */ timer_prio = rtapi_prio_lowest(); ! /* launch the timer task */ ! // timer_task = rtapi_task_new(); ! ret_val = rtapi_task_new(&timer_task); ! if (0 != ret_val) { ! rtapi_print("timertask: can't allocate timer task %d\n", ret_val); ! return -1; ! } ! ! if (timer_task == NULL) { ! rtapi_print("timertask: Pointer returned is NULL\n"); return -1; } ! ret_val = rtapi_task_start(timer_task, timer_code, 0, timer_prio, TIMER_STACKSIZE, TIMER_PERIOD_NSEC, 0); ! ! if (0 != ret_val ) { ! rtapi_print("timertask: can't start timer task %d\n", ret_val); return -1; } ! rtapi_print("timertask: started timer task\n"); return 0; --- 27,66 ---- int rtapi_app_main(void) { + int retval; int timer_prio; + /* init is still in a state of change - right now this isn't needed if (0 != rtapi_app_init()) { return -1; } + */ /* set the base timer period */ ! retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "timertask init: rtapi_clock_set_period returned %d\n", retval ); ! return -1; ! } /* set the task priority to lowest, since we only have one task */ timer_prio = rtapi_prio_lowest(); ! /* create the timer task */ ! retval = rtapi_task_new( &timer_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "timertask init: rtapi_task_new returned %d\n", retval ); return -1; } ! retval = rtapi_task_start( timer_task, timer_code, ! 0, timer_prio, ! TIMER_STACKSIZE, ! TIMER_PERIOD_NSEC, RTAPI_NO_FP ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("timertask init: rtapi_task_start returned %d\n", retval ); return -1; } ! rtapi_print( "timertask init: started timer task\n" ); return 0; *************** *** 69,83 **** void rtapi_app_exit(void) { ! if (0 != timer_task) { ! if (0 != rtapi_task_stop(timer_task)) { ! rtapi_print("timertask: can't stop timer task\n"); ! } ! if (0 != rtapi_task_delete(timer_task)) { ! rtapi_print("timertask: can't delete timer task\n"); ! } ! timer_task = 0; } ! rtapi_print("timertask: timer count is %d\n", timer_count); rtapi_app_return(); --- 70,87 ---- void rtapi_app_exit(void) { ! int retval; ! ! retval = rtapi_task_stop(timer_task); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("timertask exit: rtapi_task_stop returned %d\n", retval ); ! return; ! } ! retval = rtapi_task_delete( timer_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("timertask exit: rtapi_task_delete returned %d\n", retval ); ! return; } ! rtapi_print("timertask exit: timer count is %d\n", timer_count); rtapi_app_return(); |
Update of /cvsroot/emc/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv23441 Modified Files: Makefile.inc configure rtai-1.3.mk rtai-1.7.mk rtai.mk rtlinux-2.2.mk rtlinux-3.0.mk rtlinux.mk Log Message: changed examples to use new api - fifo not working yet Index: Makefile.inc =================================================================== RCS file: /cvsroot/emc/rtapi/Makefile.inc,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile.inc 19 Jul 2003 07:17:22 -0000 1.4 --- Makefile.inc 23 Jul 2003 01:22:49 -0000 1.5 *************** *** 10,14 **** MOD_DIR = /lib/modules/2.4.18-rtai/misc CC = gcc ! CFLAGS = -g -I$(INC_DIR) -Wall CLINK = RTDIR = /usr/src/rtai-24.1.10 --- 10,14 ---- MOD_DIR = /lib/modules/2.4.18-rtai/misc CC = gcc ! CFLAGS = -g -Wall -I$(INC_DIR) CLINK = RTDIR = /usr/src/rtai-24.1.10 *************** *** 18,23 **** # Makefile add-ons from rtai.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o --- 18,23 ---- # Makefile add-ons from rtai.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o Index: configure =================================================================== RCS file: /cvsroot/emc/rtapi/configure,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** configure 22 Jul 2003 17:20:21 -0000 1.3 --- configure 23 Jul 2003 01:22:49 -0000 1.4 *************** *** 29,33 **** echo CC = gcc >> Makefile.inc ! echo CFLAGS = -g -I\$\(INC_DIR\) >> Makefile.inc echo CLINK = >> Makefile.inc --- 29,33 ---- echo CC = gcc >> Makefile.inc ! echo CFLAGS = -g -Wall -I\$\(INC_DIR\) >> Makefile.inc echo CLINK = >> Makefile.inc Index: rtai-1.3.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtai-1.3.mk,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** rtai-1.3.mk 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- rtai-1.3.mk 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 2,7 **** # Makefile add-ons from rtai-1.3.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o --- 2,7 ---- # Makefile add-ons from rtai-1.3.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o Index: rtai-1.7.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtai-1.7.mk,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** rtai-1.7.mk 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- rtai-1.7.mk 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 2,7 **** # Makefile add-ons from rtai-1.7.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o --- 2,7 ---- # Makefile add-ons from rtai-1.7.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o Index: rtai.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtai.mk,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** rtai.mk 22 Jul 2003 17:20:21 -0000 1.2 --- rtai.mk 23 Jul 2003 01:22:49 -0000 1.3 *************** *** 2,7 **** # Makefile add-ons from rtai.mk ! RTFLAGS = $(KERNEL_INC) -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o --- 2,7 ---- # Makefile add-ons from rtai.mk ! RTFLAGS = -Wall $(KERNEL_INC) -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtai_rtapi.o Index: rtlinux-2.2.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtlinux-2.2.mk,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** rtlinux-2.2.mk 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- rtlinux-2.2.mk 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 2,7 **** # Makefile add-ons from rtlinux-2.2.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -I$(RTDIR)/linux/include -I$(RTDIR)/include/posix -I$(RTDIR)/include/compat -O2 -ffast-math -D__RTL__ -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtl_rtapi.o --- 2,7 ---- # Makefile add-ons from rtlinux-2.2.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -I$(RTDIR)/linux/include -I$(RTDIR)/include/posix -I$(RTDIR)/include/compat -O2 -ffast-math -D__RTL__ -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtl_rtapi.o Index: rtlinux-3.0.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtlinux-3.0.mk,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** rtlinux-3.0.mk 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- rtlinux-3.0.mk 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 2,7 **** # Makefile add-ons from rtlinux-3.0.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -I$(RTDIR)/linux/include -I$(RTDIR)/include/posix -I$(RTDIR)/include/compat -O2 -ffast-math -D__RTL__ -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/linux/include -I$(RTDIR)/include -I$(RTDIR)/include/compat RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtl_rtapi.o --- 2,7 ---- # Makefile add-ons from rtlinux-3.0.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -I$(RTDIR)/linux/include -I$(RTDIR)/include/posix -I$(RTDIR)/include/compat -O2 -ffast-math -D__RTL__ -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/linux/include -I$(RTDIR)/include -I$(RTDIR)/include/compat RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtl_rtapi.o Index: rtlinux.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtlinux.mk,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** rtlinux.mk 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- rtlinux.mk 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 2,7 **** # Makefile add-ons from rtlinux.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -I$(RTDIR)/linux/include -I$(RTDIR)/include/posix -I$(RTDIR)/include/compat -O2 -ffast-math -D__RTL__ -D__KERNEL__ -DMODULE ! ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtl_rtapi.o --- 2,7 ---- # Makefile add-ons from rtlinux.mk ! RTFLAGS = -Wall -I$(INC_DIR) -I$(RTDIR)/include -I$(RTDIR)/linux/include -I$(RTDIR)/include/posix -I$(RTDIR)/include/compat -O2 -ffast-math -D__RTL__ -D__KERNEL__ -DMODULE ! ULFLAGS = -Wall -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static RTAPI = $(RTLIB_DIR)/rtl_rtapi.o |
From: <jmk...@us...> - 2003-07-23 01:22:52
|
Update of /cvsroot/emc/rtapi/examples/fifo In directory sc8-pr-cvs1:/tmp/cvs-serv23441/examples/fifo Modified Files: fifotask.c fifousr.c Log Message: changed examples to use new api - fifo not working yet Index: fifotask.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/fifo/fifotask.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** fifotask.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- fifotask.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 9,27 **** #include "common.h" /* FIFO_KEY */ ! static void *fifo_task = 0; /* the task structure */ enum { FIFO_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */ enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */ ! static int fifo_fd = -1; ! static int count = 0; /* task code, executed each timer interrupt */ ! void fifo_code(void) { char buffer[FIFO_SIZE + 1] = { '\n' }; while (1) { ! rtapi_fifo_write(fifo_fd, buffer, FIFO_SIZE); count++; rtapi_wait(); } --- 9,33 ---- #include "common.h" /* FIFO_KEY */ ! static rtapi_task_handle fifo_task = 0; /* the task structure */ ! static rtapi_fifo_handle fifo; enum { FIFO_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */ enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */ ! static int count = 1; /* task code, executed each timer interrupt */ ! void fifo_code( int arg ) { + int n; char buffer[FIFO_SIZE + 1] = { '\n' }; while (1) { ! for ( n = 0 ; n < count ; n++ ) { ! buffer[n] = '0' + count; ! } ! rtapi_fifo_write ( fifo, buffer, count ); count++; + if ( count > 9 ) + count = 1; rtapi_wait(); } *************** *** 33,54 **** int rtapi_app_main(void) { int fifo_prio; - int t; if (0 != rtapi_init()) { return -1; } /* allocate and initialize the fifo */ ! rtapi_fifo_new(FIFO_KEY, &fifo_fd, FIFO_SIZE); ! if (fifo_fd < 0) { ! rtapi_print("fifotask: can't create fifo\n"); return -1; - } else { - rtapi_print("fifotask: created fifo %d\n", fifo_fd); } /* set the base timer period */ ! rtapi_clock_set_period(FIFO_PERIOD_NSEC); /* set the task priority to lowest, since we only have one task */ --- 39,65 ---- int rtapi_app_main(void) { + int retval; int fifo_prio; + /* if (0 != rtapi_init()) { return -1; } + */ /* allocate and initialize the fifo */ ! retval = rtapi_fifo_new( FIFO_KEY, FIFO_SIZE, &fifo ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "fifotask init: rtapi_fifo_new returned %d\n", retval ); return -1; } + rtapi_print("fifotask init: created fifo\n" ); /* set the base timer period */ ! retval = rtapi_clock_set_period(FIFO_PERIOD_NSEC); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "fifotask init: rtapi_clock_set_period returned %d\n", retval ); ! return -1; ! } /* set the task priority to lowest, since we only have one task */ *************** *** 56,69 **** /* launch the fifo task */ ! fifo_task = rtapi_task_new(); ! if (0 == fifo_task) { ! rtapi_print("fifotask: can't allocate fifo task\n"); return -1; } ! if (0 != ! rtapi_task_start(fifo_task, fifo_code, fifo_prio, FIFO_STACKSIZE, ! FIFO_PERIOD_NSEC, 0)) { ! rtapi_print("fifotask: can't start fifo task\n"); return -1; } --- 67,83 ---- /* launch the fifo task */ ! retval = rtapi_task_new( &fifo_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print( "fifotask init: rtapi_task_new returned %d\n", retval ); return -1; } ! /* start the fifo task */ ! retval = rtapi_task_start( fifo_task, fifo_code, ! 0, fifo_prio, ! FIFO_STACKSIZE, ! FIFO_PERIOD_NSEC, RTAPI_NO_FP ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("fifotask init: rtapi_task_start returned %d\n", retval ); return -1; } *************** *** 77,98 **** void rtapi_app_exit(void) { ! if (0 != fifo_task) { ! if (0 != rtapi_task_stop(fifo_task)) { ! rtapi_print("fifotask: can't stop fifo task\n"); ! } ! if (0 != rtapi_task_delete(fifo_task)) { ! rtapi_print("fifotask: can't delete fifo task\n"); ! } ! fifo_task = 0; } ! if (fifo_fd < 0) { ! if (0 != rtapi_fifo_delete(FIFO_KEY, fifo_fd, FIFO_SIZE)) { ! rtapi_print("fifotask: can't free fifo\n"); ! } ! fifo_fd = -1; } ! rtapi_print("fifotask: %d writes\n", count); rtapi_app_return(); --- 91,114 ---- void rtapi_app_exit(void) { ! int retval; ! ! retval = rtapi_task_stop( fifo_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("fifotask exit: rtapi_task_stop returned %d\n", retval ); ! return; ! } ! retval = rtapi_task_delete( fifo_task ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("fifotask exit: rtapi_task_delete returned %d\n", retval ); ! return; } ! retval = rtapi_fifo_delete( fifo ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("fifotask exit: rtapi_fifo_delete returned %d\n", retval ); ! return; } ! rtapi_print("fifotask exit: %d writes\n", count); rtapi_app_return(); Index: fifousr.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/fifo/fifousr.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** fifousr.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- fifousr.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 19,38 **** int main() { ! fd_set rfds; ! struct timeval tv; ! int fifo_fd; char buffer[FIFO_SIZE + 1]; int nchars; ! int count; ! if (0 != ulapi_init()) { ! fprintf(stderr, "can't initialize ulapi\n"); ! return 1; } ! ulapi_fifo_new(FIFO_KEY, &fifo_fd, FIFO_SIZE); ! if (fifo_fd < 0) { ! fprintf(stderr, "can't open fifo\n"); ! return 1; } --- 19,38 ---- int main() { ! ulapi_fifo_handle fifo; char buffer[FIFO_SIZE + 1]; int nchars; ! int retval; ! retval = ulapi_init(); ! if ( retval != ULAPI_SUCCESS ) { ! printf("fifousr main: ulapi_init returned %d\n", retval ); ! return -1; } ! /* open the fifo */ ! retval = ulapi_fifo_new( FIFO_KEY, FIFO_SIZE, 'R', &fifo ); ! if ( retval != ULAPI_SUCCESS ) { ! printf( "fifousr main: ulapi_fifo_new returned %d\n", retval ); ! return -1; } *************** *** 41,59 **** signal(SIGINT, quit); - count = 0; - tv.tv_sec = 1; - tv.tv_usec = 0; while (1) { ! FD_ZERO(&rfds); ! FD_SET(fifo_fd, &rfds); ! if (select(FD_SETSIZE, &rfds, NULL, NULL, &tv) > 0) { ! if (FD_ISSET(fifo_fd, &rfds)) { ! nchars = ulapi_fifo_read(fifo_fd, buffer, FIFO_SIZE); ! count++; ! printf("got %d chars\n", nchars); ! } ! } else { ! printf("timed out\n"); ! break; } } --- 41,52 ---- signal(SIGINT, quit); while (1) { ! nchars = ulapi_fifo_read( fifo, buffer, FIFO_SIZE ); ! if ( retval < 0 ) { ! printf ( "fifousr main: ulapi_fifo_read returned %d\n", nchars ); ! } ! else { ! buffer[nchars] = '\0'; ! printf("fifousr main: read %d chars: '%s'\n", nchars, buffer); } } *************** *** 61,67 **** END: ! printf("%d total reads\n", count); ! ulapi_fifo_delete(FIFO_KEY, fifo_fd, FIFO_SIZE); return ulapi_exit(); --- 54,64 ---- END: ! printf( "shutting down\n" ); ! retval = ulapi_fifo_delete( fifo ); ! if ( retval != ULAPI_SUCCESS ) { ! printf( "fifousr main: ulapi_fifo_delete returned %d\n", retval ); ! return -1; ! } return ulapi_exit(); |
From: <jmk...@us...> - 2003-07-23 01:22:52
|
Update of /cvsroot/emc/rtapi/examples/extint In directory sc8-pr-cvs1:/tmp/cvs-serv23441/examples/extint Modified Files: extint.c Log Message: changed examples to use new api - fifo not working yet Index: extint.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/extint/extint.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** extint.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- extint.c 23 Jul 2003 01:22:49 -0000 1.2 *************** *** 25,36 **** int rtapi_app_main(void) { if (0 != rtapi_app_init()) { return -1; ! } /* set up ISR */ ! rtapi_free_interrupt_handler(PARPORT_IRQ); ! rtapi_assign_interrupt_handler(PARPORT_IRQ, parport_irq_handler); ! rtapi_enable_interrupt(PARPORT_IRQ); /* enable parallel port hardware interrupts */ --- 25,51 ---- int rtapi_app_main(void) { + int retval; + + /* if (0 != rtapi_app_init()) { return -1; ! }*/ /* set up ISR */ ! retval = rtapi_free_interrupt_handler(PARPORT_IRQ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("extint init: rtapi_free_interrupt returned %d\n", retval ); ! /*return -1;*/ ! } ! retval = rtapi_assign_interrupt_handler(PARPORT_IRQ, parport_irq_handler); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("extint init: rtapi_assign_interrupt_handler returned %d\n", retval ); ! return -1; ! } ! retval = rtapi_enable_interrupt(PARPORT_IRQ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("extint init: rtapi_enable_interrupt returned %d\n", retval ); ! return -1; ! } /* enable parallel port hardware interrupts */ *************** *** 41,46 **** --- 56,64 ---- } + void rtapi_app_exit(void) { + int retval; + /* disable parallel port hardware interrupts */ rtapi_outb(rtapi_inb(PARPORT_BASE_ADDRESS + 2) & (~0x10), *************** *** 48,56 **** /* clear ISR */ ! rtapi_disable_interrupt(PARPORT_IRQ); ! rtapi_free_interrupt_handler(PARPORT_IRQ); ! rtapi_print("extint: interrupt count is %d\n", timer_count); ! rtapi_app_return(); } --- 66,82 ---- /* clear ISR */ ! retval = rtapi_disable_interrupt(PARPORT_IRQ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("extint exit: rtapi_disable_interrupt returned %d\n", retval ); ! return; ! } ! retval = rtapi_free_interrupt_handler(PARPORT_IRQ); ! if ( retval != RTAPI_SUCCESS ) { ! rtapi_print("extint exit: rtapi_disable_interrupt returned %d\n", retval ); ! return; ! } ! rtapi_print("extint exit: interrupt count is %d\n", timer_count); ! /* rtapi_app_return(); */ } |
From: <pa...@us...> - 2003-07-22 17:20:35
|
Update of /cvsroot/emc/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv32109 Modified Files: configure install_realtime_base rtai.mk Log Message: A few small changes to enable the timetask example to work with 2.4.21-adeos Index: configure =================================================================== RCS file: /cvsroot/emc/rtapi/configure,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** configure 19 Jul 2003 01:32:47 -0000 1.2 --- configure 22 Jul 2003 17:20:21 -0000 1.3 *************** *** 22,25 **** --- 22,31 ---- echo MOD_DIR = /lib/modules/$version/misc >> Makefile.inc + if [ -d /lib/modules/$version/build ] ; then + # We have a 2.4 or later kernel if this symlink exists, + # so add an include to the correct headers for the kernel running. + echo KERNEL_INC = -I/lib/modules/$version/build/include >> Makefile.inc + fi + echo CC = gcc >> Makefile.inc echo CFLAGS = -g -I\$\(INC_DIR\) >> Makefile.inc *************** *** 88,92 **** # ditto for an RTAI boot by looking through the kernel for telltale symbols: # set_rtai_callback, remove_rtai_callback for 2.2, 2.4 kernels ! RTAIBOOT=$(/sbin/ksyms -a | grep _rtai_ | wc -l) if [ $RTAIBOOT -gt 0 ] ; then echo found RTAI installed in the kernel --- 94,98 ---- # ditto for an RTAI boot by looking through the kernel for telltale symbols: # set_rtai_callback, remove_rtai_callback for 2.2, 2.4 kernels ! RTAIBOOT=$(/sbin/ksyms -a | grep -E '(_rtai_|_adeos_)' | wc -l) if [ $RTAIBOOT -gt 0 ] ; then echo found RTAI installed in the kernel Index: install_realtime_base =================================================================== RCS file: /cvsroot/emc/rtapi/install_realtime_base,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** install_realtime_base 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- install_realtime_base 22 Jul 2003 17:20:21 -0000 1.2 *************** *** 22,28 **** ! # If the symbol rthal is found in ksyms assume we are using # rtai instead of rtlinux. ! if /sbin/ksyms -a | grep rthal >${nullfile} 2>${nullfile} ; then # Check to see if the rtai module is already installed.. --- 22,28 ---- ! # If the symbol rthal or adeos is found in ksyms assume we are using # rtai instead of rtlinux. ! if /sbin/ksyms -a | grep -E '(rthal|adeos)' >${nullfile} 2>${nullfile} ; then # Check to see if the rtai module is already installed.. Index: rtai.mk =================================================================== RCS file: /cvsroot/emc/rtapi/rtai.mk,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** rtai.mk 8 Jul 2003 15:54:38 -0000 1.1.1.1 --- rtai.mk 22 Jul 2003 17:20:21 -0000 1.2 *************** *** 2,6 **** # Makefile add-ons from rtai.mk ! RTFLAGS = -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static --- 2,6 ---- # Makefile add-ons from rtai.mk ! RTFLAGS = $(KERNEL_INC) -I$(INC_DIR) -I$(RTDIR)/include -O2 -ffast-math -D__KERNEL__ -DMODULE ULFLAGS = -g -I$(INC_DIR) -I$(RTDIR)/include RTLINK = ld -r -static |
From: <pa...@us...> - 2003-07-22 17:20:25
|
Update of /cvsroot/emc/rtapi/src/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv32109/src/rtapi Modified Files: localdefs.h rtai_rtapi.c rtapi.h sim_rtapi.c Log Message: A few small changes to enable the timetask example to work with 2.4.21-adeos Index: localdefs.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/localdefs.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** localdefs.h 19 Jul 2003 07:17:22 -0000 1.4 --- localdefs.h 22 Jul 2003 17:20:22 -0000 1.5 *************** *** 2,8 **** #define LOCALDEFS_H ! /* automatically generated by config script on Fri Jul 18 22:40:51 EDT 2003 */ ! #define LOCAL_MHZ 233.866 #endif --- 2,8 ---- #define LOCALDEFS_H ! /* automatically generated by config script on Tue Jul 22 13:03:40 UTC 2003 */ ! #define LOCAL_MHZ 807.966 #endif Index: rtai_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rtai_rtapi.c 19 Jul 2003 07:17:22 -0000 1.4 --- rtai_rtapi.c 22 Jul 2003 17:20:22 -0000 1.5 *************** *** 134,138 **** /* validate taskptr */ ! if ( taskptr == NULL ) return RTAPI_INVAL; --- 134,138 ---- /* validate taskptr */ ! if ( &taskptr == NULL ) return RTAPI_INVAL; *************** *** 146,150 **** /* and return handle to the caller */ ! *taskptr = task; return RTAPI_SUCCESS; --- 146,150 ---- /* and return handle to the caller */ ! taskptr = task; return RTAPI_SUCCESS; *************** *** 406,410 **** vsprintf(buffer, fmt, args); rt_printk(buffer); ! va_end(ap); } --- 406,410 ---- vsprintf(buffer, fmt, args); rt_printk(buffer); ! va_end(args); } Index: rtapi.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtapi.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** rtapi.h 19 Jul 2003 07:17:22 -0000 1.5 --- rtapi.h 22 Jul 2003 17:20:22 -0000 1.6 *************** *** 95,100 **** * rtapi_task_new(). 'taskcode' is the name of a function taking one * * int and returning void, which contains the task code. 'arg' will be * ! * passed to 'taskcode' when the task is invoked. 'prio' is the * ! * priority, as determined by one of the priority functions above. * * 'stacksize' is the amount of stack to be reserved for the task - be * * generous, hardware interrupts may use the same stack. 'period_nsec' * --- 95,101 ---- * rtapi_task_new(). 'taskcode' is the name of a function taking one * * int and returning void, which contains the task code. 'arg' will be * ! * passed to 'taskcode' as an abitrary int value when the task is * ! * invoked. 'prio' is the priority, as determined by one of the * ! * priority functions above. * * 'stacksize' is the amount of stack to be reserved for the task - be * * generous, hardware interrupts may use the same stack. 'period_nsec' * Index: sim_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/sim_rtapi.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sim_rtapi.c 19 Jul 2003 07:17:22 -0000 1.3 --- sim_rtapi.c 22 Jul 2003 17:20:22 -0000 1.4 *************** *** 397,401 **** va_start(args, fmt); vprintf(fmt, args); ! va_end(ap); } --- 397,401 ---- va_start(args, fmt); vprintf(fmt, args); ! va_end(args); } |
From: <pa...@us...> - 2003-07-22 17:20:25
|
Update of /cvsroot/emc/rtapi/examples/timertask In directory sc8-pr-cvs1:/tmp/cvs-serv32109/examples/timertask Modified Files: timertask.c Log Message: A few small changes to enable the timetask example to work with 2.4.21-adeos Index: timertask.c =================================================================== RCS file: /cvsroot/emc/rtapi/examples/timertask/timertask.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** timertask.c 8 Jul 2003 15:54:39 -0000 1.1.1.1 --- timertask.c 22 Jul 2003 17:20:22 -0000 1.2 *************** *** 9,13 **** #include "rtapi_app.h" /* rtapi_app_main,exit() */ ! static void *timer_task = 0; /* the task structure */ static int timer_count = 0; /* the output variable */ enum { TIMER_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ --- 9,13 ---- #include "rtapi_app.h" /* rtapi_app_main,exit() */ ! static void *timer_task = 0; /* pointer to the task structure */ static int timer_count = 0; /* the output variable */ enum { TIMER_PERIOD_NSEC = 1000000 }; /* timer period, in nanoseconds */ *************** *** 15,19 **** /* task code, executed each timer interrupt */ ! void timer_code(void) { while (1) { --- 15,19 ---- /* task code, executed each timer interrupt */ ! static void timer_code(int t) { while (1) { *************** *** 29,32 **** --- 29,33 ---- { int timer_prio; + int ret_val; if (0 != rtapi_app_init()) { *************** *** 41,52 **** /* launch the timer task */ ! timer_task = rtapi_task_new(); ! if (0 == timer_task) { ! rtapi_print("timertask: can't allocate timer task\n"); return -1; } ! if (0 != rtapi_task_start(timer_task, timer_code, timer_prio, TIMER_STACKSIZE, TIMER_PERIOD_NSEC, 0)) { /* 0 = no floating point */ ! rtapi_print("timertask: can't start timer task\n"); return -1; } --- 42,61 ---- /* launch the timer task */ ! // timer_task = rtapi_task_new(); ! ret_val = rtapi_task_new(&timer_task); ! if (0 != ret_val) { ! rtapi_print("timertask: can't allocate timer task %d\n", ret_val); return -1; } ! if (timer_task == NULL) { ! rtapi_print("timertask: Pointer returned is NULL\n"); ! return -1; ! } ! ! ret_val = rtapi_task_start(timer_task, timer_code, 0, timer_prio, TIMER_STACKSIZE, TIMER_PERIOD_NSEC, 0); ! ! if (0 != ret_val ) { ! rtapi_print("timertask: can't start timer task %d\n", ret_val); return -1; } |
From: <pa...@us...> - 2003-07-21 20:25:22
|
Update of /cvsroot/emc/emc In directory sc8-pr-cvs1:/tmp/cvs-serv28668 Modified Files: sim.var Log Message: Set param 5220 to 1.000 Index: sim.var =================================================================== RCS file: /cvsroot/emc/emc/sim.var,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** sim.var 29 Jun 2003 02:33:12 -0000 1.11 --- sim.var 21 Jul 2003 20:25:19 -0000 1.12 *************** *** 17,21 **** 5215 0.000000 5216 0.000000 ! 5220 0.000000 5221 0.000000 5222 0.000000 --- 17,21 ---- 5215 0.000000 5216 0.000000 ! 5220 1.000000 5221 0.000000 5222 0.000000 |
From: <ray...@us...> - 2003-07-21 13:15:05
|
Update of /cvsroot/emc/documents/lyx In directory sc8-pr-cvs1:/tmp/cvs-serv9754 Modified Files: README.lyx README.txt Master_User.lyx User_BDI_Install.lyx User_Whatis_EMC.lyx Log Message: editorial changes Index: README.lyx =================================================================== RCS file: /cvsroot/emc/documents/lyx/README.lyx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README.lyx 19 Jul 2003 01:27:24 -0000 1.2 --- README.lyx 21 Jul 2003 13:15:02 -0000 1.3 *************** *** 206,208 **** --- 206,246 ---- It is not a good idea to use Protected Blanks at the beginning of a paragraph as the do not get reproduced very well. + \layout Subsection + + Index + \layout Standard + + Index works and each master doc includes one. + + \layout Itemize + + You may use multiple words and white space in an index. + \layout Itemize + + Put an index mark by each word and each instance that you wish to have included. + + \layout Itemize + + The index previous word works but not with numbers or punctuation marks. + Put these in by hand. + \layout Itemize + + Do not use underscores in an index. + They cause the latex to think you want to do math but missed a code. + The conversions fail completely with two errors about math symbols. + \layout Subsection + + Labels and cross references between chapters + \layout Standard + + Labels and cross references will work from one chapter to another when chapters + are assembled into books. + To set a cross reference, create the labels in the chapter that you want + the cross references to use. + When you have all of the labels that you need, open the cross reference + widget with that chapter on top so that you see all of the labels that + are available in that chapter. + With that open, change documents to the chapter into which you wish to + insert the reference and put them where you want them. + \the_end Index: README.txt =================================================================== RCS file: /cvsroot/emc/documents/lyx/README.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README.txt 19 Jul 2003 10:13:26 -0000 1.2 --- README.txt 21 Jul 2003 13:15:02 -0000 1.3 *************** *** 3,7 **** README ! 1 Organization of this directory This file has been produced from a master that is written --- 3,7 ---- README ! 1.1 Organization of this directory This file has been produced from a master that is written *************** *** 10,14 **** bookman font. This SourceForge module contains the EMC documentation. ! 2 Master LyX Files There are three main or master files that are used to build --- 10,14 ---- bookman font. This SourceForge module contains the EMC documentation. ! 1.2 Master LyX Files There are three main or master files that are used to build *************** *** 28,32 **** using similar master files. ! 3 Chapter Files Chapter files intended for the user handbook have been named --- 28,32 ---- using similar master files. ! 1.3 Chapter Files Chapter files intended for the user handbook have been named *************** *** 39,43 **** begins with a single chapter name. ! 4 General Files Several general files like the glossary, faq, and copyright --- 39,43 ---- begins with a single chapter name. ! 1.4 General Files Several general files like the glossary, faq, and copyright *************** *** 45,49 **** of the master documents. ! 5 LyX Versions LyX 1.1.6fix4-1 was used to write these docs - If you wish --- 45,49 ---- of the master documents. ! 1.5 LyX Versions LyX 1.1.6fix4-1 was used to write these docs - If you wish *************** *** 51,61 **** The latest release lyx-1.3.2 will read the docs, but according ! to the press release, files saved with lyx-1.2.0 or later can not be read by lyx-1.1.6. Please bare this in mind should you wish to add to this repository. ! 6 LyX Notes ! 6.1 Path Names LyX seems to be unable to handle path names starting with --- 51,61 ---- The latest release lyx-1.3.2 will read the docs, but according ! to the press release, files saved with lyx-1.2+ can not be read by lyx-1.1.6. Please bare this in mind should you wish to add to this repository. ! 1.6 LyX Notes ! 1.6.1 Path Names LyX seems to be unable to handle path names starting with *************** *** 65,69 **** might want to do a search and replace on /usr/share/lyx/EMC_images. ! 6.2 Thoughts for contributors There are a few notes below for developers who wish to edit --- 65,69 ---- might want to do a search and replace on /usr/share/lyx/EMC_images. ! 1.6.2 Thoughts for contributors There are a few notes below for developers who wish to edit *************** *** 83,87 **** to png as a matter of course. ! 6.3 Image conversion Conversion of images is a simple matter of using Imagemagic --- 83,87 ---- to png as a matter of course. ! 1.6.3 Image conversion Conversion of images is a simple matter of using Imagemagic *************** *** 94,98 **** on startup, and also some problems with generating pdf docs. ! 6.4 Fonts * Bookman is the default font used in all EMC handbooks. --- 94,98 ---- on startup, and also some problems with generating pdf docs. ! 1.6.4 Fonts * Bookman is the default font used in all EMC handbooks. *************** *** 109,113 **** Black ! 6.5 White space When more than one blank space is required between characters, --- 109,113 ---- Black ! 1.6.5 White space When more than one blank space is required between characters, *************** *** 127,129 **** It is not a good idea to use Protected Blanks at the beginning ! of a paragraph as they do not get reproduced very well. --- 127,157 ---- It is not a good idea to use Protected Blanks at the beginning ! of a paragraph as the do not get reproduced very well. ! ! 1.6.6 Index ! ! Index works and each master doc includes one. ! ! * You may use multiple words and white space in an index. ! ! * Put an index mark by each word and each instance that you ! wish to have included. ! ! * The index previous word works but not with numbers or punctuation ! marks. Put these in by hand. ! ! * Do not use underscores in an index. They cause the latex ! to think you want to do math but missed a code. The conversions ! fail completely with two errors about math symbols. ! ! 1.6.7 Labels and cross references between chapters ! ! Labels and cross references will work from one chapter to ! another when chapters are assembled into books. To set a ! cross reference, create the labels in the chapter that you ! want the cross references to use. When you have all of the ! labels that you need, open the cross reference widget with ! that chapter on top so that you see all of the labels that ! are available in that chapter. With that open, change documents ! to the chapter into which you wish to insert the reference ! and put them where you want them. Index: Master_User.lyx =================================================================== RCS file: /cvsroot/emc/documents/lyx/Master_User.lyx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Master_User.lyx 20 Jul 2003 13:34:23 -0000 1.3 --- Master_User.lyx 21 Jul 2003 13:15:02 -0000 1.4 *************** *** 18,22 **** \leftmargin 1.2in \topmargin 1in ! \rightmargin 0.6in \bottommargin 0.6in \secnumdepth 5 --- 18,22 ---- \leftmargin 1.2in \topmargin 1in ! \rightmargin 0.8in \bottommargin 0.6in \secnumdepth 5 *************** *** 66,70 **** Copyright (c) 2000-3 LinuxCNC.org \layout Standard ! \line_top \line_bottom \noindent Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later --- 66,70 ---- Copyright (c) 2000-3 LinuxCNC.org \layout Standard ! \added_space_top 0.5in \line_top \line_bottom \noindent Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later Index: User_BDI_Install.lyx =================================================================== RCS file: /cvsroot/emc/documents/lyx/User_BDI_Install.lyx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** User_BDI_Install.lyx 20 Jul 2003 13:49:14 -0000 1.3 --- User_BDI_Install.lyx 21 Jul 2003 13:15:02 -0000 1.4 *************** *** 97,101 **** of years ago. This means that it is limited in the kinds of devices that it will recognize. - \layout Standard --- 97,100 ---- *************** *** 119,123 **** The TNG will require a bit more powerful machine. I recommend at least 400 Mhz but 800 is a lot nicer in the way it handles multiple tasks quickly. - \layout Standard --- 118,121 ---- Index: User_Whatis_EMC.lyx =================================================================== RCS file: /cvsroot/emc/documents/lyx/User_Whatis_EMC.lyx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** User_Whatis_EMC.lyx 18 Jul 2003 18:46:07 -0000 1.3 --- User_Whatis_EMC.lyx 21 Jul 2003 13:15:02 -0000 1.4 *************** *** 153,158 **** The source code files that make up the controller are kept in a repository on www.sourceforge.net. ! They are available for anyone to download and use as they see fit. Some ! of the files are public domain while others carry a GPL or GPLD copyright. These files require that you make your source of them available to your users. --- 153,158 ---- The source code files that make up the controller are kept in a repository on www.sourceforge.net. ! They are available for anyone to download and use as they see fit. ! Some of the files are public domain while others carry a GPL or GPLD copyright. These files require that you make your source of them available to your users. *************** *** 166,172 **** \layout Standard ! The EMC code can be compiled for a number of operating systems. The most ! common is some variant of real time extensions for the Linux OS. In addition ! to the raw code, some binary distributions are available. Most of these are a part of the Brain Dead Install or BDI. The BDI is a complete distribution. --- 166,172 ---- \layout Standard ! The EMC code can be compiled for a number of operating systems. ! The most common is some variant of real time extensions for the Linux OS. ! In addition to the raw code, some binary distributions are available. Most of these are a part of the Brain Dead Install or BDI. The BDI is a complete distribution. *************** *** 226,230 **** Typical EMC Controlled Machine \end_float ! There are four main components to the EMC software: a motion controller (EMCMOT), a discrete I/O controller (EMCIO), a task executor which coordinates them (EMCTASK), and a collection of text-based or graphical user interfaces. --- 226,232 ---- Typical EMC Controlled Machine \end_float ! \layout Standard ! ! There are four main components to the EMC software: a motion controller (EMCMOT), a discrete I/O controller (EMCIO), a task executor which coordinates them (EMCTASK), and a collection of text-based or graphical user interfaces. |
From: <ms...@us...> - 2003-07-21 02:51:38
|
Update of /cvsroot/emc/emc/src/emctask In directory sc8-pr-cvs1:/tmp/cvs-serv20968/src/emctask Modified Files: bridgeporttaskintf.cc emctaskmain.cc minimilltaskintf.cc Log Message: Substantial changes to freqmod and new ini file variables Index: bridgeporttaskintf.cc =================================================================== RCS file: /cvsroot/emc/emc/src/emctask/bridgeporttaskintf.cc,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** bridgeporttaskintf.cc 17 Nov 2002 00:38:00 -0000 1.23 --- bridgeporttaskintf.cc 21 Jul 2003 02:51:34 -0000 1.24 *************** *** 6,9 **** --- 6,10 ---- Modification history: + 18-Jul-2003 MGS added emcAxisSetStepParams stuff. 9-Nov-2002 P.C. Ensured spindle speed is passed to bridgeportio. 17-Aug-2001 FMP added emcMotionSetDout, LASER stuff *************** *** 486,489 **** --- 487,505 ---- } #endif + + return usrmotWriteEmcmotCommand(&emcmotCommand); + } + + int emcAxisSetStepParams(int axis, double setup_time, double hold_time) + { + if (axis < 0 || axis >= EMCMOT_MAX_AXIS) + { + return 0; + } + + emcmotCommand.command = EMCMOT_SET_STEP_PARAMS; + emcmotCommand.axis = axis; + emcmotCommand.setup_time = setup_time; + emcmotCommand.hold_time = hold_time; return usrmotWriteEmcmotCommand(&emcmotCommand); Index: emctaskmain.cc =================================================================== RCS file: /cvsroot/emc/emc/src/emctask/emctaskmain.cc,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** emctaskmain.cc 27 Mar 2003 20:11:39 -0000 1.29 --- emctaskmain.cc 21 Jul 2003 02:51:34 -0000 1.30 *************** *** 6,9 **** --- 6,10 ---- Modification history: + 18-Jul-2003 MGS added EMC_SET_AXIS_STEP_PARAMS stuff 17-Aug-2001 FMP added EMC_MOTION_SET_DOUT stuff 31-May-2001 FMP added EMC_SET_DEBUG *************** *** 402,405 **** --- 403,407 ---- static EMC_AXIS_LOAD_COMP *axis_load_comp_msg; static EMC_AXIS_ALTER *axis_alter_msg; + static EMC_AXIS_SET_STEP_PARAMS *set_step_params_msg; static EMC_TRAJ_SET_SCALE *emcTrajSetScaleMsg; *************** *** 588,591 **** --- 590,594 ---- case EMC_AXIS_LOAD_COMP_TYPE: case EMC_AXIS_ALTER_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_TRAJ_SET_SCALE_TYPE: case EMC_TRAJ_SET_VELOCITY_TYPE: *************** *** 678,681 **** --- 681,685 ---- case EMC_AXIS_SET_MAX_POSITION_LIMIT_TYPE: case EMC_AXIS_SET_MIN_POSITION_LIMIT_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_AXIS_ABORT_TYPE: case EMC_AXIS_HALT_TYPE: *************** *** 777,780 **** --- 781,785 ---- case EMC_AXIS_SET_OUTPUT_TYPE: case EMC_AXIS_ALTER_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_TRAJ_PAUSE_TYPE: case EMC_TRAJ_RESUME_TYPE: *************** *** 867,870 **** --- 872,876 ---- case EMC_AXIS_SET_OUTPUT_TYPE: case EMC_AXIS_ALTER_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_TRAJ_PAUSE_TYPE: case EMC_TRAJ_RESUME_TYPE: *************** *** 1026,1029 **** --- 1032,1036 ---- case EMC_AXIS_SET_OUTPUT_TYPE: case EMC_AXIS_ALTER_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_TRAJ_PAUSE_TYPE: case EMC_TRAJ_RESUME_TYPE: *************** *** 1107,1110 **** --- 1114,1118 ---- case EMC_AXIS_SET_OUTPUT_TYPE: case EMC_AXIS_ALTER_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_TRAJ_PAUSE_TYPE: case EMC_TRAJ_RESUME_TYPE: *************** *** 1204,1207 **** --- 1212,1216 ---- case EMC_AXIS_SET_OUTPUT_TYPE: case EMC_AXIS_ALTER_TYPE: + case EMC_AXIS_SET_STEP_PARAMS_TYPE: case EMC_TRAJ_SET_SCALE_TYPE: case EMC_SPINDLE_ON_TYPE: *************** *** 1550,1553 **** --- 1559,1569 ---- retval = emcAxisAlter(axis_alter_msg->axis, axis_alter_msg->alter); + break; + + case EMC_AXIS_SET_STEP_PARAMS_TYPE: + set_step_params_msg = (EMC_AXIS_SET_STEP_PARAMS *) cmd; + retval = emcAxisSetStepParams(set_step_params_msg->axis, + set_step_params_msg->setup_time, + set_step_params_msg->hold_time); break; Index: minimilltaskintf.cc =================================================================== RCS file: /cvsroot/emc/emc/src/emctask/minimilltaskintf.cc,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** minimilltaskintf.cc 17 Nov 2002 00:38:00 -0000 1.23 --- minimilltaskintf.cc 21 Jul 2003 02:51:34 -0000 1.24 *************** *** 12,15 **** --- 12,16 ---- Modification history: + 18-Jul-2003 MGS added emcAxisSetStepParams stuff. 9-Nov-2002 P.C. Fixed a bug with spindle speed output to a spare DAC. 17-Aug-2001 FMP added emcMotionSetDout *************** *** 499,502 **** --- 500,518 ---- } #endif + + return usrmotWriteEmcmotCommand(&emcmotCommand); + } + + int emcAxisSetStepParams(int axis, double setup_time, double hold_time) + { + if (axis < 0 || axis >= EMCMOT_MAX_AXIS) + { + return 0; + } + + emcmotCommand.command = EMCMOT_SET_STEP_PARAMS; + emcmotCommand.axis = axis; + emcmotCommand.setup_time = setup_time; + emcmotCommand.hold_time = hold_time; return usrmotWriteEmcmotCommand(&emcmotCommand); |
From: <ms...@us...> - 2003-07-21 02:51:38
|
Update of /cvsroot/emc/emc/src/emcnml In directory sc8-pr-cvs1:/tmp/cvs-serv20968/src/emcnml Modified Files: emc.cc emc.hh emcops.cc iniaxis.cc Log Message: Substantial changes to freqmod and new ini file variables Index: emc.cc =================================================================== RCS file: /cvsroot/emc/emc/src/emcnml/emc.cc,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** emc.cc 7 May 2003 19:49:50 -0000 1.28 --- emc.cc 21 Jul 2003 02:51:34 -0000 1.29 *************** *** 29,33 **** #endif #ifndef EMCNAME_LIST_LENGTH ! #define EMCNAME_LIST_LENGTH 156 #endif --- 29,33 ---- #endif #ifndef EMCNAME_LIST_LENGTH ! #define EMCNAME_LIST_LENGTH 157 #endif *************** *** 76,79 **** --- 76,80 ---- "EMC_AXIS_SET_UNITS", /* 45,102 */ "EMC_AXIS_STAT", /* 46,199 */ + "EMC_AXIS_SET_STEP_PARAMS", "EMC_COOLANT_ABORT", /* 49,1403 */ "EMC_COOLANT_FLOOD_OFF", /* 51,1407 */ *************** *** 233,236 **** --- 234,238 ---- EMC_AXIS_SET_UNITS_TYPE, /* 45,102 */ EMC_AXIS_STAT_TYPE, /* 46,199 */ + EMC_AXIS_SET_STEP_PARAMS_TYPE, EMC_COOLANT_ABORT_TYPE, /* 49,1403 */ EMC_COOLANT_FLOOD_OFF_TYPE, /* 51,1407 */ *************** *** 390,393 **** --- 392,396 ---- sizeof(EMC_AXIS_SET_UNITS), sizeof(EMC_AXIS_STAT), + sizeof(EMC_AXIS_SET_STEP_PARAMS), sizeof(EMC_COOLANT_ABORT), sizeof(EMC_COOLANT_FLOOD_OFF), *************** *** 1103,1106 **** --- 1106,1112 ---- ((EMC_AXIS_STAT *) buffer)->update(cms); break; + case EMC_AXIS_SET_STEP_PARAMS_TYPE: + ((EMC_AXIS_SET_STEP_PARAMS *) buffer)->update(cms); + break; case EMC_COOLANT_ABORT_TYPE: ((EMC_COOLANT_ABORT *) buffer)->update(cms); *************** *** 1540,1543 **** --- 1546,1551 ---- case EMC_AXIS_STAT_TYPE: return "EMC_AXIS_STAT"; + case EMC_AXIS_SET_STEP_PARAMS_TYPE: + return "EMC_AXIS_SET_STEP_PARAMS"; case EMC_COOLANT_ABORT_TYPE: return "EMC_COOLANT_ABORT"; *************** *** 3656,3659 **** --- 3664,3669 ---- cms->update_with_name("minFerror",minFerror); cms->update_with_name("homingVel",homingVel); + cms->update_with_name("setup_time",setup_time); + cms->update_with_name("hold_time",hold_time); cms->update_with_name("homeOffset",homeOffset); cms->update_with_name("enablePolarity",enablePolarity); *************** *** 5593,5596 **** --- 5603,5628 ---- cms->endClass("EMC_AXIS_SET_MIN_OUTPUT_LIMIT","EMC_AXIS_CMD_MSG"); + + } + + + /* + * NML/CMS Update function for EMC_AXIS_SET_STEP_PARAMS + * Manually generated by Matt Shaver. + * on Fri Jul 18 19:25:01-27/64 EDT 2003 + */ + void EMC_AXIS_SET_STEP_PARAMS::update(CMS *cms) + { + + cms->beginClass("EMC_AXIS_SET_STEP_PARAMS","EMC_AXIS_CMD_MSG"); + + cms->beginBaseClass("EMC_AXIS_CMD_MSG"); + EMC_AXIS_CMD_MSG::update(cms); + cms->endBaseClass("EMC_AXIS_CMD_MSG"); + + cms->update_with_name("setup_time",setup_time); + cms->update_with_name("hold_time",hold_time); + + cms->endClass("EMC_AXIS_SET_STEP_PARAMS","EMC_AXIS_CMD_MSG"); } Index: emc.hh =================================================================== RCS file: /cvsroot/emc/emc/src/emcnml/emc.hh,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** emc.hh 27 Mar 2003 20:11:36 -0000 1.16 --- emc.hh 21 Jul 2003 02:51:34 -0000 1.17 *************** *** 9,12 **** --- 9,13 ---- Modification history: + 18-Jul-2002 MGS added EMC_AXIS_SET_STEP_PARAMS stuff. 27-Mar-2003 WPS changed a number of #defines to enum values. (This is necessary for making the xml readable.) *************** *** 144,147 **** --- 145,149 ---- #define EMC_AXIS_LOAD_COMP_TYPE ((NMLTYPE) 131) #define EMC_AXIS_ALTER_TYPE ((NMLTYPE) 132) + #define EMC_AXIS_SET_STEP_PARAMS_TYPE ((NMLTYPE) 133) #define EMC_AXIS_STAT_TYPE ((NMLTYPE) 199) *************** *** 489,492 **** --- 491,495 ---- extern int emcAxisSetMinFerror(int axis, double ferror); extern int emcAxisSetHomingVel(int axis, double homingVel); + extern int emcAxisSetStepParams(int axis, double setup_time, double hold_time); extern int emcAxisSetHome(int axis, double home); extern int emcAxisSetHomeOffset(int axis, double offset); *************** *** 1246,1249 **** --- 1249,1269 ---- }; + /** + * Set the step parameters. + * This command sets the setup time of the direction signal, + * and the hold time of the step signal. + */ + class EMC_AXIS_SET_STEP_PARAMS : public EMC_AXIS_CMD_MSG + { + public: + EMC_AXIS_SET_STEP_PARAMS() : EMC_AXIS_CMD_MSG(EMC_AXIS_SET_STEP_PARAMS_TYPE, sizeof(EMC_AXIS_SET_STEP_PARAMS)) {}; + + // For internal NML/CMS use only. + void update(CMS *cms); + + double setup_time; + double hold_time; + }; + // AXIS status base class class EMC_AXIS_STAT_MSG : public RCS_STAT_MSG *************** *** 1291,1294 **** --- 1311,1316 ---- double minFerror; double homingVel; + double setup_time; + double hold_time; double homeOffset; unsigned char enablePolarity; Index: emcops.cc =================================================================== RCS file: /cvsroot/emc/emc/src/emcnml/emcops.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** emcops.cc 21 Dec 2000 16:22:11 -0000 1.3 --- emcops.cc 21 Jul 2003 02:51:34 -0000 1.4 *************** *** 8,11 **** --- 8,12 ---- Modification history: + 19-Jul-2003 MGS added setup_time and hold_time to EMC_AXIS_STAT 31-Jan-1999 FMP added backlash, bias, maxError to EMC_AXIS_STAT 7-Oct-1998 FMP added init of homingVel to EMC_AXIS_STAT ctor *************** *** 45,48 **** --- 46,51 ---- maxFerror = 1.0; homingVel = 1.0; + setup_time = 1; + hold_time = 2; enablePolarity = 1; minLimitSwitchPolarity = 1; Index: iniaxis.cc =================================================================== RCS file: /cvsroot/emc/emc/src/emcnml/iniaxis.cc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** iniaxis.cc 7 May 2003 19:49:52 -0000 1.5 --- iniaxis.cc 21 Jul 2003 02:51:34 -0000 1.6 *************** *** 6,9 **** --- 6,10 ---- Modification history: + 18-Jul-2003 MGS added EMC_AXIS_SET_STEP_PARAMS stuff. 10-Aug-2000 FMP added emcAxisLoadComp() call from COMP_FILE 20-Apr-2000 WPS changed rcs_print(ourAxisSection, "AXIS_%d", axis) to *************** *** 75,78 **** --- 76,81 ---- MIN_FERROR <float> minimum following error HOMING_VEL <float> homing speed, positive + SETUP_TIME <float> number of periods dir change preceeds step + HOLD_TIME <float> number of periods step line is held low/high after active edge ENABLE_POLARITY <0, 1> polarity for amp enable output MIN_LIMIT_SWITCH_POLARITY <0, 1> polarity for min limit switch input *************** *** 100,103 **** --- 103,107 ---- emcAxisSetMinFerror(int axis, double ferror); emcAxisSetHomingVel(int axis, double homingVel); + emcAxisSetStepParams(int axis, double setup_time, double hold_time); emcAxisSetEnablePolarity(int axis, int level); emcAxisSetMinLimitSwitchPolarity(int axis, int level); *************** *** 128,131 **** --- 132,137 ---- double limit; double homingVel; + double setup_time; + double hold_time; double home; double maxVelocity; *************** *** 684,687 **** --- 690,738 ---- if (EMC_DEBUG & EMC_DEBUG_CONFIG) { rcs_print_error("bad return from emcAxisSetHomingVel\n"); + } + return -1; + } + + if (NULL != (inistring = axisInifile->find("SETUP_TIME", axisString))) { + if (1 == sscanf(inistring, "%lf", &setup_time)) { + // found, and valid + } + else { + // found, but invalid + if (EMC_DEBUG & EMC_DEBUG_INVALID) { + rcs_print_error("invalid inifile value for [%s] SETUP_TIME: %s\n", axisString, inistring); + } + setup_time = 1; // default for setup time + } + } + else { + // not found at all + setup_time = 1; + if (EMC_DEBUG & EMC_DEBUG_DEFAULTS) { + rcs_print_error("can't find [%s] SETUP_TIME, using default\n", axisString); + } + } + if (NULL != (inistring = axisInifile->find("HOLD_TIME", axisString))) { + if (1 == sscanf(inistring, "%lf", &hold_time)) { + // found, and valid + } + else { + // found, but invalid + if (EMC_DEBUG & EMC_DEBUG_INVALID) { + rcs_print_error("invalid inifile value for [%s] HOLD_TIME: %s\n", axisString, inistring); + } + hold_time = 2; // default for setup time + } + } + else { + // not found at all + hold_time = 2; + if (EMC_DEBUG & EMC_DEBUG_DEFAULTS) { + rcs_print_error("can't find [%s] HOLD_TIME, using default\n", axisString); + } + } + if (0 != emcAxisSetStepParams(axis, setup_time, hold_time)) { + if (EMC_DEBUG & EMC_DEBUG_CONFIG) { + rcs_print_error("bad return from emcAxisSetStepParams\n"); } return -1; |
From: <ms...@us...> - 2003-07-21 02:51:37
|
Update of /cvsroot/emc/emc/src/emcmot In directory sc8-pr-cvs1:/tmp/cvs-serv20968/src/emcmot Modified Files: emcmot.c emcmot.h Log Message: Substantial changes to freqmod and new ini file variables Index: emcmot.c =================================================================== RCS file: /cvsroot/emc/emc/src/emcmot/emcmot.c,v retrieving revision 1.90 retrieving revision 1.91 diff -C2 -d -r1.90 -r1.91 *** emcmot.c 11 Jul 2003 06:53:49 -0000 1.90 --- emcmot.c 21 Jul 2003 02:51:34 -0000 1.91 *************** *** 7,10 **** --- 7,13 ---- Modification history: + 18-Jul-2003 MGS rewrote freqfunc, added EMC_AXIS_SET_STEP_PARAMS, and + removed binfunc. Each axis should have a SETUP_TIME and HOLD_TIME entry + in the .ini file. 11-Jul-2003 MGS deleted unreachable code that was shadowed by an #ifdef/#else. Also, moved an incorrectly placed #endif. *************** *** 529,540 **** [...1224 lines suppressed...] rt_task_init(&freqTask, /* RT_TASK * */ --- 5457,5461 ---- break; ! case 0: default: /* default is step/direction */ rt_task_init(&freqTask, /* RT_TASK * */ *************** *** 5927,5936 **** rt_task_use_fp(&freqTask, 1); - if(STEPPING_TYPE != 4) - { rt_task_make_periodic(&freqTask, rt_get_time() + PERIOD, PERIOD); - } #endif /* ! USE_RTL2 */ #endif /* STEPPER_MOTORS */ --- 5469,5475 ---- Index: emcmot.h =================================================================== RCS file: /cvsroot/emc/emc/src/emcmot/emcmot.h,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** emcmot.h 17 Nov 2002 00:38:00 -0000 1.28 --- emcmot.h 21 Jul 2003 02:51:34 -0000 1.29 *************** *** 11,14 **** --- 11,15 ---- Modification history: + 18-Jul-2003 MGS added EMCMOT_AXIS_SET_STEP_PARAMS stuff. 25-Sep-2002 P.C. Merged Jon Elson's ppmc code. 17-Aug-2001 FMP added EMCMOT_SET_AOUT,DOUT *************** *** 173,178 **** EMCMOT_SET_DOUT, /* sets a digital motion point for next move */ EMCMOT_SET_INDEX_BIT, /* Sets or clears a digital IO pin */ ! EMCMOT_READ_INDEX_BIT /* Reads a digital IO pin */ ! }; --- 174,179 ---- EMCMOT_SET_DOUT, /* sets a digital motion point for next move */ EMCMOT_SET_INDEX_BIT, /* Sets or clears a digital IO pin */ ! EMCMOT_READ_INDEX_BIT, /* Reads a digital IO pin */ ! EMCMOT_SET_STEP_PARAMS /* sets setup_time and hold_time for freqtask */ }; *************** *** 197,201 **** double maxLimit; /* pos value for position limit, output */ double minLimit; /* neg value for position limit, output */ ! EmcPose pos; /* end for line, circle */ PmCartesian center; /* center for circle */ PmCartesian normal; /* normal vec for circle */ --- 198,202 ---- double maxLimit; /* pos value for position limit, output */ double minLimit; /* neg value for position limit, output */ ! EmcPose pos; /* end for line, circle */ PmCartesian center; /* center for circle */ PmCartesian normal; /* normal vec for circle */ *************** *** 227,233 **** int probeIndex; /* which wire the probe signal is on */ #endif ! int debug; /* debug level, from DEBUG in .ini file */ unsigned char out, start, end; /* motion index, start, and end bits */ unsigned char tail; /* flag count for mutex detect */ } EMCMOT_COMMAND; --- 228,236 ---- int probeIndex; /* which wire the probe signal is on */ #endif ! int debug; /* debug level, from DEBUG in .ini file */ unsigned char out, start, end; /* motion index, start, and end bits */ unsigned char tail; /* flag count for mutex detect */ + double setup_time; /* number of periods before step occurs that dir changes */ + double hold_time; /* number of periods that step line is held low/high after transition */ } EMCMOT_COMMAND; *************** *** 389,399 **** } EMCMOT_STATUS; ! typedef struct { ! unsigned char head; /* flag count for mutex detect */ ! ! int config_num; /* Incremented everytime configuration changed, should match status.config_num */ ! EMCMOT_AXIS_FLAG axisPolarity[EMCMOT_MAX_AXIS]; int numAxes; --- 392,400 ---- } EMCMOT_STATUS; ! /* config struct */ typedef struct { ! unsigned char head; /* flag count for mutex detect */ ! int config_num; /* Incremented everytime configuration changed, should match status.config_num */ EMCMOT_AXIS_FLAG axisPolarity[EMCMOT_MAX_AXIS]; int numAxes; *************** *** 401,427 **** double servoCycleTime; int interpolationRate; ! double maxLimit[EMCMOT_MAX_AXIS]; /* maximum axis limits, counts */ ! double minLimit[EMCMOT_MAX_AXIS]; /* minimum axis limits, counts */ ! double minOutput[EMCMOT_MAX_AXIS]; /* minimum output value allowed, volts */ ! double maxOutput[EMCMOT_MAX_AXIS]; /* maximum output value allowed, volts */ ! double minFerror[EMCMOT_MAX_AXIS]; /* minimum allowable following error */ ! double maxFerror[EMCMOT_MAX_AXIS]; /* maximum allowable following error */ ! double limitVel; /* scalar upper limit on vel */ double axisLimitVel[EMCMOT_MAX_AXIS]; /* scalar upper limit on axis vels */ ! double homingVel[EMCMOT_MAX_AXIS]; /* scalar max homing vels */ ! double homeOffset[EMCMOT_MAX_AXIS]; /* where to go after home, user units */ ! int probeIndex; /* Which wire has the probe signal? */ ! int probePolarity; /* Look for 0 or 1. */ KINEMATICS_TYPE kinematics_type; PID_STRUCT pid[EMCMOT_MAX_AXIS]; ! int STEPPING_TYPE; /* 0 = step/direction, 1 = phasing */ ! ! int PERIOD; /* fundamental period for timer interrupts */ unsigned long int IO_BASE_ADDRESS; ! int debug; /* copy of DEBUG, from .ini file */ ! unsigned char tail; /* flag count for mutex detect */ } EMCMOT_CONFIG; typedef struct { --- 402,430 ---- double servoCycleTime; int interpolationRate; ! double maxLimit[EMCMOT_MAX_AXIS]; /* maximum axis limits, counts */ ! double minLimit[EMCMOT_MAX_AXIS]; /* minimum axis limits, counts */ ! double minOutput[EMCMOT_MAX_AXIS]; /* minimum output value allowed, volts */ ! double maxOutput[EMCMOT_MAX_AXIS]; /* maximum output value allowed, volts */ ! double minFerror[EMCMOT_MAX_AXIS]; /* minimum allowable following error */ ! double maxFerror[EMCMOT_MAX_AXIS]; /* maximum allowable following error */ ! double limitVel; /* scalar upper limit on vel */ double axisLimitVel[EMCMOT_MAX_AXIS]; /* scalar upper limit on axis vels */ ! double homingVel[EMCMOT_MAX_AXIS]; /* scalar max homing vels */ ! double homeOffset[EMCMOT_MAX_AXIS]; /* where to go after home, user units */ ! int probeIndex; /* Which wire has the probe signal? */ ! int probePolarity; /* Look for 0 or 1. */ KINEMATICS_TYPE kinematics_type; PID_STRUCT pid[EMCMOT_MAX_AXIS]; ! int STEPPING_TYPE; /* 0 = step/direction, 1 = phasing */ ! double setup_time[EMCMOT_MAX_AXIS]; /* number of periods before step occurs that dir changes */ ! double hold_time[EMCMOT_MAX_AXIS]; /* number of periods that step line is held low/high after transition */ ! int PERIOD; /* fundamental period for timer interrupts */ unsigned long int IO_BASE_ADDRESS; ! int debug; /* copy of DEBUG, from .ini file */ ! unsigned char tail; /* flag count for mutex detect */ } EMCMOT_CONFIG; + /* debug struct */ typedef struct { |
Update of /cvsroot/emc/emc In directory sc8-pr-cvs1:/tmp/cvs-serv20968 Modified Files: emc.ini generic.ini lukas.ini minitetra.ini rs274ngc_new_sim.ini rtsim.ini sim.ini stepper.ini Log Message: Substantial changes to freqmod and new ini file variables Index: emc.ini =================================================================== RCS file: /cvsroot/emc/emc/emc.ini,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** emc.ini 10 Nov 2002 00:08:26 -0000 1.13 --- emc.ini 21 Jul 2003 02:51:32 -0000 1.14 *************** *** 162,165 **** --- 162,167 ---- MIN_FERROR = 0.010 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 213,216 **** --- 215,220 ---- MIN_FERROR = 0.010 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 264,267 **** --- 268,273 ---- MIN_FERROR = 0.010 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 Index: generic.ini =================================================================== RCS file: /cvsroot/emc/emc/generic.ini,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** generic.ini 10 Nov 2002 00:08:26 -0000 1.14 --- generic.ini 21 Jul 2003 02:51:32 -0000 1.15 *************** *** 181,184 **** --- 181,186 ---- MIN_FERROR = 0.010 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 232,235 **** --- 234,239 ---- MIN_FERROR = 0.010 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 283,286 **** --- 287,292 ---- MIN_FERROR = 0.010 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 Index: lukas.ini =================================================================== RCS file: /cvsroot/emc/emc/lukas.ini,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** lukas.ini 19 May 2002 01:02:48 -0000 1.2 --- lukas.ini 21 Jul 2003 02:51:32 -0000 1.3 *************** *** 158,161 **** --- 158,163 ---- MIN_FERROR = 1000.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0 ENABLE_POLARITY = 0 *************** *** 194,197 **** --- 196,201 ---- MIN_FERROR = 1000.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0 ENABLE_POLARITY = 0 *************** *** 230,233 **** --- 234,239 ---- MIN_FERROR = 1000.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0 ENABLE_POLARITY = 0 Index: minitetra.ini =================================================================== RCS file: /cvsroot/emc/emc/minitetra.ini,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** minitetra.ini 7 May 2003 19:49:50 -0000 1.22 --- minitetra.ini 21 Jul 2003 02:51:32 -0000 1.23 *************** *** 167,170 **** --- 167,172 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 203,206 **** --- 205,210 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 239,242 **** --- 243,248 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 275,278 **** --- 281,286 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 311,314 **** --- 319,324 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 347,350 **** --- 357,362 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 Index: rs274ngc_new_sim.ini =================================================================== RCS file: /cvsroot/emc/emc/rs274ngc_new_sim.ini,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** rs274ngc_new_sim.ini 19 May 2002 01:02:48 -0000 1.5 --- rs274ngc_new_sim.ini 21 Jul 2003 02:51:32 -0000 1.6 *************** *** 142,145 **** --- 142,147 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.1 ENABLE_POLARITY = 1 *************** *** 193,196 **** --- 195,200 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = -0.1 ENABLE_POLARITY = 1 *************** *** 244,247 **** --- 248,253 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 1 Index: rtsim.ini =================================================================== RCS file: /cvsroot/emc/emc/rtsim.ini,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** rtsim.ini 19 May 2002 01:02:48 -0000 1.3 --- rtsim.ini 21 Jul 2003 02:51:32 -0000 1.4 *************** *** 140,143 **** --- 140,145 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.1 ENABLE_POLARITY = 1 *************** *** 191,194 **** --- 193,198 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = -0.1 ENABLE_POLARITY = 1 *************** *** 242,245 **** --- 246,251 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 1 Index: sim.ini =================================================================== RCS file: /cvsroot/emc/emc/sim.ini,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** sim.ini 19 May 2002 01:02:48 -0000 1.17 --- sim.ini 21 Jul 2003 02:51:32 -0000 1.18 *************** *** 158,161 **** --- 158,163 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 1 *************** *** 209,212 **** --- 211,216 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 1 *************** *** 260,263 **** --- 264,269 ---- MIN_FERROR = 0.100 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 1 Index: stepper.ini =================================================================== RCS file: /cvsroot/emc/emc/stepper.ini,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** stepper.ini 7 May 2003 19:49:50 -0000 1.3 --- stepper.ini 21 Jul 2003 02:51:33 -0000 1.4 *************** *** 180,183 **** --- 180,185 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 217,220 **** --- 219,224 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 *************** *** 254,257 **** --- 258,263 ---- MIN_FERROR = 1.000 HOMING_VEL = 0.1 + SETUP_TIME = 1 + HOLD_TIME = 2 HOME_OFFSET = 0.0 ENABLE_POLARITY = 0 |
From: <ray...@us...> - 2003-07-20 14:30:41
|
Update of /cvsroot/emc/documents/lyx In directory sc8-pr-cvs1:/tmp/cvs-serv5962 Modified Files: User_Hardware.lyx Log Message: cleanup editing Index: User_Hardware.lyx =================================================================== RCS file: /cvsroot/emc/documents/lyx/User_Hardware.lyx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** User_Hardware.lyx 19 Jul 2003 21:35:13 -0000 1.3 --- User_Hardware.lyx 20 Jul 2003 14:30:38 -0000 1.4 *************** *** 2495,2499 **** \color black ! \begin_inset LatexCommand \index{MIN_FERROR} \end_inset --- 2495,2499 ---- \color black ! \begin_inset LatexCommand \index{MIN FERROR} \end_inset *************** *** 2653,2657 **** Base address for the port used for IO. You should set this so that it is different from the base address used ! for step and direction signals. \layout Standard --- 2653,2659 ---- Base address for the port used for IO. You should set this so that it is different from the base address used ! for step and direction signals if there is a chance that you want to use ! the bridgeportio and bridgeporttask files rather than the minimillio and ! minimilltask. \layout Standard *************** *** 2672,2734 **** \layout Section - Configuring EMC - \layout Subsection - Some Ini File Problems That I've Encountered \layout Standard ! My system ! \layout Standard ! ! Tigerdirect cheapo tower and board - S3 chipset. ! ! \family typewriter ! \size small ! ! \newline ! ! \family default ! \size default ! Cyrix pr300 - 233 actual ! \family typewriter ! \size small ! ! \newline ! ! \family default ! \size default ! 64M ram memory ! \family typewriter ! \size small ! ! \newline ! ! \family default ! \size default ! Mandrake 7.0 ! \family typewriter ! \size small ! ! \newline ! ! \family default ! \size default ! Rtlinux-2.0 prepatched (how is a subject that I am writing for handbook) ! ! \layout Standard ! ! emc-05-May-2000.tgz download and install (a problem with emcsh compile)Email ! me for my work arounds on these. ! ! \layout Standard ! ! Throughout this page I will use dark green letters to indicate the lines ! of text that I entered into the console (konsole). ! I will use dark red to indicate the response of the computer to my command. ! Medium red lines are the focus on the discussion. For the sake of brevity, ! I have edited many of the responses of the computer when it was asked to ! compile large numbers of files. ! Some of these lengthy responses are included as files and are linked to ! this document so that you can compare your results. \layout Standard --- 2674,2681 ---- \layout Section Some Ini File Problems That I've Encountered \layout Standard ! The following is from an EMC list post a couple of years ago by Ray Henry. \layout Standard *************** *** 2984,2988 **** is registered to so I look in the Kmenu under settings / information / I/O port information / in the popup menus for Mandrake 7. ! Yours may be different! [ part2/images/sysinfo.gif] \layout Standard --- 2931,2935 ---- is registered to so I look in the Kmenu under settings / information / I/O port information / in the popup menus for Mandrake 7. ! Yours may be different! \layout Standard *************** *** 2997,3180 **** \layout Standard - - Setting up Stepper Motors (from the nist page) - \layout Standard - - Currently the EMC supports stepper motors with a 2-bit step-and-direction - interface, with bits mapped to the parallel port. - Each parallel port has 12 bits of output and 5 bits of input. - The outputs are used to drive the step and direction of each motor. - 12 bits of output mean that up to 6 stepper motors can be controlled. - The inputs can be used to detect limit or home switch trips. - 5 bits of input mean that only one axes can get full positive, negative,and - home switch inputs. - The EMC mapping compromises for 3 axes of stepper motor control, with all - positive limit switches being mapped to one input, all negative limit switches - being mapped to another input, and all home switches being mapped to a - third input. - Other permutations are possible, of course, and can be changed in the software. - You could also add 2 additional parallel ports (LPT2, LPT3), and get 36 - bits of output and 15 bits of input. - Some parallel ports also let you take 4 outputs and use them as inputs, - for 8 outputs and 9 inputs for each parallel port. - This would let you get 3 axes of control and full switch input per parallel - port. - \layout Comment - - See Using the PC parallel port for digital I/O for more information on the - parallel port. - - \layout Standard - - The pin-out for the EMC stepper motor interface is as follows: - \layout Standard - - - \family typewriter - \size small - Output\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - Parallel\SpecialChar ~ - Port - \newline - ------\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - ------------- - \newline - X\SpecialChar ~ - direction\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - D0,\SpecialChar ~ - pin\SpecialChar ~ - 2 - \newline - X\SpecialChar ~ - clock\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - D1,\SpecialChar ~ - pin\SpecialChar ~ - 3 - \newline - Y\SpecialChar ~ - direction\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - D2,\SpecialChar ~ - pin\SpecialChar ~ - 4 - \newline - Y\SpecialChar ~ - clock\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - D3,\SpecialChar ~ - pin\SpecialChar ~ - 5 - \newline - Z\SpecialChar ~ - direction\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - D4,\SpecialChar ~ - pin\SpecialChar ~ - 6 - \newline - Z\SpecialChar ~ - clock\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - D5,\SpecialChar ~ - pin\SpecialChar ~ - 7 - \layout Standard - - - \family typewriter - \size small - Input\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - Parallel\SpecialChar ~ - Port - \newline - -----\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - ------------- - \newline - X/Y/Z\SpecialChar ~ - lim\SpecialChar ~ - +\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - S3,\SpecialChar ~ - pin\SpecialChar ~ - 15 - \newline - X/Y/Z\SpecialChar ~ - lim\SpecialChar ~ - -\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - S4,\SpecialChar ~ - pin\SpecialChar ~ - 13 - \newline - X/Y/Z\SpecialChar ~ - home\SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - \SpecialChar ~ - S5,\SpecialChar ~ - pin\SpecialChar ~ - 12 - \layout Standard - \pextra_type 2 \pextra_alignment 1 \pextra_widthp 70 - - Stepper motor control is implemented using a second real-time task that - runs at 100 microseconds. - This task writes the parallel port output with bits set or cleared based - on whether the pulse should be raised or lowered. - This gives an effective period of 200 microseconds for a full up-and-down - pulse, or a frequency limited to about 5 kilohertz. - \layout Standard \pextra_type 2 \pextra_alignment 1 \pextra_widthp 70 --- 2944,2947 ---- *************** *** 3557,3560 **** --- 3324,3329 ---- 0 \newline + + \series bold MIN_LIMIT_SWITCH_POLARITY =\SpecialChar ~ \SpecialChar ~ *************** *** 3583,3586 **** --- 3352,3357 ---- 1 \newline + + \series default HOMING_POLARITY =\SpecialChar ~ \SpecialChar ~ *************** *** 3632,3832 **** \SpecialChar ~ \SpecialChar ~ ! 1 ! \newline ! ; Parameters for Inland Motor BMHS-0701 X 20 ! \newline ! TORQUE_UNITS =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! OZ_IN ! \newline ! ARMATURE_RESISTANCE =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 1.10 ! \newline ! ARMATURE_INDUCTANCE =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 0.0120 ! \newline ! BACK_EMF_CONSTANT =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 0.0254 ! \newline ! ROTOR_INERTIA =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 0.0104 ! \newline ! DAMPING_FRICTION_COEFFICIENT =\SpecialChar ~ ! \SpecialChar ~ ! 0.083 ! \newline ! SHAFT_OFFSET =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 0 ! \newline ! REVS_PER_UNIT =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 10 ! \newline ! ; Parameters for generic amplifier ! \newline ! AMPLIFIER_GAIN =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 1 ! \newline ! MAX_OUTPUT_CURRENT =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 10 ! \newline ! LOAD_RESISTANCE =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 1 ! \newline ! ; parameters for generic encoder ! \newline ! COUNTS_PER_REV =\SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! \SpecialChar ~ ! 4096 \layout Standard --- 3403,3407 ---- \SpecialChar ~ \SpecialChar ~ ! 1 \layout Standard *************** *** 3838,3843 **** That way it will home as soon as we press the home button. And it will never hit a hard limit. ! I should caution you that you don't want to run a real machine this way, ! at least not for long. \layout Standard --- 3413,3418 ---- That way it will home as soon as we press the home button. And it will never hit a hard limit. ! I should caution you that you don't want to run a very big real machine ! this way, at least not for long. \layout Standard *************** *** 4029,4033 **** file is trying to tell me, I'll just switch definitions of the I/O system. I can do this by changing one line. ! [part2/images/ioshow2.gif] \layout Standard \align center \pextra_type 2 \pextra_alignment 1 \pextra_hfill 1 \pextra_start_minipage 1 \pextra_widthp 30 --- 3604,3608 ---- file is trying to tell me, I'll just switch definitions of the I/O system. I can do this by changing one line. ! \layout Standard \align center \pextra_type 2 \pextra_alignment 1 \pextra_hfill 1 \pextra_start_minipage 1 \pextra_widthp 30 *************** *** 4201,4212 **** \layout Standard ! When If you have stepper motors and a stepper motor controller that requires ! phase stepping, then freqmod.o is a solution. ! Phase stepping requires the computer to output the motor phase signals ! directly, the stepper driver is just an amplifier. ! \layout Standard ! ! This procedure version 1.0 John Sheahan 11 September 2001, Developed with ! linux kernel2.2.18 / rtlinux-rtl3.0-6 / :emc-2.07. Setup of linux/emc is covered elsewhere and must be done first \layout Standard --- 3776,3781 ---- \layout Standard ! This procedure version 1.0 was written by John Sheahan 11 September 2001. ! It was developed with linux kernel2.2.18 / rtlinux-rtl3.0-6 / :emc-2.07. Setup of linux/emc is covered elsewhere and must be done first \layout Standard *************** *** 4870,4877 **** click run and watch it all whir. then its probably time to connect up more mechanics and test some more. - - \layout Standard - - John Sheahan \layout Section --- 4439,4442 ---- |
From: <ray...@us...> - 2003-07-20 13:53:01
|
Update of /cvsroot/emc/documents/lyx In directory sc8-pr-cvs1:/tmp/cvs-serv31363 Modified Files: User_Linux.lyx Log Message: edit Index: User_Linux.lyx =================================================================== RCS file: /cvsroot/emc/documents/lyx/User_Linux.lyx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** User_Linux.lyx 18 Jul 2003 18:46:07 -0000 1.2 --- User_Linux.lyx 20 Jul 2003 13:52:58 -0000 1.3 *************** *** 61,64 **** --- 61,69 ---- Login + \begin_inset LatexCommand \index{Login} + + \end_inset + + \layout Standard *************** *** 89,93 **** \layout LyX-Code ! Password: _ \layout Standard --- 94,103 ---- \layout LyX-Code ! Password ! \begin_inset LatexCommand \index{Password} ! ! \end_inset ! ! : _ \layout Standard *************** *** 1175,1179 **** \layout LyX-Code ! script \layout Standard --- 1185,1194 ---- \layout LyX-Code ! script ! \begin_inset LatexCommand \index{script} ! ! \end_inset ! ! \layout Standard *************** *** 1182,1186 **** \layout LyX-Code ! typescript \layout Standard --- 1197,1206 ---- \layout LyX-Code ! typescript ! \begin_inset LatexCommand \index{typescript} ! ! \end_inset ! ! \layout Standard |