Example #1
0

	def ce(self, level):
		if level == NRF24.HIGH:
			GPIO.output(self.ce_pin, GPIO.HIGH)
		else:
			GPIO.output(self.ce_pin, GPIO.LOW)
		return

	def irqWait(self):
                        # A race condition may occur here.
                        # Should set a timeout
                        if GPIO.input(self.irq_pin) == 0:
                            return

		GPIO.wait_for_edge(self.irq_pin, GPIO.FALLING)

	def read_register(self, reg, blen = 1):
		buffer = [NRF24.R_REGISTER | ( NRF24.REGISTER_MASK & reg )]
		for col in range(blen):
			buffer.append(NRF24.NOP)

		resp = self.spidev.xfer2(buffer)
		if blen == 1:
			return resp[1]

		return resp[1:blen+1]

	def write_register(self, reg, value, length = -1):
	      	buffer = [NRF24.W_REGISTER | ( NRF24.REGISTER_MASK & reg )]
		if isinstance(value,(int, long)):