#! /bin/sh /usr/share/dpatch/dpatch-run ## adc12-safe-tinyos.dpatch by R. Steve McKown ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Add support for deputy-tinyos (safe tinyos), if present at compile. @DPATCH@ diff -urNad msp430-libc~/include/msp430/adc12.h msp430-libc/include/msp430/adc12.h --- msp430-libc~/include/msp430/adc12.h 2010-05-20 20:37:57.000000000 -0600 +++ msp430-libc/include/msp430/adc12.h 2010-05-20 20:38:46.000000000 -0600 @@ -94,8 +94,12 @@ #ifdef __ASSEMBLER__ #define ADC12MEM ADC12MEM_ /* ADC12 Conversion Memory (for assembler) */ #else +#ifdef SAFE_TINYOS +#define ADC12MEM TCAST(int* ONE, ADC12MEM_) /* ADC12 Conversion Memory (for C) */ +#else #define ADC12MEM ((int*) ADC12MEM_) /* ADC12 Conversion Memory (for C) */ #endif +#endif #define ADC12MEM0_ ADC12MEM_ /* ADC12 Conversion Memory 0 */ sfrw(ADC12MEM0,ADC12MEM0_); #define ADC12MEM1_ 0x0142 /* ADC12 Conversion Memory 1 */ @@ -133,8 +137,12 @@ #ifdef __ASSEMBLER__ #define ADC12MCTL ADC12MCTL_ /* ADC12 Memory Control (for assembler) */ #else +#ifdef SAFE_TINYOS +#define ADC12MCTL TCAST(char* ONE, ADC12MCTL_) /* ADC12 Memory Control (for C) */ +#else #define ADC12MCTL ((char*) ADC12MCTL_) /* ADC12 Memory Control (for C) */ #endif +#endif #define ADC12MCTL0_ ADC12MCTL_ /* ADC12 Memory Control 0 */ sfrb(ADC12MCTL0,ADC12MCTL0_); #define ADC12MCTL1_ 0x0081 /* ADC12 Memory Control 1 */ diff -urNad msp430-libc~/include/msp430/adc12_plus.h msp430-libc/include/msp430/adc12_plus.h --- msp430-libc~/include/msp430/adc12_plus.h 2010-05-20 20:37:57.000000000 -0600 +++ msp430-libc/include/msp430/adc12_plus.h 2010-05-20 20:38:58.000000000 -0600 @@ -161,8 +161,12 @@ #ifdef __ASM_HEADER__ #define ADC12MEM ADC12MEM0 /* ADC12 Conversion Memory (for assembler) */ #else +#ifdef SAFE_TINYOS +#define ADC12MEM TCAST(int* ONE, &ADC12MEM0) /* ADC12 Conversion Memory (for C) */ +#else #define ADC12MEM ((int*) &ADC12MEM0) /* ADC12 Conversion Memory (for C) */ #endif +#endif #define ADC12MCTL0_ __MSP430_ADC12_PLUS_BASE__ + 0x10 /* ADC12 Memory Control 0 */ sfrb(ADC12MCTL0, ADC12MCTL0_); @@ -200,8 +204,12 @@ #ifdef __ASM_HEADER__ #define ADC12MCTL ADC12MCTL0 /* ADC12 Memory Control (for assembler) */ #else +#ifdef SAFE_TINYOS +#define ADC12MCTL TCAST(char* ONE, ADC12MCTL0) /* ADC12 Conversion Memory (for C) */ +#else #define ADC12MCTL ((char*) ADC12MCTL0) /* ADC12 Memory Control (for C) */ #endif +#endif /* ADC12CTL0 Control Bits */ #define ADC12SC (0x001) /* ADC12 Start Conversion */