Example #1
0
static void tpstest_initTask(void *data) {
	struct spi *spi;
	struct spi_opt opt = {
		.lsb = false,
		.cpol = false,
		.cpha = true,
		.cs = 0,
		.csLowInactive = false,
		.gpio = SPI_OPT_GPIO_DIS,
		.size = 8, 
		.wdelay = 0,
		.cs_hold = 54,
		.cs_delay = 54,
		.bautrate = 500000
	};
	struct spi_slave *slave;
	spi = spi_init(0, SPI_3WIRE_CS, NULL);
	CONFIG_ASSERT(spi != NULL);
	slave = spiSlave_init(spi, &opt);
	CONFIG_ASSERT(slave != NULL);
	tps = tps_init(slave, 100 / portTICK_PERIOD_MS);
	CONFIG_ASSERT(tps != NULL);
	adc = adc_init(1, 12, 4125000);
	CONFIG_ASSERT(adc != NULL);
	OS_CREATE_TASK(tpstest_task, "TPS Task", 512, NULL, 1, tpsTask);
	vTaskSuspend(NULL);
}
OS_DEFINE_TASK(tpsInitTask, 512);
int32_t tpstest_init() {
	OS_CREATE_TASK(tpstest_initTask, "TPS Init Task", 512, NULL, 4, tpsInitTask);
	return 0;
}
Example #2
0
void mailbox_test() {
	BaseType_t ret;
	rx = mailbox_init(MAILBOX0_ID);
	CONFIG_ASSERT(rx != NULL);
	tx = mailbox_init(MAILBOX0_ID);
	CONFIG_ASSERT(tx != NULL);
	ret = OS_CREATE_TASK(mailbox_testTask, "Mailbox Test Task", 512, NULL, 1, task);
	CONFIG_ASSERT(ret == pdPASS);
}
Example #3
0
void sdtest_init() {
	BaseType_t ret;
	struct sd_setting setting = {
		.clock = 400000,
		.wide = SD_BusWide_1b,
		.mode = SD_SD,
	};
	sd = sd_init(SDIO_ID, &setting);
	CONFIG_ASSERT(sd != NULL);

	ret = OS_CREATE_TASK(sdtest_task, "SD Test Task", 512, NULL, 1, sdTask);
	CONFIG_ASSERT(ret == pdPASS);
}
Example #4
0
int32_t adctest_init() {
	struct adc *adc = adc_init(0, 12, 4125000);
	/*struct adc *adc = adc_init(1, 12, 40000000);*/ /* DIV = 1 */
	/*struct adc *adc = adc_init(1, 12, 13200000);*/ /* DIV = 5 ~ 4 */
	/*struct adc *adc = adc_init(1, 12, 9428571);*/ /* DIV = 7 ~ 8 */
	/*struct adc *adc = adc_init(1, 12, 6000000);*/ /* DIV = 11 ~ 8 */
	/*struct adc *adc = adc_init(1, 12, 4400000);*/ /* DIV = 15 ~ 16 */



	CONFIG_ASSERT(adc != NULL);
	OS_CREATE_TASK(adctestTask, "ADC Test Task", 512, adc, 1, adcTask);
	return 0;
}
Example #5
0
void boardtest_init() {
	int32_t ret;
	int32_t i;
	struct gpio *gpio = gpio_init(GPIO_ID);
	CONFIG_ASSERT(gpio != NULL);
	for (i = 0; i < ARRAY_SIZE(pinIds); i++) {
		printf("pinID: %s 0x%lx\n", pinIds[i].name, pinIds[i].pinID);
		pins[i] = gpioPin_init(gpio, pinIds[i].pinID, GPIO_OUTPUT, GPIO_PULL_UP);
		CONFIG_ASSERT(pins[i] != NULL);
	}
	for (i = 0; i < ARRAY_SIZE(buttonIDs); i++) {
		buttons[i] = gpioPin_init(gpio, buttonIDs[i].pinID, GPIO_INPUT, GPIO_OPEN);
		CONFIG_ASSERT(buttons[i] != NULL);
		ret = gpioPin_setCallback(buttons[i], buttonHandler, NULL, GPIO_RISING);
		CONFIG_ASSERT(ret >= 0);
		ret = gpioPin_enableInterrupt(buttons[i]);
		CONFIG_ASSERT(ret >= 0);
	}
	ret = OS_CREATE_TASK(boardtest_task, "Board test task", 512, NULL, 1, boardTask);
	CONFIG_ASSERT(ret == pdPASS);
}
Example #6
0
void spitest_init() {
#if 1
	struct spi *spi;
	static struct spi_slave *slave[3];
	struct spi_opt opt = {
		.lsb = false,
		.cpol = false,
		.cpha = false,
		.cs = 0,
		.csLowInactive = false,
		.gpio = SPI_OPT_GPIO_DIS,
		.size = 8,
		.wdelay = 0,
		.cs_hold = 8,
		.cs_delay = 500,
		.bautrate = 500000,
	};
	spi = spi_init(1, SPI_3WIRE_CS, NULL);
	CONFIG_ASSERT(spi != NULL);
	slave[0] = spiSlave_init(spi, &opt);
	CONFIG_ASSERT(slave[0] != NULL);
	opt.cs_hold = 6;
	opt.cs_delay = 8;
	opt.cs = 1;
	slave[1] = spiSlave_init(spi, &opt);
	CONFIG_ASSERT(slave[1] != NULL);
	opt.cs = 2;
	slave[2] = spiSlave_init(spi, &opt);
	CONFIG_ASSERT(slave[2] != NULL);
#else
	struct spi *spi;
	static struct spi_slave *slave[3];
	struct spi_ops ops = {
		.lsb = false,
		.cpol = false,
		.cpha = false,
		.cs = SPI_OPT_CS_DIS,
		.csLowInactive = false,
		.gpio = PTD5,
		.size = 8,
		.wdelay = 0,
		.cs_hold = 8,
		.cs_delay = 500,
		.bautrate = 500000,
	};
	spi = spi_init(1);
	CONFIG_ASSERT(spi != NULL);
	ops.cpol = false;
	ops.cpha = false;
	ops.gpio = PTD5; /* CS 0 */
	slave[0] = spi_slave(spi, &ops);
	CONFIG_ASSERT(slave[0] != NULL);
	ops.cpol = false;
	ops.cpha = false;
	ops.cs_hold = 6;
	ops.cs_delay = 8;
	ops.gpio = PTD4; /* CS 1 */
	slave[1] = spi_slave(spi, &ops);
	CONFIG_ASSERT(slave[1] != NULL);
	ops.cpol = false;
	ops.cpha = false;
	ops.gpio = PTD3; /* CS 2 */
	slave[2] = spi_slave(spi, &ops);
	CONFIG_ASSERT(slave[2] != NULL);
#endif

	OS_CREATE_TASK(spiTask, "SPI Test Task", 512, slave, 1, taskSPI);
}
void bt_fw_create_stack_tasks( void )
{
    /* Create HCI Transport Driver Tasks */
    BT_FW_TASKS_PRIORITY task_priority ;

    task_priority = HCI_TD_TASK_PRI ;

    if(OS_CREATE_TASK(&hci_td_task_handle, HCI_TD_TASK_NAME,
                      (UCHAR)task_priority,
                      (OS_TASK_FUNCTION) hci_td_process_signal,
                      HCI_TD_TASK_Q_SIZE, HCI_TD_TASK_BUSY_PERIOD )
                        != BT_ERROR_OK )
    {
		BT_FW_ERR(CREATION_OF_HCI_COMMAND_TASK_FAILED,0,0);
        return;
    }

    /* Creating HCI command task */
    task_priority = HCI_CMD_TASK_PRI ;

    if(OS_CREATE_TASK(&hci_command_task_handle, HCI_CMD_TASK_NAME,
                      (UCHAR)task_priority, (OS_TASK_FUNCTION) HCI_Command_Task,
                      HCI_CMD_TASK_Q_SIZE, HCI_CMD_TASK_BUSY_PERIOD )
                        != BT_ERROR_OK )
    {
		BT_FW_ERR(CREATION_OF_HCI_COMMAND_TASK_FAILED,0,0);
        return;
    }

    /* Creating HCI event task */
    task_priority = HCI_EVENT_TASK_PRI ;

    if(OS_CREATE_TASK(&hci_event_task_handle, HCI_EVENT_TASK_NAME,
                      (UCHAR)task_priority,(OS_TASK_FUNCTION) HCI_Event_Task,
                      HCI_EVENT_TASK_Q_SIZE, HCI_EVENT_TASK_BUSY_PERIOD )
                        != BT_ERROR_OK)
    {
		BT_FW_ERR(CREATION_OF_HCI_COMMAND_TASK_FAILED,0,0);
        return;
    }

    /*
     * Create LMP Tasks 
     */

    /* Creating LMP task */
    task_priority =   LMP_TASK_PRI ;
    if(OS_CREATE_TASK( &lmp_task_handle, LMP_TASK_NAME,
                       (UINT8)task_priority, (OS_TASK_FUNCTION) LMP_Task,
                       LMP_TASK_Q_SIZE, LMP_TASK_BUSY_PERIOD ) != BT_ERROR_OK)
    {
		BT_FW_ERR(CREATION_OF_LMP_TASK_FAILED,0,0);
        return;
    }

    /* 
     * Create LC Tasks 
     */

    /* Creating LC TX task */
    task_priority = LC_TX_TASK_PRI ;

    if(OS_CREATE_TASK(&lc_tx_task_handle,LC_TX_TASK_NAME,
                      (UCHAR)task_priority,
                      (OS_TASK_FUNCTION) lc_tx_task,
                      (UINT32)LC_TX_TASK_Q_SIZE,
                      (UINT16)LC_TX_TASK_BUSY_PERIOD) != BT_ERROR_OK)
    {
        /* For the time being keep it HCI_log only */
		BT_FW_ERR(CREATION_OF_LC_TX_TASK_FAILED,0,0);
        return ;
    }

    /* Creating LC RX task */
    task_priority = LC_RX_TASK_PRI;

    if(OS_CREATE_TASK( &lc_rx_task_handle, LC_RX_TASK_NAME,
                       (UINT8)task_priority,
                       (OS_TASK_FUNCTION)lc_rx_task,
                       LC_RX_TASK_Q_SIZE,
                       LC_RX_TASK_BUSY_PERIOD) != BT_ERROR_OK)
    {
        /* For the time being keep it HCI_log only */
		BT_FW_ERR(CREATION_OF_LC_RX_TASK_FAILED,0,0);
        return ;
    }

#ifdef COMPILE_AFH_HOP_KERNEL
    task_priority = CH_AS_TASK_PRI ;

    if(OS_CREATE_TASK( &hci_ch_as_task_handle, LMP_CH_TASK_NAME,
                       (UINT8)task_priority,
                       (OS_TASK_FUNCTION)hci_ch_as_task,
                       CH_AS_TASK_Q_SIZE,
                       CH_AS_TASK_BUSY_PERIOD) != BT_ERROR_OK)
    {
        /* For the time being keep it HCI_log only */
		BT_FW_ERR(CREATION_OF_CH_AS_TASK_FAILED,0,0);
        return ;
    }
#endif

    return;
}