Skip to content

Commit d16d270

Browse files
committed
First implementation for #222
I did some quick tests and it seems to work but I expect problems to pop up as it was way more complicated then I thought it would be
1 parent fb1b79b commit d16d270

15 files changed

+980
-1049
lines changed

it.baeyens.arduino.common/src/it/baeyens/arduino/common/Const.java

+86-20
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,31 @@ public class Const {
3838
// preference nodes
3939
public static final String NODE_ARDUINO = PLUGIN_START + "arduino";
4040

41+
// Actions
42+
public static final String ACTION_UPLOAD = "UPLOAD";
43+
public static final String ACTION_PROGRAM = "PROGRAM";
44+
public static final String ACTION_C_to_O = "RECIPE.C.O";
45+
public static final String ACTION_CPP_to_O = "RECIPE.CPP.O";
46+
public static final String ACTION_S_to_O = "RECIPE.S.O";
47+
public static final String ACTION_OBJCOPY_to_HEX = "RECIPE.OBJCOPY.HEX";
48+
public static final String ACTION_OBJCOPY_to_EEP = "RECIPE.OBJCOPY.EEP";
49+
public static final String ACTION_SIZE = "RECIPE.SIZE";
50+
public static final String ACTION_AR = "RECIPE.AR";
51+
public static final String ACTION_C_COMBINE = "RECIPE.C.COMBINE";
52+
// public static final String ENV_KEY_RECIPE_C_O_PATTERN = ENV_KEY_BOARD_START + "RECIPE.C.O.PATTERN";
53+
// public static final String ENV_KEY_RECIPE_CPP_O_PATTERN = ENV_KEY_BOARD_START + "RECIPE.CPP.O.PATTERN";
54+
// public static final String ENV_KEY_RECIPE_S_O_PATTERN = ENV_KEY_BOARD_START + "RECIPE.S.O.PATTERN";
55+
// public static final String ENV_KEY_RECIPE_OBJCOPY_HEX_PATTERN = ENV_KEY_BOARD_START + "RECIPE.OBJCOPY.HEX.PATTERN";
56+
// public static final String ENV_KEY_RECIPE_OBJCOPY_EEP_PATTERN = ENV_KEY_BOARD_START + "RECIPE.OBJCOPY.EEP.PATTERN";
57+
// public static final String ENV_KEY_RECIPE_SIZE_PATTERN = ENV_KEY_BOARD_START + "RECIPE.SIZE.PATTERN";
58+
// public static final String ENV_KEY_RECIPE_AR_PATTERN = ENV_KEY_BOARD_START + "RECIPE.AR.PATTERN";
59+
// public static final String ENV_KEY_RECIPE_C_COMBINE_PATTERN = ENV_KEY_BOARD_START + "RECIPE.C.COMBINE.PATTERN";
60+
61+
// Describers
62+
public static final String ENV_PROTOCOL = "PROTOCOL";
63+
public static final String ENV_TOOL = "TOOL";
64+
public static final String ENV_PATTERN = "PATTERN";
65+
4166
// preference keys
4267
public static final String KEY_PRIVATE_LIBRARY_PATHS = "Private Library Path";
4368
public static final String KEY_PRIVATE_HARDWARE_PATHS = "Private hardware Path";
@@ -47,6 +72,7 @@ public class Const {
4772
// properties keys
4873
public static final String KEY_LAST_USED_BOARD = "Board";
4974
public static final String KEY_LAST_USED_COM_PORT = "Upload port";
75+
public static final String KEY_LAST_USED_UPLOAD_PROTOCOL = ACTION_UPLOAD + DOT + ENV_PROTOCOL;
5076
public static final String KEY_LAST_USED_BOARDS_FILE = "Boards file";
5177
public static final String KEY_LAST_USED_BOARD_MENU_OPTIONS = "Board custom option selections";
5278
public static final String KEY_LAST_USED_SCOPE_FILTER_MENU_OPTION = "Board scope filter on off";
@@ -70,8 +96,8 @@ public class Const {
7096
public static final String VARIANTS_FOLDER_NAME = "variants";
7197
public static final String PACKAGES_FOLDER_NAME = "packages";
7298

73-
// tags to interpret the arduino input files
74-
public static final String BOARD_NAME_KEY_TAG = "name";
99+
// tags to interpret the arduino txt config files
100+
public static final String TXT_NAME_KEY_TAG = "name";
75101
public static final String UPLOAD_TOOL_TEENSY = "teensy_reboot";
76102
public static final String UPLOAD_SSH = "ssh upload";
77103
public static final String MENU = "menu";
@@ -80,20 +106,14 @@ public class Const {
80106
public static final String KEY_OPEN_SERIAL_WITH_MONITOR = "Open serial connections with the monitor";
81107
public static final String KEY_AUTO_IMPORT_LIBRARIES = "Automatically import libraries";
82108

83-
public static final String ENV_KEY_BOARD_START = "A.";
84-
public static final String ENV_KEY_BOARD_UPLOAD_PROTOCOL = ENV_KEY_BOARD_START + "UPLOAD.PROTOCOL";
109+
public static final String ENV_KEY_BOARD_START = "A" + DOT;
110+
111+
public static final String ENV_KEY_PROGRAMMERS_START = ENV_KEY_BOARD_START + "PROGRAMMERS.";
112+
// public static final String ENV_KEY_BOARD_UPLOAD_PROTOCOL = ENV_KEY_BOARD_START + "UPLOAD.PROTOCOL";
85113
public static final String WORKSPACE_LIB_FOLDER = LIBRARY_PATH_SUFFIX + "/";
86114
public static final String ARDUINO_IDE_VERSION = "ArduinoIDEVersion";
87115
public static final String ENV_KEY_NAME = ENV_KEY_BOARD_START + "NAME";
88116
public static final String ENV_KEY_VERSION = ENV_KEY_BOARD_START + "VERSION";
89-
public static final String ENV_KEY_RECIPE_C_O_PATTERN = ENV_KEY_BOARD_START + "RECIPE.C.O.PATTERN";
90-
public static final String ENV_KEY_RECIPE_CPP_O_PATTERN = ENV_KEY_BOARD_START + "RECIPE.CPP.O.PATTERN";
91-
public static final String ENV_KEY_RECIPE_S_O_PATTERN = ENV_KEY_BOARD_START + "RECIPE.S.O.PATTERN";
92-
public static final String ENV_KEY_RECIPE_OBJCOPY_HEX_PATTERN = ENV_KEY_BOARD_START + "RECIPE.OBJCOPY.HEX.PATTERN";
93-
public static final String ENV_KEY_RECIPE_OBJCOPY_EEP_PATTERN = ENV_KEY_BOARD_START + "RECIPE.OBJCOPY.EEP.PATTERN";
94-
public static final String ENV_KEY_RECIPE_SIZE_PATTERN = ENV_KEY_BOARD_START + "RECIPE.SIZE.PATTERN";
95-
public static final String ENV_KEY_RECIPE_AR_PATTERN = ENV_KEY_BOARD_START + "RECIPE.AR.PATTERN";
96-
public static final String ENV_KEY_RECIPE_C_COMBINE_PATTERN = ENV_KEY_BOARD_START + "RECIPE.C.COMBINE.PATTERN";
97117

98118
public static final String ENV_KEY_BUILD_VARIANT = ENV_KEY_BOARD_START + "BUILD.VARIANT";
99119
public static final String ENV_KEY_COMPILER_PATH = ENV_KEY_BOARD_START + "COMPILER.PATH";
@@ -111,8 +131,9 @@ public class Const {
111131
public static final String ENV_KEY_UPLOAD_USE_1200BPS_TOUCH = ENV_KEY_BOARD_START + "UPLOAD.USE_1200BPS_TOUCH";
112132
public static final String ENV_KEY_UPLOAD_DISABLE_FLUSHING = ENV_KEY_BOARD_START + "UPLOAD.DISABLE_FLUSHING";
113133
public static final String ENV_KEY_WAIT_FOR_UPLOAD_PORT = ENV_KEY_BOARD_START + "UPLOAD.WAIT_FOR_UPLOAD_PORT";
114-
public static final String ENV_KEY_UPLOAD_TOOL = ENV_KEY_BOARD_START + "UPLOAD.TOOL";
115-
public static final String ENV_KEY_UPLOAD_PROTOCOL = ENV_KEY_BOARD_START + "UPLOAD.PROTOCOL";
134+
// public static final String ENV_KEY_UPLOAD_TOOL = ENV_KEY_BOARD_START + "UPLOAD.TOOL";
135+
// public static final String ENV_KEY_PROGRAM_TOOL = ENV_KEY_BOARD_START + "PROGRAM.TOOL";
136+
// public static final String ENV_KEY_UPLOAD_PROTOCOL = ENV_KEY_BOARD_START + "UPLOAD.PROTOCOL";
116137
public static final String ENV_KEY_BUILD_CORE = ENV_KEY_BOARD_START + "BUILD.CORE";
117138
public static final String ENV_KEY_BUILD_CORE_PATH = ENV_KEY_BOARD_START + "BUILD.CORE.PATH";
118139
public static final String ENV_KEY_USE_ARCHIVER = ENV_KEY_BOARD_START + "BUILD.USE_ARCHIVER";
@@ -125,15 +146,13 @@ public class Const {
125146
public static final String ENV_KEY_JANTJE_SIZE_SWITCH = ENV_KEY_JANTJE_START + "SIZE.SWITCH";
126147
public static final String ENV_KEY_JANTJE_BOARDS_FILE = ENV_KEY_JANTJE_START + "BOARDS_FILE";
127148
public static final String ENV_KEY_JANTJE_PLATFORM_FILE = ENV_KEY_JANTJE_START + "PLATFORM_FILE";
128-
public static final String ENV_KEY_JANTJE_REFERENCED_PLATFORM_FILE = ENV_KEY_JANTJE_START
129-
+ "REFERENCED_PLATFORM_FILE";
149+
public static final String ENV_KEY_JANTJE_REFERENCED_PLATFORM_FILE = ENV_KEY_JANTJE_START + "REFERENCED_PLATFORM_FILE";
130150
public static final String ENV_KEY_JANTJE_COM_PORT = ENV_KEY_JANTJE_START + "COM_PORT";
131151
public static final String ENV_KEY_JANTJE_BOARD_NAME = ENV_KEY_JANTJE_START + "BOARD_NAME";
132152

133153
public static final String ENV_KEY_JANTJE_ADDITIONAL_COMPILE_OPTIONS = ENV_KEY_JANTJE_START + "EXTRA.COMPILE";
134154
public static final String ENV_KEY_JANTJE_ADDITIONAL_C_COMPILE_OPTIONS = ENV_KEY_JANTJE_START + "EXTRA.C.COMPILE";
135-
public static final String ENV_KEY_JANTJE_ADDITIONAL_CPP_COMPILE_OPTIONS = ENV_KEY_JANTJE_START
136-
+ "EXTRA.CPP.COMPILE";
155+
public static final String ENV_KEY_JANTJE_ADDITIONAL_CPP_COMPILE_OPTIONS = ENV_KEY_JANTJE_START + "EXTRA.CPP.COMPILE";
137156
public static final String ENV_KEY_JANTJE_PACKAGE_ID = ENV_KEY_JANTJE_START + "PACKAGE_ID";
138157
public static final String ENV_KEY_JANTJE_ARCITECTURE_ID = ENV_KEY_JANTJE_START + "ARCHITECTURE_ID";
139158
public static final String ENV_KEY_JANTJE_BOARD_ID = ENV_KEY_JANTJE_START + "BOARD_ID";
@@ -145,8 +164,7 @@ public class Const {
145164
// template Sketch information
146165

147166
public static final String ENV_KEY_JANTJE_SKETCH_TEMPLATE_FOLDER = ENV_KEY_JANTJE_START + "TEMPLATE_FOLDER";
148-
public static final String ENV_KEY_JANTJE_SKETCH_TEMPLATE_USE_DEFAULT = ENV_KEY_JANTJE_START
149-
+ "TEMPLATE_USE_DEFAULT";
167+
public static final String ENV_KEY_JANTJE_SKETCH_TEMPLATE_USE_DEFAULT = ENV_KEY_JANTJE_START + "TEMPLATE_USE_DEFAULT";
150168

151169
public static final String ENV_KEY_WARNING_LEVEL_OFF = " -w ";
152170
public static final String ENV_KEY_WARNING_LEVEL_ON = " -Wall ";
@@ -170,4 +188,52 @@ public class Const {
170188
public static final String POST_PROCESSING_PLATFORM_TXT = "post_processing_platform.txt";
171189
public static final String DEFINE_IN_ECLIPSE = "__IN_ECLIPSE__";
172190

191+
/**
192+
* given a action return the environment key that matches it's protocol
193+
*
194+
* @param action
195+
* @return the environment variable key to find the protocol
196+
*/
197+
public static String get_ENV_KEY_PROTOCOL(String action) {
198+
return ENV_KEY_BOARD_START + action.toUpperCase() + DOT + ENV_PROTOCOL;
199+
}
200+
201+
/**
202+
* given a action return the environment key that matches it's tool
203+
*
204+
* @param action
205+
* @return the environment variable key to find the tool
206+
*/
207+
public static String get_ENV_KEY_TOOL(String action) {
208+
return ENV_KEY_BOARD_START + action.toUpperCase() + DOT + ENV_TOOL;
209+
}
210+
211+
/**
212+
* given a action return the environment key that matches it's recipe
213+
*
214+
* @param action
215+
* @return he environment variable key to find the recipe
216+
*/
217+
public static String get_ENV_KEY_RECIPE(String action) {
218+
return ENV_KEY_BOARD_START + action.toUpperCase() + DOT + ENV_PATTERN;
219+
}
220+
221+
/**
222+
* given a action and a tool return the environment key that matches it's recipe
223+
*
224+
* @param action
225+
* @return he environment variable key to find the recipe
226+
*/
227+
public static String get_ENV_KEY_RECIPE(String tool, String action) {
228+
return ENV_KEY_BOARD_START + "TOOLS" + DOT + tool.toUpperCase() + DOT + action.toUpperCase() + DOT + ENV_PATTERN;
229+
}
230+
231+
public static String get_Jantje_KEY_PROTOCOL(String action) {
232+
return ENV_KEY_JANTJE_START + action.toUpperCase() + DOT + ENV_PROTOCOL;
233+
}
234+
235+
public static String get_Jantje_KEY_RECIPE(String action) {
236+
return ENV_KEY_JANTJE_START + action.toUpperCase() + DOT + ENV_PATTERN;
237+
}
238+
173239
}

0 commit comments

Comments
 (0)