Beispiel #1
0
rtems_task Init(
  rtems_task_argument ignored
)
{
  rtems_status_code sc;
  int val;

  rtems_test_begin();

  /* Initializes the GPIO API */
  sc = rtems_gpio_initialize();
  assert(sc == RTEMS_SUCCESSFUL);

  sc = rtems_gpio_multi_select(test, 4);
  assert(sc == RTEMS_SUCCESSFUL);

  /* Polls the two switches. */
  while ( 1 ) {
    val = rtems_gpio_get_value(sw1_pin);

     if ( val == 0 ) {
      sc = rtems_gpio_set(led2_pin);
      assert(sc == RTEMS_SUCCESSFUL);
    }

    else {
      sc = rtems_gpio_clear(led2_pin);
      assert(sc == RTEMS_SUCCESSFUL);
    }

     val = rtems_gpio_get_value(sw2_pin);

    if ( val == 0 ) {
      sc = rtems_gpio_set(led1_pin);
      assert(sc == RTEMS_SUCCESSFUL);
    }

    else {
      sc = rtems_gpio_clear(led1_pin);
      assert(sc == RTEMS_SUCCESSFUL);
    }
  }

  rtems_test_end();
  exit(0);
}
Beispiel #2
0
rtems_status_code rpi_gpio_select_spi(void)
{
  return rtems_gpio_multi_select(spi_config, SPI_PIN_COUNT);
}
Beispiel #3
0
rtems_status_code rpi_gpio_select_i2c(void)
{
  return rtems_gpio_multi_select(i2c_config, I2C_PIN_COUNT);
}
Beispiel #4
0
rtems_status_code rpi_gpio_select_jtag(void)
{
  return rtems_gpio_multi_select(jtag_config, JTAG_PIN_COUNT);
}