29 lines
711 B
C++
29 lines
711 B
C++
/**
|
|
* @file RelayController.cpp
|
|
* @brief Implementation of relay controller for track configuration switching
|
|
*
|
|
* @author Locomotive Test Bench Project
|
|
* @date 2025
|
|
*/
|
|
|
|
#include "RelayController.h"
|
|
|
|
RelayController::RelayController() : is3Rail(false) {
|
|
}
|
|
|
|
void RelayController::begin() {
|
|
pinMode(RELAY_PIN, OUTPUT);
|
|
digitalWrite(RELAY_PIN, LOW); // Start in 2-rail mode
|
|
is3Rail = false;
|
|
|
|
Serial.println("Relay Controller initialized - 2-rail mode");
|
|
}
|
|
|
|
void RelayController::setRailMode(bool mode3Rail) {
|
|
is3Rail = mode3Rail;
|
|
digitalWrite(RELAY_PIN, is3Rail ? HIGH : LOW);
|
|
|
|
Serial.print("Rail mode changed to: ");
|
|
Serial.println(is3Rail ? "3-rail" : "2-rail");
|
|
}
|