void startVSSPins(void) { if (!hasVehicleSpeedSensor()) return; digital_input_s* vehicleSpeedInput = addWaveAnalyzerDriver("VSS", CONFIGB(vehicleSpeedSensorInputPin)); startInputDriver("VSS", vehicleSpeedInput, true); vehicleSpeedInput->widthListeners.registerCallback((VoidInt) vsAnaWidthCallback, NULL); }
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); }
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); }
static void setWaveModeSilent(int index, int mode) { WaveReader *reader = &readers[index]; startInputDriver("wave", reader->hw, mode); }