Beispiel #1
0
float GetVoltage(uint32_t uAdcNumber)
{
	OpenAdc(uAdcNumber);
	uint32_t uAdcValue = GetAdcValue();
	float fAdcVoltage = ((float)uAdcValue / ADC_COUNT_MAX) * ADC_COUNT_MAX_VOLTAGE * ADC_PRESCALING;
	return fAdcVoltage;
}
Beispiel #2
0
void CmdAdc(void) {
	static bool init = true;
	uart_cmd_t *cmdPtr = GetCmdPointer();
	adc_info_t *adc = GetAdcPointer();
	int8_t ch = -1;

	// Initialize device on first run
	if (init){
		InitAdc(adc);
		UARTprintf(ADC_INIT_COMPLETE);
		init = false;
	}

	// Handle parameters
	if (cmdPtr->argsNum) {
		switch(*cmdPtr->currentArgs){
			case 'h':
			CmdAdcHelp();
			break;

			case 'a':
				ch = GetAdcValue(adc, cmdPtr);
				PrintSingleChannel(adc, ch);
			break;

			case 'd':
				GetAdcValues();
				PrintAllChannels();
			break;

			case 'c':
				ToggleTriggerEnable(adc, cmdPtr);
			break;

			case 't':
				SetTriggerValue(adc, cmdPtr);
			break;

			case 's':
				WaitForTrigger(adc, cmdPtr);
			break;

			case 'p':
				WriteToPool();
			break;

			case 'i':
				PrintAdcInformation(adc, cmdPtr);
			break;
		}
	}
	else {
		UARTprintf(CMD_ZERO_ARGS);
	}

}