irom static app_action_t application_function_uart_parity(application_parameters_t ap)
{
	uart_parity_t parity = uart_string_to_parity((*ap.args)[1]);

	if(parity == parity_error)
	{
		snprintf(ap.dst, ap.size, "uart-parity: out of range: %s\n", (*ap.args)[1]);
		return(1);
	}

	config->uart.parity = parity;

	snprintf(ap.dst, ap.size, "uart-parity: %s\n", uart_parity_to_string(config->uart.parity));

	return(app_action_normal);
}
irom static app_action_t application_function_uart_parity(const string_t *src, string_t *dst)
{
	uart_parity_t parity;

	if(parse_string(1, src, dst) == parse_ok)
	{
		parity = uart_string_to_parity(dst);

		if((parity < parity_none) || (parity >= parity_error))
		{
			string_cat(dst, ": invalid parity\n");
			return(app_action_error);
		}

		config.uart.parity = parity;
	}

	string_copy(dst, "uart-parity: ");
	uart_parity_to_string(dst, config.uart.parity);
	string_cat(dst, "\n");

	return(app_action_normal);
}