summaryrefslogtreecommitdiff
path: root/c/rrxing/rrxing.c
diff options
context:
space:
mode:
authorcheapie <cheapiephp@gmail.com>2026-06-17 05:07:47 -0500
committercheapie <cheapiephp@gmail.com>2026-06-17 05:07:47 -0500
commit4dddf8ef2a7284891cdb273a6f0fd25db37099e2 (patch)
tree181bb268c30c0ba34a0195d57fd86ca83fbc302d /c/rrxing/rrxing.c
parent638c56796678da47fef836fbdd056cfb75a639fc (diff)
downloadrvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar.gz
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar.bz2
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.tar.xz
rvcontroller-4dddf8ef2a7284891cdb273a6f0fd25db37099e2.zip
Add UK version of railroad crossing
Also fix some Makefile issues
Diffstat (limited to 'c/rrxing/rrxing.c')
-rw-r--r--c/rrxing/rrxing.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/c/rrxing/rrxing.c b/c/rrxing/rrxing.c
index e867e8a..3783853 100644
--- a/c/rrxing/rrxing.c
+++ b/c/rrxing/rrxing.c
@@ -34,7 +34,12 @@ bool checkdetector(void) {
}
void main() {
- printstr("Railroad Crossing\nfor RVController\nInitializing HW\n");
+#ifdef RRXING_DE
+ printstr("DE Railroad Crossing\n");
+#elif RRXING_UK
+ printstr("UK Railroad Crossing\n");
+#endif
+ printstr("for RVController\nInitializing HW\n");
digiline_send("light","OFF");
digiline_send("bell","off");
digiline_send("gate","up");
@@ -46,6 +51,7 @@ void main() {
while (!checkdetector()) {}
printstr("Train detected\nLightweight: Off\n");
lightweight_mode(0);
+#ifdef RRXING_DE
digiline_send("light","YELLOW");
printstr("Light: Yellow\n");
sleep(2);
@@ -60,6 +66,24 @@ void main() {
sleep(4);
digiline_send("bell","off");
printstr("Bell: Off\n");
+#elif RRXING_UK
+ digiline_send("bell","on");
+ printstr("Bell: On\n");
+ digiline_send("light","YELLOW");
+ printstr("Light: Yellow\n");
+ sleep(3);
+ digiline_send("light","RED");
+ printstr("Light: Red\n");
+ sleep(1);
+ digiline_send("light","FLASHRED");
+ printstr("Light: Flash Red\n");
+ sleep(5);
+ digiline_send("gate","down");
+ printstr("Gate: Down\n");
+ sleep(4);
+#else
+#error No country selected
+#endif
digiline_clearbuffer();
for (uint8_t time = 15;time > 0;time--) {
@@ -77,6 +101,12 @@ void main() {
}
printstr("Timed out\n");
+#ifdef RRXING_UK
+ digiline_send("bell","off");
+ printstr("Bell: Off\n");
+ sleep(1);
+#endif
+
digiline_send("gate","up");
printstr("Gate: Up\n");
sleep(2);