Beispiel #1
0
void startVSSPins(void) {
	if (!hasVehicleSpeedSensor())
		return;
	digital_input_s* vehicleSpeedInput = addWaveAnalyzerDriver("VSS", CONFIGB(vehicleSpeedSensorInputPin));
	startInputDriver("VSS", vehicleSpeedInput, true);
	vehicleSpeedInput->widthListeners.registerCallback((VoidInt) vsAnaWidthCallback, NULL);
}
Beispiel #2
0
void initVehicleSpeed(Logging *l) {
	logger = l;
	if (boardConfiguration->vehicleSpeedSensorInputPin == GPIO_UNASSIGNED)
		return;
	digital_input_s* vehicleSpeedInput = initWaveAnalyzerDriver("VSS", boardConfiguration->vehicleSpeedSensorInputPin);
	startInputDriver(vehicleSpeedInput, true);

	vehicleSpeedInput->widthListeners.registerCallback((VoidInt) vsAnaWidthCallback, NULL);
	addConsoleAction("speedinfo", speedInfo);
}
Beispiel #3
0
static void initWave(const char *name, int index) {
	brain_pin_e brainPin = CONFIGB(logicAnalyzerPins)[index];

	if (brainPin == GPIO_UNASSIGNED)
		return;

	bool mode = CONFIGB(logicAnalyzerMode)[index];

	waveReaderCount++;
	efiAssertVoid(CUSTOM_ERR_6655, index < MAX_ICU_COUNT, "too many ICUs");
	WaveReader *reader = &readers[index];
	reader->name = name;

	reader->hw = addWaveAnalyzerDriver("wave input", brainPin);
	if (reader->hw != NULL) {
		reader->hw->widthListeners.registerCallback((VoidInt)(void*) waAnaWidthCallback, (void*) reader);

		reader->hw->periodListeners.registerCallback((VoidInt)(void*) waIcuPeriodCallback, (void*) reader);
	}

	print("wave%d input on %s\r\n", index, hwPortname(brainPin));
	startInputDriver("wave", reader->hw, mode);
}
Beispiel #4
0
static void setWaveModeSilent(int index, int mode) {
	WaveReader *reader = &readers[index];

	startInputDriver("wave", reader->hw, mode);
}