Пример #1
0
/*---------------------------------------------------------------------------*/
void
gpio_relay_init(void)
{
  if(inited_relay) {
    return;
  }
  inited_relay = 1;

  ti_lib_ioc_pin_type_gpio_output(SENSOR_POWER);
  ti_lib_ioc_pin_type_gpio_output(ADC_CT_SELECT);
  ti_lib_gpio_pin_write(RELAY_ALL, 0);
}
Пример #2
0
/*---------------------------------------------------------------------------*/
void
leds_arch_init(void)
{
  if(inited) {
    return;
  }
  inited = 1;

  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_LED_1);
  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_LED_2);

  ti_lib_gpio_pin_write(BOARD_LED_ALL, 0);
}
Пример #3
0
/*---------------------------------------------------------------------------*/
void
leds_arch_init(void)
{
    if(inited) {
        return;
    }
    inited = 1;

    ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_LED_1);
    ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_LED_2);
    ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_LED_3);
    ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_LED_4);

    ti_lib_gpio_clear_multi_dio(BOARD_LED_ALL);
}
Пример #4
0
void ADS7846_wr_spi(uint_least8_t data)
{
#if defined(SOFTWARE_SPI)
	ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_SPI_MOSI);

	for (uint_least8_t mask = 0x80; mask != 0; mask >>= 1) {
		SCK_LOW();
		if (mask & data) {
			MOSI_HIGH();
		} else {
			MOSI_LOW();
		}
		ADS7846_delay_ms(1);
		SCK_HIGH();
		ADS7846_delay_ms(1);
	}
	SCK_LOW();
	ADS7846_delay_ms(1);
	SCK_HIGH();
	ADS7846_delay_ms(1);
	SCK_LOW();
#else
	SPI.transfer(data);
#endif
	return;
}
Пример #5
0
/*---------------------------------------------------------------------------*/
static void
configure_unused_pins(void)
{
  /* Turn off 3.3-V domain (lcd/sdcard power, output low) */
  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_3V3_EN);
  ti_lib_gpio_pin_write(BOARD_3V3_EN, 0);

  /* Accelerometer (PWR output low, CSn output, high) */
  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_ACC_PWR);
  ti_lib_gpio_pin_write(BOARD_ACC_PWR, 0);

  /* Ambient light sensor (off, output low) */
  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_ALS_PWR);
  ti_lib_gpio_pin_write(BOARD_ALS_PWR, 0);
  ti_lib_ioc_pin_type_gpio_input(BOARD_IOID_ALS_OUT);
  ti_lib_ioc_io_port_pull_set(BOARD_IOID_ALS_OUT, IOC_NO_IOPULL);
}
Пример #6
0
/*---------------------------------------------------------------------------*/
bool
usb_open()
{
  board_spi_open(6000000, BOARD_IOID_SPI_CLK);

  /* GPIO pin configuration */
  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_SPI_USB_CS);

  /* Default output to clear chip select */
  deselect();

  return true;
}
Пример #7
0
void ADS7846_begin(void)
{
	ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_TOUCH_CS);
	ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_SPI_MOSI);
	ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_SPI_SCK);
	ti_lib_ioc_pin_type_gpio_input(BOARD_IOID_SPI_MISO);

	CS_DISABLE();

#ifdef IRQ_PIN
	pinMode(IRQ_PIN, INPUT);
	digitalWrite(IRQ_PIN, HIGH);	//pull-up
#endif
#ifdef BUSY_PIN
	pinMode(BUSY_PIN, INPUT);
	digitalWrite(BUSY_PIN, HIGH);	//pull-up
#endif

#if !defined(SOFTWARE_SPI)
	SPI.setDataMode(SPI_MODE0);
	SPI.begin();
#endif

	//set vars
	tp_matrix.div = 0;
	tp_x = 0;
	tp_y = 0;
	tp_last_x = 0;
	tp_last_y = 0;
	lcd_x = 0;
	lcd_y = 0;
	pressure = 0;
	ADS7846_setOrientation(0);

	return;
}
Пример #8
0
/*---------------------------------------------------------------------------*/
static void
configure(void)
{
  uint32_t ctl_val = UART_CTL_UARTEN | UART_CTL_TXE;
  /*
   * Make sure the TX pin is output / high before assigning it to UART control
   * to avoid falling edge glitches
   */
  ti_lib_ioc_pin_type_gpio_output(BOARD_IOID_UART_TX);
  ti_lib_gpio_pin_write(BOARD_UART_TX, 1);

  /*
   * Map UART signals to the correct GPIO pins and configure them as
   * hardware controlled.
   */
  ti_lib_ioc_pin_type_uart(UART0_BASE, BOARD_IOID_UART_RX, BOARD_IOID_UART_TX,
                           BOARD_IOID_UART_CTS, BOARD_IOID_UART_RTS);

  /* Configure the UART for 115,200, 8-N-1 operation. */
  ti_lib_uart_config_set_exp_clk(UART0_BASE, ti_lib_sys_ctrl_clock_get(),
                                 CC26XX_UART_CONF_BAUD_RATE,
                                 (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
                                  UART_CONFIG_PAR_NONE));

  /*
   * Generate an RX interrupt at FIFO 1/2 full.
   * We don't really care about the TX interrupt
   */
  ti_lib_uart_fifo_level_set(UART0_BASE, UART_FIFO_TX7_8, UART_FIFO_RX4_8);

  /* Enable FIFOs */
  HWREG(UART0_BASE + UART_O_LCRH) |= UART_LCRH_FEN;

  if(input_handler) {
    ctl_val += UART_CTL_RXE;
  }

  /* Enable TX, RX (conditionally), and the UART. */
  HWREG(UART0_BASE + UART_O_CTL) = ctl_val;
}