Пример #1
0
int REM_pad_set_item(const char *item, const char *value)
{
    char result;

    _hold_signals(1);

    _send_ident(PAD_SET_ITEM);
    _send_text(item);
    _send_text(value);
    _get_char(&result);

    _hold_signals(0);

    return result;
}
Пример #2
0
int REM_pad_append_item(const char *item, const char *value, int replace)
{
    char result;

    _hold_signals(1);

    _send_ident(PAD_APPEND_ITEM);
    _send_text(item);
    _send_text(value);
    _send_int(&replace);
    _get_char(&result);

    _hold_signals(0);

    return result;
}
Пример #3
0
int REM_pad_create(const char *pad)
{
    char result;

    _hold_signals(1);

    _send_ident(PAD_CREATE);
    _send_text(pad);
    _get_char(&result);

    _hold_signals(0);

    return result;
}
Пример #4
0
int REM_pad_delete_item(const char *name)
{
    char result;

    _hold_signals(1);

    _send_ident(PAD_DELETE_ITEM);
    _send_text(name);
    _get_char(&result);

    _hold_signals(0);

    return result;
}
Пример #5
0
int REM_pad_select(const char *pad)
{
    char result;

    _hold_signals(1);

    _send_ident(PAD_SELECT);
    _send_text(pad);
    _get_char(&result);

    _hold_signals(0);

    return result;
}
Пример #6
0
int REM_pad_get_item(const char *item, char ***list, int *count)
{
    char result;

    _hold_signals(1);

    _send_ident(PAD_GET_ITEM);
    _send_text(item);
    _get_char(&result);

    if (result == OK)
	_get_list(list, count);

    _hold_signals(0);

    return result;
}
Пример #7
0
/**
 * \brief usb_cdc_serial Application entry point.
 *
 * Initializes drivers and start the USB <-> Serial bridge.
 */
int main(void)
{
	uint8_t is_usb_connected = 0;
	uint8_t usb_serial_read = 1;

	/* Disable watchdog */
	wdt_disable();

	/* Configure console */
	board_cfg_console();

	/* Output example information */
	printf("-- USB Device CDC Serial Project %s --\n\r", SOFTPACK_VERSION);
	printf("-- %s\n\r", BOARD_NAME);
	printf("-- Compiled: %s %s --\n\r", __DATE__, __TIME__);

	/* Initialize all USB power (off) */
	usb_power_configure();

	/* Configure USART */
	_configure_usart();

	/* CDC serial driver initialization */
	cdcd_serial_driver_initialize(&cdcd_serial_driver_descriptors);

	/* Help informaiton */
	_debug_help();

	/* connect if needed */
	usb_vbus_configure();

	/* Driver loop */
	while (1) {

		/* Device is not configured */
		if (usbd_get_state() < USBD_STATE_CONFIGURED) {

			if (is_usb_connected) {
				is_usb_connected = 0;
				is_cdc_serial_on  = 0;
			}

		} else if (is_usb_connected == 0) {
				is_usb_connected = 1;
		}

		/* Serial port ON/OFF */
		if (cdcd_serial_driver_get_control_line_state()
					& CDCControlLineState_DTR) {
			if (!is_cdc_serial_on) {
				is_cdc_serial_on = 1;
				}
			if(usb_serial_read == 1) {
				usb_serial_read = 0;
				/* Start receiving data on the USB */
				cdcd_serial_driver_read(usb_buffer, DATAPACKETSIZE,
							_usb_data_received, &usb_serial_read);
			}
			if(usart_rx_flag == true) {
				usart_rx_flag = false;
				cdcd_serial_driver_write((void *)&char_recv, 1, 0, 0);
				if(is_cdc_echo_on) {
					_usart_dma_tx((uint8_t*)&char_recv, 1);
				}
			}
		} else if (is_cdc_serial_on) {
			is_cdc_serial_on = 0;
		}
		
		if (console_is_rx_ready()) {
			uint8_t key = console_get_char();
			/* ESC: CDC Echo ON/OFF */
			if (key == 27) {

				printf("** CDC Echo %s\n\r",
						is_cdc_echo_on ? "OFF" : "ON");
				is_cdc_echo_on = !is_cdc_echo_on;

			} else if (key == 't') {
				/* 't': Test CDC writing  */
				_send_text();

			} else {
				printf("Alive\n\r");
				cdcd_serial_driver_write((char*)"Alive\n\r", 8,
						NULL, NULL);
				_usart_dma_tx((uint8_t*)"Alive\n\r", 8);
				_debug_help();
			}
		}
	}
}