diff --git a/.gitignore b/.gitignore
index 452e43a2..61b52bc4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
.pioenvs
.tox
.sconsign.dblite
+examples/ide-eclipse/.metadata
+examples/ide-eclipse/RemoteSystemsTempFiles
diff --git a/examples/ide-eclipse/arduino_pro5v/.cproject b/examples/ide-eclipse/arduino_pro5v/.cproject
new file mode 100644
index 00000000..769e8cb8
--- /dev/null
+++ b/examples/ide-eclipse/arduino_pro5v/.cproject
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/ide-eclipse/arduino_pro5v/.project b/examples/ide-eclipse/arduino_pro5v/.project
new file mode 100644
index 00000000..dbdd9679
--- /dev/null
+++ b/examples/ide-eclipse/arduino_pro5v/.project
@@ -0,0 +1,27 @@
+
+
+ arduino_pro5v
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.core.ccnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/examples/ide-eclipse/arduino_pro5v/Makefile b/examples/ide-eclipse/arduino_pro5v/Makefile
new file mode 100644
index 00000000..eb5632a0
--- /dev/null
+++ b/examples/ide-eclipse/arduino_pro5v/Makefile
@@ -0,0 +1,5 @@
+all:
+ platformio run -t upload
+
+clean:
+ platformio run -t clean
diff --git a/examples/ide-eclipse/arduino_pro5v/platformio.ini b/examples/ide-eclipse/arduino_pro5v/platformio.ini
new file mode 100644
index 00000000..c39b5c74
--- /dev/null
+++ b/examples/ide-eclipse/arduino_pro5v/platformio.ini
@@ -0,0 +1,8 @@
+# Copyright (C) Ivan Kravets
+# See LICENSE for details.
+
+[env:arduino_pro5v]
+platform = atmelavr
+framework = arduino
+board = pro16MHzatmega168
+upload_port = /dev/tty.SLAB_USBtoUART
\ No newline at end of file
diff --git a/examples/ide-eclipse/arduino_pro5v/src/main.c b/examples/ide-eclipse/arduino_pro5v/src/main.c
new file mode 100644
index 00000000..07fc3605
--- /dev/null
+++ b/examples/ide-eclipse/arduino_pro5v/src/main.c
@@ -0,0 +1,20 @@
+/**
+ * Copyright (C) Ivan Kravets
+ * See LICENSE for details.
+ */
+
+#include "Arduino.h"
+#define WLED 13 // Most Arduino boards already have an LED attached to pin 13 on the board itself
+
+void setup()
+{
+ pinMode(WLED, OUTPUT); // set pin as output
+}
+
+void loop()
+{
+ digitalWrite(WLED, HIGH); // set the LED on
+ delay(1000); // wait for a second
+ digitalWrite(WLED, LOW); // set the LED off
+ delay(1000); // wait for a second
+}
diff --git a/examples/ide-eclipse/atmelavr_atmega168/.cproject b/examples/ide-eclipse/atmelavr_atmega168/.cproject
new file mode 100644
index 00000000..bf75df5c
--- /dev/null
+++ b/examples/ide-eclipse/atmelavr_atmega168/.cproject
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/ide-eclipse/atmelavr_atmega168/.project b/examples/ide-eclipse/atmelavr_atmega168/.project
new file mode 100644
index 00000000..b42a0017
--- /dev/null
+++ b/examples/ide-eclipse/atmelavr_atmega168/.project
@@ -0,0 +1,27 @@
+
+
+ atmelavr_atmega168
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.core.ccnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/examples/ide-eclipse/atmelavr_atmega168/.settings/org.eclipse.cdt.codan.core.prefs b/examples/ide-eclipse/atmelavr_atmega168/.settings/org.eclipse.cdt.codan.core.prefs
new file mode 100644
index 00000000..77386c23
--- /dev/null
+++ b/examples/ide-eclipse/atmelavr_atmega168/.settings/org.eclipse.cdt.codan.core.prefs
@@ -0,0 +1,67 @@
+eclipse.preferences.version=1
+org.eclipse.cdt.codan.checkers.errnoreturn=Warning
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue=Error
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.checkers.noreturn=Error
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
diff --git a/examples/ide-eclipse/atmelavr_atmega168/Makefile b/examples/ide-eclipse/atmelavr_atmega168/Makefile
new file mode 100644
index 00000000..eb5632a0
--- /dev/null
+++ b/examples/ide-eclipse/atmelavr_atmega168/Makefile
@@ -0,0 +1,5 @@
+all:
+ platformio run -t upload
+
+clean:
+ platformio run -t clean
diff --git a/examples/ide-eclipse/atmelavr_atmega168/platformio.ini b/examples/ide-eclipse/atmelavr_atmega168/platformio.ini
new file mode 100644
index 00000000..3814277c
--- /dev/null
+++ b/examples/ide-eclipse/atmelavr_atmega168/platformio.ini
@@ -0,0 +1,12 @@
+# Copyright (C) Ivan Kravets
+# See LICENSE for details.
+
+[env:atmelavr_atmega168]
+platform = atmelavr
+board_mcu = atmega168
+board_f_cpu = 16000000L
+
+upload_port = /dev/tty.SLAB_USBtoUART
+# upload_port = COM3
+upload_protocol = arduino
+upload_speed = 19200
\ No newline at end of file
diff --git a/examples/ide-eclipse/atmelavr_atmega168/src/main.c b/examples/ide-eclipse/atmelavr_atmega168/src/main.c
new file mode 100644
index 00000000..757d3c5f
--- /dev/null
+++ b/examples/ide-eclipse/atmelavr_atmega168/src/main.c
@@ -0,0 +1,23 @@
+/**
+ * Copyright (C) Ivan Kravets
+ * See LICENSE for details.
+ */
+
+#include
+#include
+
+int main(void)
+{
+ // make the LED pin an output for PORTB5
+ DDRB = 1 << 5;
+
+ while (1)
+ {
+ _delay_ms(500);
+
+ // toggle the LED
+ PORTB ^= 1 << 5;
+ }
+
+ return 0;
+}
diff --git a/examples/ide-eclipse/tilaunchpad_msp430g2/.cproject b/examples/ide-eclipse/tilaunchpad_msp430g2/.cproject
new file mode 100644
index 00000000..d0028b0b
--- /dev/null
+++ b/examples/ide-eclipse/tilaunchpad_msp430g2/.cproject
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/ide-eclipse/tilaunchpad_msp430g2/.project b/examples/ide-eclipse/tilaunchpad_msp430g2/.project
new file mode 100644
index 00000000..14e9c185
--- /dev/null
+++ b/examples/ide-eclipse/tilaunchpad_msp430g2/.project
@@ -0,0 +1,27 @@
+
+
+ tilaunchpad_msp430g2
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.core.ccnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/examples/ide-eclipse/tilaunchpad_msp430g2/Makefile b/examples/ide-eclipse/tilaunchpad_msp430g2/Makefile
new file mode 100644
index 00000000..eb5632a0
--- /dev/null
+++ b/examples/ide-eclipse/tilaunchpad_msp430g2/Makefile
@@ -0,0 +1,5 @@
+all:
+ platformio run -t upload
+
+clean:
+ platformio run -t clean
diff --git a/examples/ide-eclipse/tilaunchpad_msp430g2/platformio.ini b/examples/ide-eclipse/tilaunchpad_msp430g2/platformio.ini
new file mode 100644
index 00000000..55a857bc
--- /dev/null
+++ b/examples/ide-eclipse/tilaunchpad_msp430g2/platformio.ini
@@ -0,0 +1,9 @@
+# Copyright (C) Ivan Kravets
+# See LICENSE for details.
+
+[env:launchpad_msp430g2]
+platform = timsp430
+board_mcu = msp430g2553
+board_f_cpu = 16000000L
+
+upload_protocol = rf2500
diff --git a/examples/ide-eclipse/tilaunchpad_msp430g2/src/main.c b/examples/ide-eclipse/tilaunchpad_msp430g2/src/main.c
new file mode 100644
index 00000000..38a421a5
--- /dev/null
+++ b/examples/ide-eclipse/tilaunchpad_msp430g2/src/main.c
@@ -0,0 +1,26 @@
+/**
+ * Copyright (C) Ivan Kravets
+ * See LICENSE for details.
+ */
+
+#include
+
+int main(void)
+{
+ WDTCTL = WDTPW + WDTHOLD;
+
+ // make the LED pin an output for P1.0
+ P1DIR |= 0x01;
+
+ volatile int i;
+
+ while (1)
+ {
+ for (i = 0; i < 10000; i++);
+
+ // toggle the LED
+ P1OUT ^= 0x01;
+ }
+
+ return 0;
+}
diff --git a/examples/ide-eclipse/titiva_lm4f120/.cproject b/examples/ide-eclipse/titiva_lm4f120/.cproject
new file mode 100644
index 00000000..45fa200d
--- /dev/null
+++ b/examples/ide-eclipse/titiva_lm4f120/.cproject
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/ide-eclipse/titiva_lm4f120/.project b/examples/ide-eclipse/titiva_lm4f120/.project
new file mode 100644
index 00000000..36085734
--- /dev/null
+++ b/examples/ide-eclipse/titiva_lm4f120/.project
@@ -0,0 +1,27 @@
+
+
+ titiva_lm4f120
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.core.ccnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/examples/ide-eclipse/titiva_lm4f120/Makefile b/examples/ide-eclipse/titiva_lm4f120/Makefile
new file mode 100644
index 00000000..eb5632a0
--- /dev/null
+++ b/examples/ide-eclipse/titiva_lm4f120/Makefile
@@ -0,0 +1,5 @@
+all:
+ platformio run -t upload
+
+clean:
+ platformio run -t clean
diff --git a/examples/ide-eclipse/titiva_lm4f120/platformio.ini b/examples/ide-eclipse/titiva_lm4f120/platformio.ini
new file mode 100644
index 00000000..7e915752
--- /dev/null
+++ b/examples/ide-eclipse/titiva_lm4f120/platformio.ini
@@ -0,0 +1,8 @@
+# Copyright (C) Ivan Kravets
+# See LICENSE for details.
+
+[env:launchpad_lm4f120]
+platform = titiva
+framework = energia
+board = lplm4f120h5qr
+targets = upload
diff --git a/examples/ide-eclipse/titiva_lm4f120/src/main.c b/examples/ide-eclipse/titiva_lm4f120/src/main.c
new file mode 100644
index 00000000..c943670e
--- /dev/null
+++ b/examples/ide-eclipse/titiva_lm4f120/src/main.c
@@ -0,0 +1,42 @@
+/**
+ * Copyright (C) Ivan Kravets
+ * See LICENSE for details.
+ */
+
+#define false 0
+#define true 1
+typedef int bool;
+
+#include
+#include "inc/hw_memmap.h"
+#include "driverlib/gpio.h"
+#include "driverlib/sysctl.h"
+
+#define LED_RED GPIO_PIN_1
+#define LED_BLUE GPIO_PIN_2
+#define LED_GREEN GPIO_PIN_3
+
+int main(void)
+{
+ SysCtlClockSet(
+ SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
+
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
+ GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN);
+
+ while (1)
+ {
+ GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_RED);
+ SysCtlDelay(3000000);
+ GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_BLUE);
+ SysCtlDelay(3000000);
+ GPIOPinWrite(GPIO_PORTF_BASE, LED_RED|LED_BLUE|LED_GREEN, LED_GREEN);
+ SysCtlDelay(3000000);
+ }
+
+ return 0;
+}
+
+// hook for Energia main.cpp where these methods are defined
+void setup() {}
+void loop() {}