Exemple #1
0
        static public string generate(IProject project, LibManager libManager, SetupData setup)
        {
            var tasklist = new List <Task>();

            tasklist.Add(new Task()
            {
                label   = "Build (Arduino Builder)",
                group   = new Group(),
                command = Path.Combine(setup.arduinoBase, "arduino-builder").Replace('\\', '/'),
                args    = new List <string>
                {
                    "-verbose=0",
                    "-logger=human",
                    "-debug-level=0",
                    $"-hardware={setup.arduinoBase}\\hardware".Replace('\\', '/'),
                    "'-build-path=${workspaceFolder}/.vsTeensy/build'",
                    $"-tools={setup.arduinoBase}\\tools-builder".Replace('\\', '/'),
                    $"-tools={setup.arduinoBase}\\hardware\\tools\\avr".Replace('\\', '/'),
                    $"-fqbn={project.selectedConfiguration.selectedBoard.fqbn}",
                    $"-libraries={Path.Combine(setup.arduinoBase, "hardware", "teensy", "avr", "libraries")}".Replace('\\', '/'),
                    $"-libraries={Path.Combine(setup.arduinoBase ,"libraries")}".Replace('\\', '/'),
                    $"-libraries={Path.Combine(Helpers.getSketchbookFolder() ,"libraries")}".Replace('\\', '/'),
                    $"{project.name}.ino"
                }
            });

            tasklist.Add(new Task()
            {
                label   = "Upload (PJRC)",
                group   = new Group(),
                command = $"{setup.arduinoTools}/teensy_post_compile.exe".Replace('\\', '/'),
                args    = new List <string>
                {
                    $"-test",
                    $"-reboot",
                    "'-path=${workspaceFolder}/.vsTeensy/build'",
                    $"-board={project.selectedConfiguration.selectedBoard.id}",
                    $"-tools={setup.arduinoTools}".Replace('\\', '/'),
                    $"-file='{project.name}.ino'",
                },
            });

            var tasks = new tasksJson
            {
                tasks        = tasklist,
                presentation = new Presentation()
            };

            return(JsonConvert.SerializeObject(tasks, Formatting.Indented));
        }
Exemple #2
0
        private string generateTasksFile()
        {
            if (setup.makeExePathError != null)
            {
                return(null);
            }

            string makePath = setup.makeExePath;

            var tasks = new tasksJson()
            {
                presentation = new Presentation(),
                tasks        = new List <Task>()
                {
                    new Task()
                    {
                        label   = "Build",
                        group   = new Group(),
                        command = makePath.Replace('\\', '/'),
                        args    = new List <string> {
                            "all", "-j", "-Otarget"
                        },
                    },
                    new Task()
                    {
                        label   = "Rebuild User Code",
                        group   = new Group(),
                        command = makePath.Replace('\\', '/'),
                        args    = new List <string> {
                            "rebuild", "-j", "-Otarget"
                        },
                    },
                    new Task()
                    {
                        label   = "Clean",
                        group   = new Group(),
                        command = makePath.Replace('\\', '/'),
                        args    = new List <string> {
                            "clean"
                        },
                    },
                    new Task()
                    {
                        label   = "Upload (Teensy Uploader)",
                        group   = new Group(),
                        command = makePath.Replace('\\', '/'),
                        args    = new List <string> {
                            "upload", "-j", "-Otarget"
                        },
                    }
                    ,
                    new Task()
                    {
                        label   = "Upload (TyCommander)",
                        group   = new Group(),
                        command = makePath.Replace('\\', '/'),
                        args    = new List <string> {
                            "uploadTy", "-j", "-Otarget"
                        },
                    }
                }
            };
            var json = new JavaScriptSerializer();

            return(FileHelpers.formatOutput(json.Serialize(tasks)));
        }