#define BIT (1<<(gpio&0x1F))
-#ifndef EMBEDDED_IN_VM
-#define DBG(level, format, arg...) DO_DBG(level, format, ## arg)
-#else
-#define DBG(level, format, arg...)
-#endif
-
-#define DO_DBG(level, format, arg...) \
- { \
- if (gpioCfg.dbgLevel >= level) \
- fprintf(stderr, "%s %s: " format "\n" , \
- myTimeStamp(), __FUNCTION__ , ## arg); \
+#define DBG(level, format, arg...) \
+ { \
+ if (gpioCfg.dbgLevel >= level && (gpioCfg.internals & PI_CFG_SIGHANDLER)) \
+ fprintf(stderr, "%s %s: " format "\n" , \
+ myTimeStamp(), __FUNCTION__ , ## arg); \
}
#ifndef DISABLE_SER_CHECK_INITED
PI_DEFAULT_MEM_ALLOC_MODE,
0, /* dbgLevel */
0, /* alertFreq */
- 0, /* internals */
+ PI_CFG_SIGHANDLER, /* internals */
};
/* no initialisation required */
gpioMaskSet = 1;
}
-#ifndef EMBEDDED_IN_VM
- sigSetHandler();
-#endif
+ if(gpioCfg.internals & PI_CFG_SIGHANDLER)
+ sigSetHandler();
if (initPeripherals() < 0) return PI_INIT_FAILED;
if (dmaReg != MAP_FAILED) dmaIn[DMA_CS] = DMA_CHANNEL_RESET;
if (dmaReg != MAP_FAILED) dmaOut[DMA_CS] = DMA_CHANNEL_RESET;
-#ifndef EMBEDDED_IN_VM
- if (gpioCfg.internals & PI_CFG_STATS)
+ if ((gpioCfg.internals & PI_CFG_STATS) && (gpioCfg.internals & PI_CFG_SIGHANDLER))
{
fprintf(stderr,
"\n#####################################################\n");
fprintf(stderr,
"\n#####################################################\n\n\n");
}
-#endif
initReleaseResources();
#include <stdint.h>
#include <pthread.h>
-#define PIGPIO_VERSION 64
+#define PIGPIO_VERSION 65
/*TEXT
#define PI_CFG_ALERT_FREQ 4 /* bits 4-7 */
#define PI_CFG_RT_PRIORITY (1<<8)
#define PI_CFG_STATS (1<<9)
+#define PI_CFG_SIGHANDLER (1<<10)
+
+#define PI_CFG_ILLEGAL_VAL (1<<11)
-#define PI_CFG_ILLEGAL_VAL (1<<10)
/* gpioISR */