Exemplo n.º 1
0
void SetGPIOPinDir(int whichPin, int dir) {
/* Sets the direction of GPIO pins. As described in the manual,
   dir == 0 is input */
   
	SetGPIOPinDirMask(dir ? BIT2MASK(whichPin) : 0, BIT2MASK(whichPin));
		
} /* SetGPIOPinDir */
Exemplo n.º 2
0
int
addbit(bitset ss, int ibit)
{
	int ibyte = BIT2BYTE(ibit);
	BYTE mask = BIT2MASK(ibit);
	
	if (ss[ibyte] & mask)
		return 0; /* Bit already set */
	ss[ibyte] |= mask;
	return 1;
}
Exemplo n.º 3
0
static int init(void)
{
  int ret;
  setup_timer( &my_timer, my_timer_callback, 0 );
  ret = mod_timer( &my_timer, jiffies + msecs_to_jiffies(1000) );
  if (ret) printk("Error in mod_timer\n");



	printk("Loading module");
	printk("mask: %lu \n", BIT2MASK(4));	


	SetGPIOPinDirMask(8405245 ,1); // alle pin directions AAN
	printk("mask: %lu \n", GetGPIOPinDirMask());	

	SetGPIOPin(4);
	SetGPIOPin(7);
	SetGPIOPin(3);
	printk("mask: %lu \n", GetGPIOPinDirMask());
	return 0;
}
Exemplo n.º 4
0
/*   Copy past van GPIO  */
int GetGPIOPin(int whichPin) {return ((GPLR) >> whichPin) & 0x01;} /* ReadGPIOPin */
unsigned long GetGPIOMask(void) {return GPLR;} /* ReadGPIOMask */
void SetGPIOPin(int whichPin) {	GPSR = 1 << whichPin;} /* SetGPIOPin */
void SetGPIOMask(unsigned long mask) {GPSR = mask;} /* SetGPIOMask */
void ClearGPIOPin(int whichPin) {GPCR = 1 << whichPin;} /* ClearGPIOPin */
void ClearGPIOMask(unsigned long mask) {GPCR = mask;} /* ClearGPIOMask */
void ModifyGPIOPins(unsigned long val, unsigned long mask) {
	if(val & mask)SetGPIOMask(val & mask);
	if(~val & mask)	SetGPIOMask(~val & mask);
} /* ModifyGPIOPins */
void SetGPIOPinDir(int whichPin, int dir) {SetGPIOPinDirMask(dir ? BIT2MASK(whichPin) : 0, BIT2MASK(whichPin));} /* SetGPIOPinDir */
Exemplo n.º 5
0
/* Bitset primitives used by the parser generator */

#include "pgenheaders.h"
#include "bitset.h"

bitset
newbitset(int nbits)
{
	int nbytes = NBYTES(nbits);
	bitset ss = (char *)PyObject_MALLOC(sizeof(BYTE) *  nbytes);
	
	if (ss == NULL)
		Py_FatalError("no mem for bitset");
	
	ss += nbytes;
	while (--nbytes >= 0)
		*--ss = 0;
	return ss;
}

void
delbitset(bitset ss)
{
	PyObject_FREE(ss);
}

int
addbit(bitset ss, int ibit)
{
	int ibyte = BIT2BYTE(ibit);
	BYTE mask = BIT2MASK(ibit);
	
	if (ss[ibyte] & mask)
		return 0; /* Bit already set */
	ss[ibyte] |= mask;
	return 1;
}

#if 0 /* Now a macro */
int
testbit(bitset ss, int ibit)
{
	return (ss[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0;
}
Exemplo n.º 6
0
void ClearPPCPin(int whichPin) {

	ModifyPPCPins(BIT2MASK(0), BIT2MASK(whichPin));
	
} /* ClearPPCPin */
Exemplo n.º 7
0
void SetPPCPin(int whichPin) {

	ModifyPPCPins(BIT2MASK(whichPin), BIT2MASK(whichPin));
	
} /* SetPPCPin */