Property definitions

bcm2835 $ RPiPin :: defaultinit
extern class RPiPin `{ RPiGPIOPin `}
	super Pin

	new p1_03 `{ return RPI_GPIO_P1_03; `}

	new p1_05 `{ return RPI_GPIO_P1_05; `}
	new p1_07 `{ return RPI_GPIO_P1_07; `}

	new p1_11 `{ return RPI_GPIO_P1_11; `}
	new p1_12 `{ return RPI_GPIO_P1_12; `}
	new p1_13 `{ return RPI_GPIO_P1_13; `}

	new p1_15 `{ return RPI_GPIO_P1_15; `}
	new p1_16 `{ return RPI_GPIO_P1_16; `}

	new p1_18 `{ return RPI_GPIO_P1_18; `}
	new p1_19 `{ return RPI_GPIO_P1_19; `}

	new p1_21 `{ return RPI_GPIO_P1_21; `}
	new p1_22 `{ return RPI_GPIO_P1_22; `}
	new p1_23 `{ return RPI_GPIO_P1_23; `}
	new p1_24 `{ return RPI_GPIO_P1_24; `}

	new p1_26 `{ return RPI_GPIO_P1_26; `}

	# Select mode: input, output or alts
	fun fsel=(mode: FunctionSelect) `{ bcm2835_gpio_fsel(self, mode); `}

	# Set output
	redef fun write(high) `{ bcm2835_gpio_write(self, high? HIGH: LOW); `}

	# Set pull up mode
	fun pud=(pud: PUDControl) `{ bcm2835_gpio_set_pud(self, pud); `}

	# Falling edge detect
	# Do not use on raspbian, it is bugged!
	fun fen `{ bcm2835_gpio_fen(self); `}
	fun clr_fen `{ bcm2835_gpio_clr_fen(self); `}

	# Raising edge detect
	# Do not use on raspbian, it is bugged!
	fun ren `{ bcm2835_gpio_ren(self); `}
	fun clr_ren `{ bcm2835_gpio_clr_ren(self); `}

	# High edge detect
	# Do not use on raspbian, it is bugged!
	fun hen `{ bcm2835_gpio_hen(self); `}
	fun clr_hen `{ bcm2835_gpio_clr_hen(self); `}

	# Low edge detect
	# Do not use on raspbian, it is bugged!
	fun len `{ bcm2835_gpio_len(self); `}
	fun clr_len `{ bcm2835_gpio_clr_len(self); `}

	fun set_eds `{ bcm2835_gpio_set_eds(self); `}
	fun eds: Bool `{ return bcm2835_gpio_eds(self); `}

	# Return input on pin, true for high and false for low
	fun lev: Bool `{ return bcm2835_gpio_lev(self); `}
end
lib/bcm2835/bcm2835.nit:38,1--97,3