86 lines
2.6 KiB
C
86 lines
2.6 KiB
C
|
|
/*********************************************************************
|
|
* Railuino - Hacking your Märklin
|
|
*
|
|
* Copyright (C) 2012 Joerg Pleumann
|
|
* Copyright (C) 2024 christophe bobille
|
|
*
|
|
* This example is free software; you can redistribute it and/or
|
|
* modify it under the terms of the Creative Commons Zero License,
|
|
* version 1.0, as published by the Creative Commons Organisation.
|
|
* This effectively puts the file into the public domain.
|
|
*
|
|
* This example is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* LICENSE file for more details.
|
|
*/
|
|
|
|
#ifndef CONFIG_H
|
|
#define CONFIG_H
|
|
|
|
|
|
// ===================================================================
|
|
// === Common definitions ============================================
|
|
// ===================================================================
|
|
|
|
/**
|
|
* Version of Railuino library and required connection box software.
|
|
*/
|
|
//#define RAILUINO_VERSION 0x005B // 0.91 -> upgrade 0.90 to 0.91 christophe bobille 2024
|
|
//#define RAILUINO_VERSION 0x005C // 0.92 -> upgrade 0.91 to 0.92 christophe bobille 17/07/2024
|
|
//#define RAILUINO_VERSION 0x005D // 0.93 -> upgrade 0.92 to 0.93 christophe bobille 2024
|
|
#define RAILUINO_VERSION 0x3AD // 0.941 -> upgrade 0.93 to 0.94 for Arduino christophe bobille 03/2025
|
|
#define TRACKBOX_VERSION 0x0127 // 1.39
|
|
|
|
/**
|
|
* Constants for protocol base addresses.
|
|
*/
|
|
#define ADDR_MM2 0x0000 // MM2 locomotive
|
|
#define ADDR_SX1 0x0800 // Selectrix (old) locomotive
|
|
#define ADDR_MFX 0x4000 // MFX locomotive
|
|
#define ADDR_SX2 0x8000 // Selectrix (new) locomotive
|
|
#define ADDR_DCC 0xC000 // DCC locomotive
|
|
#define ADDR_ACC_SX1 0x2000 // Selectrix (old) magnetic accessory
|
|
#define ADDR_ACC_MM2 0x2FFF // MM2 magnetic accessory
|
|
#define ADDR_ACC_DCC 0x3800 // DCC magnetic accessory
|
|
|
|
/**
|
|
* Constants for classic MM2 Delta addresses.
|
|
*/
|
|
#define DELTA1 78
|
|
#define DELTA2 72
|
|
#define DELTA3 60
|
|
#define DELTA4 24
|
|
|
|
/**
|
|
* Constants for locomotive directions.
|
|
*/
|
|
#define DIR_CURRENT 0
|
|
#define DIR_FORWARD 1
|
|
#define DIR_REVERSE 2
|
|
#define DIR_CHANGE 3
|
|
|
|
/**
|
|
* Constants for accessory states including some aliases.
|
|
*/
|
|
#define ACC_OFF 0
|
|
#define ACC_ROUND 0
|
|
#define ACC_RED 0
|
|
#define ACC_RIGHT 0
|
|
#define ACC_HP0 0
|
|
|
|
#define ACC_ON 1
|
|
#define ACC_GREEN 1
|
|
#define ACC_STRAIGHT 1
|
|
#define ACC_HP1 1
|
|
|
|
#define ACC_YELLOW 2
|
|
#define ACC_LEFT 2
|
|
#define ACC_HP2 2
|
|
|
|
#define ACC_WHITE 3
|
|
#define ACC_SH0 3
|
|
|
|
|
|
#endif // CONFIG_H
|