Prusa MINI Firmware overview
Version.h
Go to the documentation of this file.
1 /**
2  * Marlin 3D Printer Firmware
3  * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4  *
5  * Based on Sprinter and grbl.
6  * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 #pragma once
23 
24 /**
25  * Release version. Leave the Marlin version or apply a custom scheme.
26  */
27 #ifndef SHORT_BUILD_VERSION
28  #define SHORT_BUILD_VERSION "bugfix-2.0.x"
29 #endif
30 
31 /**
32  * Verbose version identifier containing a unique identifier, such as the
33  * vendor name, download location, GitHub account, etc.
34  */
35 #ifndef DETAILED_BUILD_VERSION
36  #define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION " (GitHub)"
37 #endif
38 
39 /**
40  * The STRING_DISTRIBUTION_DATE represents when the binary file was built,
41  * here we define this default string as the date where the latest release
42  * version was tagged.
43  */
44 #ifndef STRING_DISTRIBUTION_DATE
45  #define STRING_DISTRIBUTION_DATE "2019-10-18"
46 #endif
47 
48 /**
49  * Minimum Configuration.h and Configuration_adv.h file versions.
50  * Set based on the release version number. Used to catch an attempt to use
51  * older configurations. Override these if using a custom versioning scheme
52  * to alert users to major changes.
53  */
54 
55 #define MARLIN_HEX_VERSION 020000
56 #ifndef REQUIRED_CONFIGURATION_H_VERSION
57  #define REQUIRED_CONFIGURATION_H_VERSION MARLIN_HEX_VERSION
58 #endif
59 #ifndef REQUIRED_CONFIGURATION_ADV_H_VERSION
60  #define REQUIRED_CONFIGURATION_ADV_H_VERSION MARLIN_HEX_VERSION
61 #endif
62 
63 /**
64  * The protocol for communication to the host. Protocol indicates communication
65  * standards such as the use of ASCII, "echo:" and "error:" line prefixes, etc.
66  * (Other behaviors are given by the firmware version and capabilities report.)
67  */
68 #ifndef PROTOCOL_VERSION
69  #define PROTOCOL_VERSION "1.0"
70 #endif
71 
72 /**
73  * Define a generic printer name to be output to the LCD after booting Marlin.
74  */
75 #ifndef MACHINE_NAME
76  #define MACHINE_NAME "3D Printer"
77 #endif
78 
79 /**
80  * Website where users can find Marlin source code for the binary installed on the
81  * device. Override this if you provide public source code download. (GPLv3 requires
82  * providing the source code to your customers.)
83  */
84 #ifndef SOURCE_CODE_URL
85  #define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"
86 #endif
87 
88 /**
89  * Default generic printer UUID.
90  */
91 #ifndef DEFAULT_MACHINE_UUID
92  #define DEFAULT_MACHINE_UUID "cede2a2f-41a2-4748-9b12-c55c62f367ff"
93 #endif
94 
95  /**
96  * The WEBSITE_URL is the location where users can get more information such as
97  * documentation about a specific Marlin release. Displayed in the Info Menu.
98  */
99 #ifndef WEBSITE_URL
100  #define WEBSITE_URL "http://marlinfw.org"
101 #endif
102 
103 /**
104  * Set the vendor info the serial USB interface, if changable
105  * Currently only supported by DUE platform
106  */
107 #ifndef USB_DEVICE_VENDOR_ID
108  #define USB_DEVICE_VENDOR_ID 0x03EB /* ATMEL VID */
109 #endif
110 #ifndef USB_DEVICE_PRODUCT_ID
111  #define USB_DEVICE_PRODUCT_ID 0x2424 /* MSC / CDC */
112 #endif
113 //! USB Device string definitions (Optional)
114 #ifndef USB_DEVICE_MANUFACTURE_NAME
115  #define USB_DEVICE_MANUFACTURE_NAME WEBSITE_URL
116 #endif
117 #ifdef CUSTOM_MACHINE_NAME
118  #define USB_DEVICE_PRODUCT_NAME CUSTOM_MACHINE_NAME
119 #else
120  #define USB_DEVICE_PRODUCT_NAME MACHINE_NAME
121 #endif
122 #define USB_DEVICE_SERIAL_NAME "123985739853"